Skip to main content
Glama

Hyreflow

hyreflow_tools_execute

Destructive

Execute a Hyreflow tool method against live data providers. Charges credits at the described cost; dry_run: true returns a quote without running. Waterfall tools such as people_search take only payload. Enrichment waterfalls (email_enrichment, personal_email, linkedin_profile, phone_enrichment) also accept rows: up to 100 row objects enriched in one call, in place of payload and method. A row still processing at the provider comes back as still_enriching with a job_id, a resume {tool, method, id_arg} and, when the job is fetchable, a job {provider, job_id} handle. A still_enriching row is NOT a miss: its email is still being fetched and usually arrives within 1-2 minutes. _meta.pending counts such rows and _meta.instruction says how to re-check them (free) every _meta.poll_after_s seconds until _meta.pending is 0. A multi-row call stores its rows in a dataset (_meta.dataset_id), and a pending row completes in that dataset when its job finishes. Resending identical rows within about 15 minutes returns the first call's dataset at no charge (_meta.replayed); resending one pending row's payload starts and bills a new job. A call above the workspace's confirmation threshold returns confirmation_required with a cost estimate and a confirm_token instead of running; repeated unchanged by the same user within ten minutes, with approved_credits at or above the estimate or with the confirm_token, it runs once. A resend after that run is refused with no token, except an identical multi-row rows batch, which replays its stored dataset at no charge.

Input Schema

NameRequiredDescriptionDefault
rowsNo
toolYes
methodNo
channelNoPipeline the call serves: `work_email` (BD) or `personal` / `candidate`. A work-email-only finder (bettercontact) is refused on the personal channel.
dry_runNo
payloadNo
user_promptYesThe user's request that drove this call, verbatim as they phrased it. Recorded with the run so its trace reads as the ask followed by the calls it drove.
confirm_tokenNoThe `confirm_token` returned by a previous identical call that came back `confirmation_required`. One way to run a call above the workspace's confirmation threshold; `approved_credits` is the other.
approved_creditsNoCredits the user approved for this call after a `confirmation_required` quote. The call runs when its estimate is at or under this figure and it matches that quote.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / approved_credits
      Added value: +{
      +  "description": "Credits the user approved for this call after a `confirmation_required` quote. The call runs when its estimate is at or under this figure and it matches that quote.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • changedInput schema / properties / confirm_token / description
      Previous value: -"The `confirm_token` returned by a previous identical call that came back `confirmation_required`. Required to run a call above the workspace's confirmation threshold."New value: +"The `confirm_token` returned by a previous identical call that came back `confirmation_required`. One way to run a call above the workspace's confirmation threshold; `approved_credits` is the other."
  2. Changed2 schema fields changed
    • changedInput schema / properties / confirm_token / description
      Previous value: -"Echo of the `confirm_token` a previous identical call returned with `confirmation_required`, after the user approved the quoted cost. Only then does an above-threshold call run."New value: +"The `confirm_token` returned by a previous identical call that came back `confirmation_required`. Required to run a call above the workspace's confirmation threshold."
    • changedInput schema / properties / user_prompt / description
      Previous value: -"The user's request that drove this call, verbatim as they phrased it. Never a paraphrase, and never ask the user for it."New value: +"The user's request that drove this call, verbatim as they phrased it. Recorded with the run so its trace reads as the ask followed by the calls it drove."
  3. Changed1 schema field changed
    • addedInput schema / properties / confirm_token
      Added value: +{
      +  "description": "Echo of the `confirm_token` a previous identical call returned with `confirmation_required`, after the user approved the quoted cost. Only then does an above-threshold call run.",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes far beyond the annotations: credits are charged at the described cost, dry_run quotes without running, pending rows poll free, identical `rows` within ~15 minutes replay a stored dataset at no charge, and a resend after a run is refused. This is exactly the mutation/cost/side-effect detail an agent needs and annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Nearly every sentence carries information, but it is one undifferentiated block and repeats the replay rule twice (the 15-minute dataset replay is restated at the end as 'an identical multi-row `rows` batch... replays its stored dataset at no charge'). The critical facts – cost, dry_run, confirmation – are front-loaded, which helps.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates well by naming the response shapes: `still_enriching`, `job_id`, `resume`, `_meta.pending`, `_meta.instruction`, `_meta.poll_after_s`, `_meta.dataset_id`, `_meta.replayed`, `confirmation_required`. The main gap is that it never says how to obtain valid `tool`/`method` values, leaving discovery implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 44% schema description coverage across 9 params, the description carries real weight: it explains that `rows` accepts up to 100 objects (mirroring maxItems) and substitutes for `payload` and `method`, and it explains `confirm_token`/`approved_credits` in context of the confirmation flow. `channel` and `user_prompt` are left to the schema, and `tool`/`method` semantics (how to discover valid values) are only implied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Execute a Hyreflow tool method against live data providers', and immediately frames the charging model. It implicitly distinguishes itself from hyreflow_tools_search/describe (discovery vs execution) but never names those siblings, so an agent must infer the routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete operational conditions: `dry_run: true` for a quote, `rows` for enrichment waterfalls instead of `payload`/`method`, waterfall tools take only `payload`, and the confirmation-threshold path is spelled out. Missing explicit guidance on when to prefer this over hyreflow_enrich_run or hyreflow_workflow_run, so not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.