Skip to main content
Glama

100Hires - AI ATS & Recruitment Software

Server Details

Official 100Hires MCP: AI ATS & Recruitment Software for candidates, jobs, applications, interviews.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
100Hires/mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 131 of 131 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation3/5

Many tools have similar purposes (e.g., advance vs move vs batch_move for applications, multiple upload variations). Descriptions distinguish them, but the sheer volume (131 tools) makes it hard for an agent to reliably select the right one without careful reading. Some pairs like list_candidate_tags vs list_tags could cause confusion.

Naming Consistency5/5

All tools follow a consistent 'hires_verb_noun' pattern (e.g., hires_create_candidate, hires_list_applications). Verbs like list, get, create, update, delete are used predictably. No mixing of camelCase or other conventions.

Tool Count2/5

With 131 tools, the set is excessively large for a single MCP server. While some redundancy exists (e.g., multiple move/advance tools), many tools could be consolidated or parameterized. This overload increases cognitive load and risks context window issues.

Completeness4/5

The tool surface covers a broad ATS lifecycle: candidates, jobs, applications, interviews, notes, messages, nurture campaigns, forms, templates, webhooks, and taxonomy. Missing advanced features like detailed analytics or reporting, but core operational needs are well addressed.

Available Tools

131 tools
hires_add_candidate_tagsAInspect

Add one or more tags to a candidate. Used for campaign tagging, qualification labels, and source attribution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
tagsYesArray of tag strings to add.
Behavior3/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds that it is an additive operation (adding tags), which is consistent. No behavioral surprises are disclosed, but no contradictions exist.

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

Conciseness5/5

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

The description is extremely concise: two sentences that immediately state the action, resource, and use cases. Every sentence adds value, and there is no unnecessary text.

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?

Given the tool's simplicity (2 parameters with 100% schema coverage) and no output schema, the description adequately covers the tool's purpose and usage context. It could be more complete by noting whether duplicate tags are handled, but that is a minor gap.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for both 'id' and 'tags'. The description does not add significant semantic detail beyond what the schema provides, but it reiterates that tags are added ('one or more tags'), which is already implicit.

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

Purpose5/5

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

The description clearly states the action ('Add'), the resource ('tags to a candidate'), and enumerates specific use cases ('campaign tagging, qualification labels, and source attribution'). It distinguishes from siblings like 'hires_batch_add_tags' (batch operation) and 'hires_remove_candidate_tag' (removal).

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?

The description provides context for when to use the tool (campaign tagging, qualification labels, source attribution) but does not explicitly state when not to use it or compare to alternative tools like the batch version. However, the sibling list implies differentiation.

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

hires_add_hiring_team_memberAInspect

Add a company member to the job's hiring team. Use in workflow setup and ownership automation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
user_idYesUser ID to add to the hiring team.
Behavior3/5

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

Annotations already indicate the tool is not read-only and not destructive. The description adds the context of workflow automation but does not disclose additional behavioral details like permission requirements or side effects.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the action, and contains no unnecessary words.

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?

Given the tool's simplicity and the annotations covering readOnlyHint and destructiveHint, the description is largely complete, though it could mention that the user must be a company member.

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

Parameters3/5

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

Input schema coverage is 100%, so the schema already documents both parameters. The description does not add any extra meaning beyond what is in the schema.

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

Purpose5/5

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

The description uses a specific verb ('Add') and resource ('company member to the job's hiring team'), clearly distinguishing it from sibling tools like hires_list_hiring_team.

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?

The description mentions 'workflow setup and ownership automation,' providing context for when to use, but does not explicitly exclude alternatives or state when not to use.

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

hires_advance_applicationAdvance application to next stageA
Destructive
Inspect

Advance an application to the next pipeline stage according to workflow order. No stage_id needed -- the system determines the next stage automatically. Always pass include=candidate,job when surfacing results in the widget — without it, the confirmation card can only show candidate/job IDs and cannot link to their backoffice pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
includeNoComma-separated relations to embed: candidate, cv.text, job. Set to `candidate,job` so the widget can link the candidate name to their profile and the job title to its pipeline view.
Behavior3/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the description's confirmation of a write operation adds little. The description does add context about automatic stage determination and widget behavior, but does not detail side effects like notification triggering or irreversibility beyond the annotation.

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

Conciseness5/5

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

Three sentences with no wasted words: first sentence defines purpose, second explains key behavior (automatic stage), third gives actionable widget guidance. Information is front-loaded and easy to parse.

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?

For a simple advancement action without output schema, the description covers core behavior and a critical usage detail. However, it could mention potential side effects (e.g., notifications, irreversible state changes) or error cases, but the annotations partially cover destructive nature.

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?

The schema already covers parameter descriptions (100% coverage). The description adds significant value by explaining the 'include' parameter's practical impact on widget linking, going beyond the schema's basic description. The 'id' parameter is adequately covered by schema.

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

Purpose5/5

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

The description clearly states the action: 'Advance an application to the next pipeline stage according to workflow order.' It uses specific verbs and resources, and distinguishes from sibling tools like 'move_application' or 'reject_application' by emphasizing automatic stage progression without requiring a stage_id.

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?

The description explains when to use this tool (to advance without specifying a stage) and provides practical guidance for the 'include' parameter in widget contexts. However, it does not explicitly state when not to use this tool or mention alternatives like 'move_application' for manual stage selection.

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

hires_batch_add_tagsAInspect

Add tags to multiple candidates in one request (max 100). Returns per-item results with partial success support.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesCandidate IDs to tag (max 100).
tagsYesTag names to attach.
Behavior4/5

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

Beyond annotations (which indicate mutation but not destructive), the description discloses key behaviors: a maximum of 100 candidates per request, and partial success support with per-item results. This provides useful operational context that the annotations do not cover.

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

Conciseness5/5

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

Two concise sentences that efficiently convey the core function, limit, and return behavior. No wasted words, front-loaded with purpose and key constraints.

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

Completeness5/5

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

For a simple batch tag addition with 2 parameters and no output schema, the description covers the essential aspects: batch size limit and partial success. It is complete enough for an agent to correctly select and invoke the tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters. The description adds minimal additional meaning beyond restating the max limit for ids, which is also in the schema. A score of 3 is appropriate as the description doesn't significantly enhance parameter understanding.

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

Purpose5/5

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

The description clearly states the verb 'Add' and the resource 'tags to multiple candidates', and distinguishes itself from singular adds by emphasizing batch and max 100 limit. It also mentions the return format with per-item results and partial success support, leaving no ambiguity about its purpose.

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?

The description implies using this tool for adding tags to multiple candidates in one request, contrasting with a singular add (hires_add_candidate_tags). However, it does not explicitly state when not to use it or mention alternatives, though the batch nature is clear enough.

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

hires_batch_create_messagesAInspect

Create up to 100 scheduled messages in one request. Each item specifies its own candidate_id and message payload. Items are processed independently -- one failure does not stop others. Per-candidate RBAC is enforced for each item.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesArray of message payloads to create (max 100).
Behavior4/5

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

Annotations indicate readOnlyHint=false, openWorldHint=true, destructiveHint=false, consistent with creation. The description adds behavioral context: independent processing, RBAC per candidate, and the 100 limit, all beyond annotations.

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

Conciseness5/5

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

Three sentences, front-loaded with the main function, no redundancy or fluff. Every sentence adds value.

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?

Given the nested array and batch complexity, the description covers batch size, independent processing, and RBAC. No output schema, but return values are not explicitly needed. Could mention error handling, but not required.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all sub-properties. The description doesn't add new parameter details; it only notes behavior. Baseline 3 is appropriate as the schema carries the load.

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

Purpose5/5

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

The description starts with 'Create up to 100 scheduled messages in one request,' clearly stating the verb (create), resource (scheduled messages), and batch nature. It distinguishes from siblings like 'hires_send_candidate_message' (single) and 'hires_patch_message' (update).

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?

The description specifies that items are processed independently with per-candidate RBAC enforcement. It implies when to use (batch creation) but doesn't explicitly state when not to use (e.g., need for atomicity). Still clear guidance.

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

hires_batch_job_boardsA
Read-only
Inspect

Get board publication states for multiple jobs in one request. Optimized for batch monitoring and management UIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobsYesArray of job IDs
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds context about batch optimization, which is consistent and helpful but does not reveal additional behavioral traits beyond what annotations provide.

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

Conciseness5/5

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

Two sentences efficiently convey purpose and usage context with no unnecessary words. The structure is front-loaded and each sentence adds value.

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?

For a simple read tool with one parameter and no output schema, the description is mostly complete. It explains the batch nature and UI use case, though it could optionally clarify the response format or constraints on the array size.

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

Parameters3/5

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

With 100% schema coverage, the description adds no extra meaning to the parameter. The schema already describes 'jobs' as an array of job IDs, so the description's lack of additional detail is acceptable but does not enhance understanding.

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

Purpose5/5

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

The description clearly states the tool retrieves board publication states for multiple jobs in one request, distinguishing it from single-job board status checks or batch publish/remove operations. The verb 'Get' and resource 'board publication states for multiple jobs' are specific and unambiguous.

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?

The description mentions optimization for batch monitoring and management UIs, providing clear context for when to use this tool. It does not explicitly state when not to use or name alternatives, but the sibling tools list implies alternatives for single-job or write operations.

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

hires_batch_move_applicationsA
Destructive
Inspect

Move multiple applications to a pipeline stage in one request. Returns per-item results with partial success support. Max 100 application IDs per request.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesApplication IDs to move (max 100).
stage_idYesTarget pipeline stage ID.
Behavior4/5

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

Discloses batch nature, partial success, and max limit. Annotations already indicate mutability (destructiveHint=true), and description adds value beyond that.

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

Conciseness5/5

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

Two sentences, no redundancy. Front-loaded with purpose and key constraints.

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?

Given rich annotations and complete schema, description covers all necessary behavioral aspects for a batch operation. No output schema, but partial success and per-item results are noted.

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

Parameters3/5

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

Schema coverage is 100%, so description adds little beyond schema. Mentions max 100, which is already in schema. No additional nuance for stage_id.

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

Purpose5/5

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

Clearly states the tool moves multiple applications to a pipeline stage, distinguishing it from single-application moves like 'hires_move_application'. Includes batch limit and partial success detail.

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?

Implies use for batch moves with a max of 100 IDs, and partial success. Does not explicitly state when not to use it, but sibling tool names provide context.

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

hires_batch_publish_to_boardsAInspect

Activate board publication for multiple jobs in one request. Use for bulk job distribution workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobsYesArray of job IDs to publish
boardsNoArray of board identifiers to activate (e.g. ['indeed', 'linkedin'])
Behavior3/5

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

Annotations already indicate non-read-only (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds 'Activate' which is consistent but does not provide additional behavioral context beyond the annotations.

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

Conciseness5/5

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

Two short sentences, front-loaded with the key verb and purpose, no unnecessary words.

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?

For a simple tool with two parameters, no output schema, and informative annotations, the description is adequate. It explains the core action and use case, though it could briefly mention the required parameters.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for both 'jobs' and 'boards'. The description does not add any new meaning or examples beyond what is in the schema, so baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's verb 'Activate board publication' for 'multiple jobs', distinguishing it from sibling tools like hires_publish_to_job_board (single job) and hires_batch_remove_from_boards (removal).

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?

The description includes 'Use for bulk job distribution workflows' which implies batch usage, but does not explicitly contrast with single-job alternatives or specify when not to use.

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

hires_batch_reject_applicationsA
Destructive
Inspect

Reject multiple applications in one request with an optional rejection reason. Returns per-item results with partial success support. Max 100 application IDs per request.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesApplication IDs to reject (max 100).
rejection_reason_idNoOptional rejection reason ID.
Behavior4/5

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

Description adds details not in annotations: returns per-item results with partial success support and max 100 limit. Annotations already indicate destructive and non-read-only behavior. No contradictions.

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

Conciseness5/5

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

Two sentences, no fluff. Action first, then outcome and constraint. Efficiently communicates all needed information.

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, but description compensates by describing response (per-item results, partial success). Includes limit and optional reason. Adequate for batch operation; could mention if rejection triggers notifications, but not critical.

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?

Schema coverage is 100%, so baseline 3. Description adds value by explaining the batch nature and partial success, though param descriptions are already adequate. Enhances understanding beyond schema.

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

Purpose5/5

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

The description clearly states 'Reject multiple applications in one request' with optional reason, distinguishing it from single-application reject (hires_reject_application) and delete (hires_delete_application). It also specifies batch capacity and partial success behavior.

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?

The description indicates batch context and max 100 IDs, which implies use over single reject when multiple applications are involved, but does not explicitly exclude individual reject use cases or mention alternatives.

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

hires_batch_remove_from_boardsA
Destructive
Inspect

Deactivate board publication for multiple jobs in one request. Use for bulk depublishing workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobsYesArray of job IDs to depublish
boardsNoArray of board identifiers to deactivate (e.g. ['indeed', 'linkedin'])
Behavior3/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the description's mention of 'deactivate' adds little behavioral detail. It adds context about batch scope, which is useful but not extensive.

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

Conciseness5/5

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

Two sentences: the first states the action, the second gives usage guidance. No unnecessary words, front-loaded key information.

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?

Covers what it does and when to use it, which is sufficient for a batch operation. However, it does not mention what happens if 'boards' is omitted (e.g., remove from all boards) or the return value. No output schema, but that's acceptable.

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

Parameters3/5

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

Schema description coverage is 100%; both parameters have clear descriptions. The tool description does not add extra meaning beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states 'Deactivate board publication for multiple jobs in one request,' using a specific verb and resource. It distinguishes itself from siblings like 'hires_batch_publish_to_boards' (opposite action) and 'hires_remove_from_job_board' (single job).

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?

The description says 'Use for bulk depublishing workflows,' providing clear context. It implies that for single jobs, one should use the single-removal tool, but does not explicitly name the alternative.

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

hires_batch_remove_tagsA
Destructive
Inspect

Remove tags from multiple candidates in one request (max 100). Returns per-item results with partial success support.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesCandidate IDs to remove tags from (max 100).
tagsYesTag names to remove.
Behavior4/5

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

Annotations already indicate destructiveHint=true, but the description adds valuable context: per-item results with partial success support, meaning some removals may succeed while others fail. It also reinforces the max 100 limit. No contradictions with annotations.

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

Conciseness5/5

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

Single, well-structured sentence that front-loads the action and resources. Every word serves a purpose; no redundant or filler content.

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?

The description explains the return behavior (per-item results, partial success) despite no output schema. For a 2-param batch tool without nested objects, it covers the essential aspects. Minor gap: no mention of prerequisites (e.g., candidate existence), but not critical given the tool's simplicity.

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

Parameters3/5

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

Both parameters are fully described in the input schema (100% coverage), so the description adds minimal new meaning. It restates the 'max 100' for ids, but the schema already includes that. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (remove tags), the resource (multiple candidates), constraints (max 100), and outcome (per-item results with partial success). It effectively distinguishes from siblings like hires_remove_candidate_tag (singular) and hires_batch_add_tags (opposite action).

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?

The description implies batch use with max 100 and partial success, but does not explicitly state when to use this tool over alternatives like hires_remove_candidate_tag or when not to use it (e.g., single candidate). The context is clear but lacks explicit when-to-use or when-not-to-use guidance.

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

hires_cancel_all_notification_messagesA
Destructive
Inspect

Cancel all scheduled notification emails for a candidate. Already sent notifications are not affected. Returns success even if no scheduled notifications exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
candidate_idYesCandidate ID (numeric) or alias.
Behavior4/5

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

The description adds value beyond annotations by explaining that already sent notifications are unaffected and that the call returns success even if no scheduled notifications exist. Annotations only indicate destructiveHint=true, so the description supplements this with non-obvious edge-case behavior.

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

Conciseness5/5

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

The description is extremely concise with exactly two sentences. The first sentence states the primary action and scope; the second clarifies edge cases. No unnecessary information is included.

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

Completeness5/5

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

Given the simple tool (one parameter, no output schema, annotations provided), the description covers all essential aspects: what it does, what is not affected, and return behavior. It is fully complete for the complexity level.

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

Parameters3/5

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

The schema covers the single parameter fully (candidate_id: numeric or alias). The description does not add further parameter-specific meaning, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly specifies the verb 'cancel' and the resource 'scheduled notification emails' for a candidate. It distinguishes from sibling tools like 'hires_delete_notification_message' by indicating it cancels all scheduled messages, not a single one.

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?

The description states when to use (to cancel scheduled notifications) and clarifies that already sent notifications are not affected. It provides context for the operation but does not explicitly mention alternatives or when not to use it.

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

hires_create_applicationAInspect

Create an application by linking an existing candidate to a job. Use for sourcing workflows and manual application ingestion. The candidate must already exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
cvNoOptional CV/resume to attach.
job_idYesJob ID to apply the candidate to.
includeNoComma-separated relations to embed: candidate, cv.text, job.
stage_idNoPipeline stage ID. If omitted, defaults to the first stage.
candidate_idYesCandidate ID (numeric) or alias.
Behavior4/5

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

Annotations indicate readOnlyHint=false (write operation) and destructiveHint=false (no destruction), which align with the description. The description adds key behavioral context: the candidate must exist before using this tool, which is a critical prerequisite not obvious from the schema alone.

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

Conciseness5/5

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

The description is three concise sentences, front-loaded with the core action and purpose, with no wasted words.

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?

The description covers the essential context for a creation tool: purpose, prerequisite, and usage scenario. The nested object (cv) and other parameters are documented in the schema. No output schema exists, so that is not a gap. Adequate for the tool's complexity.

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

Parameters3/5

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

The input schema has 100% parameter description coverage, so the description does not need to add extra meaning. The description does not elaborate on parameters beyond the schema, but this is acceptable given full schema coverage.

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

Purpose5/5

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

The description clearly states the action (create an application), the resources (existing candidate and job), and the workflow context (sourcing and manual ingestion). It distinguishes from sibling tools like hires_submit_career_application and hires_create_candidate.

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?

The description explicitly recommends usage for sourcing workflows and manual application ingestion, and states the prerequisite that the candidate must already exist. While it doesn't explicitly list when not to use, the context is clear enough.

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

hires_create_candidateAInspect

Create a new candidate profile. Optionally link to a job/stage and attach the candidate's resume as extracted text. Used for imports, inbound forms, and enrichment workflows. When the user provides an attached resume (PDF/DOCX/etc.), parse the file content yourself from the chat context — LLMs natively extract text from uploaded files — and pass the extracted text via resume_text. Do NOT attempt to inline binary file data: host function-call serializers truncate arguments above ~20KB.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCandidate city for location/timezone resolution.
emailNoCandidate email address. Used for deduplication.
phoneNoCandidate phone number.
stateNoCandidate state or region.
job_idNoJob ID to create an application for this candidate.
countryNoCandidate country name or ISO code.
profileNoKey-value map of profile field answers. Keys can be question text or question_id. Example: {"Current job title": "Senior Engineer"}.
stage_idNoPipeline stage ID for the initial application. Requires job_id.
timezoneNoIANA timezone (e.g. 'America/Los_Angeles'). Auto-resolved from city/country if omitted.
last_nameNoCandidate last name.
company_idNoTarget company ID. Required only when the API key has access to multiple companies.
first_nameNoCandidate first name.
resume_textNoPlain-text resume content extracted by the model from an attached PDF/DOCX/etc. Stored as a text/plain attachment on the candidate. Do not pass binary or base64 here — only the parsed text content.
Behavior4/5

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

Beyond annotations (which indicate non-read-only, non-destructive), the description adds a critical behavioral detail: the truncation issue with binary data due to serializer limits, and the instruction to extract text from chat context. This helps the agent avoid failed invocations. No contradiction with annotations.

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

Conciseness5/5

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

The description is concise (3 sentences) and front-loaded with the core purpose, followed by usage scenarios and a critical implementation warning. Every sentence adds value, and there is no redundancy or filler.

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?

Given the tool's complexity (13 parameters, nested objects, no output schema), the description covers the essential purpose, usage context, and a major implementation pitfall. It is missing a brief note about the return value (e.g., 'Returns the created candidate resource'), but this is a minor omission.

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

Parameters3/5

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

The input schema has 100% parameter description coverage, so the description's role in adding semantic value is limited. While it reinforces the resume_text parameter's usage and explains the 'why' behind the constraint, it does not elaborate on other parameters beyond the schema. Baseline score is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Create a new candidate profile.' It specifies optional actions (link to job/stage, attach resume) and distinguishes itself from sibling tools by mentioning typical use cases like imports and inbound forms.

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?

The description provides context for when to use the tool ('Used for imports, inbound forms, and enrichment workflows') and gives explicit guidance on handling resume text, including what not to do (avoid binary data). However, it does not explicitly exclude scenarios like updates, though that is implied by the tool name.

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

hires_create_companyAInspect

Create a client company (partner tenant) — provisions its public career-site URL (slug) and public branding (logo, name). Typical entrypoint for multi-tenant onboarding.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoCompany profile URL
logoNoCompany logo file
nameYesCompany name
websiteNoCompany website URL
company_owner_nameYesCompany owner full name
is_staffing_agencyNoWhether this company is a staffing agency
company_owner_emailYesCompany owner email address
company_owner_phoneNoCompany owner phone number
Behavior3/5

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

Annotations provide readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds that it provisions a career-site URL and branding, offering some behavioral insight. However, given openWorldHint=true, more detail on potential side effects or required permissions would enhance transparency.

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

Conciseness5/5

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

The description is two concise sentences, front-loading the primary action and purpose. Every sentence is informative with no redundancy or filler.

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?

Given the tool has 8 parameters (3 required), a nested object, and no output schema, the description adequately covers the main purpose and typical usage. It could benefit from mentioning what the tool returns or post-creation effects, but overall it is sufficiently complete.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are already documented. The description does not add significant new meaning beyond what the schema provides, meeting the baseline expectation of 3.

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

Purpose5/5

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

The description clearly identifies the action (Create), the resource (client company/partner tenant), and key provisions (career-site URL/slug, logo, name). It distinguishes from siblings by specifying the unique function of creating a company rather than other entities.

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?

The description states it is a 'typical entrypoint for multi-tenant onboarding', providing clear context for when to use this tool. It does not explicitly list when not to use or alternatives, but the context is sufficient for an AI agent to infer appropriate usage.

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

hires_create_email_templateAInspect

Create a new email template with name, subject, and body. Subject and body support placeholders like {{first_name}}, {{job_title}}. To embed placeholders: 1) GET /template-placeholders to list them, 2) POST /template-placeholders/prepare to get the HTML tag, 3) insert the tag into the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesEmail body HTML (supports placeholders)
nameYesTemplate name
subjectYesEmail subject line (supports placeholders like {{first_name}}, {{job_title}})
company_idNoTarget company ID
Behavior4/5

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

Aligns with annotations (write operation) and adds context about placeholder embedding workflow. Discloses that the body accepts HTML with placeholders; however, missing details on response format or error states.

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

Conciseness5/5

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

Two sentences: first states action and key fields, second provides actionable steps. Front-loaded, no redundant information, every sentence earns its place.

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?

Covers creation and placeholder embedding adequately. The optional company_id parameter is not referenced, and no output schema exists to explain the response, but the tool complexity is low.

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 100% schema coverage, baseline is 3. The description adds value by explaining placeholder syntax and the embedding process, going beyond the schema's property descriptions.

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

Purpose5/5

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

The description clearly states 'Create a new email template' with specific fields (name, subject, body), distinguishing it from siblings like hires_update_email_template and hires_list_email_templates.

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?

Provides explicit step-by-step instructions for embedding placeholders, referencing auxiliary endpoints (GET /template-placeholders, POST /template-placeholders/prepare). Does not explicitly disclaim when not to use or mention alternatives for simple templates, but the guidance is clear.

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

hires_create_formBInspect

Create a new application form, optionally attaching existing questions by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesForm name.
questionsNoArray of question IDs to attach to this form.
company_idNoTarget company ID.
Behavior2/5

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

Annotations already indicate not read-only and not destructive. The description adds minimal behavioral context (e.g., optional questions) but does not disclose permissions, limits, or side effects beyond what annotations imply.

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

Conciseness5/5

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

Single sentence that is clear and concise, stating the main action and the optional feature without any extraneous words.

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?

Given no output schema and simple parameters, the description combined with schema provides sufficient context. However, it could mention that 'company_id' is optional (as per schema) to enhance completeness.

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

Parameters3/5

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

Schema covers all parameters with descriptions. The description adds value by noting 'optionally attaching existing questions by ID', which aligns with the 'questions' parameter, but does not mention 'company_id'. Baseline of 3 is appropriate given high schema coverage.

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

Purpose5/5

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

The description clearly states 'Create a new application form' with a specific verb and resource, and distinguishes from sibling tools like 'hires_create_question' by mentioning attachment of existing questions.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'hires_update_form' or 'hires_create_question'. The description merely states what it does without any context for selection.

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

hires_create_interviewAInspect

Schedule a new interview for an application. Provide start/end times as Unix timestamps and a list of interviewer user IDs. Location is resolved to an existing record or created automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
includeNoComma-separated relations to embed: candidate, application, job.
end_timeYesInterview end time as Unix timestamp (seconds, must be after start_time).
locationNoLocation string; resolved to existing record or created automatically.
start_timeYesInterview start time as Unix timestamp (seconds).
interviewer_idsYesList of user IDs who will conduct the interview.
Behavior3/5

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

Annotations (readOnlyHint: false, destructiveHint: false) provide no behavioral insight. The description adds that location is 'resolved to an existing record or created automatically,' which is a useful trait, but it omits other side effects or return behavior.

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

Conciseness5/5

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

The description is extremely concise: two sentences with no filler. It front-loads the purpose and then lists key input requirements efficiently.

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

Completeness3/5

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

Given the tool's complexity (creation with 6 parameters) and no output schema, the description would benefit from mentioning the return value (e.g., interview object). It adequately covers inputs but misses this important context.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra meaning (e.g., that timestamps are in seconds) but does not significantly enhance understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the action: 'Schedule a new interview for an application.' It uses a specific verb and resource, distinguishing it from related siblings like hires_list_interviews (listing) and hires_get_interview (retrieval).

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

Usage Guidelines3/5

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

The description implies usage by specifying required inputs (start/end times as Unix timestamps, interviewer IDs) but lacks explicit guidance on when to use vs. alternatives, prerequisites (e.g., application must exist), or when not to use this tool.

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

hires_create_jobAInspect

Create a job with taxonomy, location, salary, and workflow configuration. Primary endpoint for programmatic job publishing. Required fields: status, title, description, location_city, location_country.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPublic job title.
statusYesJob status (e.g. Draft, Public). See GET /taxonomy/statuses.
form_idNoApplication form ID. If omitted, a new form named after the job title is created with default questions.
includeNoComma-separated related resources to embed: workflow, hiring_team, pipeline_stages
is_remoteNoWhether this is a remote position.
company_idNoTarget company ID. Required only when the API key has access to multiple companies.
salary_maxNoMaximum salary.
salary_minNoMinimum salary.
category_idNoJob category ID from GET /taxonomy/categories.
descriptionYesJob description (HTML allowed).
workflow_idNoWorkflow ID. If omitted, a new workflow named after the job title is created with default stages.
department_idNoDepartment ID from GET /taxonomy/departments.
location_cityYesJob city.
parent_job_idNoCanonical parent job ID. If provided, the created job becomes a satellite job.
salary_periodNoSalary period.
internal_titleNoInternal-only title visible to the hiring team.
location_stateNoJob state or region.
internal_job_idNoExternal reference ID from your ATS or HR system.
salary_currencyNoSalary currency code (e.g. USD, EUR).
location_countryYesJob country.
education_level_idNoEducation level ID from GET /taxonomy/education-levels.
employment_type_idNoEmployment type ID from GET /taxonomy/employment-types.
knockout_questionsNoBoolean knockout questions added to the application form.
ai_scoring_criteriaNoAI scoring criteria for evaluating candidates. Diff-replace by id: items with id update existing, items without id create new, existing criteria not in payload are removed. Pass [] to detach all.
experience_level_idNoExperience level ID from GET /taxonomy/experience-levels.
resume_field_statusNoResume field behavior on the application form.
location_postal_codeNoPostal or ZIP code.
location_full_addressNoFull formatted address.
location_street_addressNoStreet address.
Behavior3/5

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

Annotations already indicate readOnlyHint=false (write operation) and destructiveHint=false. The description adds that it creates a job with taxonomy, location, salary, and workflow configuration, which is helpful. However, it does not disclose the automatic creation of forms or workflows when not provided, a significant behavioral detail evident from the schema.

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

Conciseness5/5

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

Two clear sentences, no wasted words. Efficiently conveys purpose, primary use, and required fields. Well-structured and front-loaded.

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

Completeness2/5

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

Despite high complexity (29 parameters, no output schema), the description fails to mention the return value or response structure. It also omits key behavioral details like auto-creation of forms/workflows. The description is incomplete for robust tool selection and invocation.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already fully documents parameters. The description adds a concise summary of required fields, which is useful but does not add meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

Description specifies 'Create a job' with clear verb and resource, and adds context 'Primary endpoint for programmatic job publishing'. The name 'hires_create_job' and listed required fields make the purpose unambiguous and distinguish it from sibling tools like 'hires_update_job'.

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?

The description states it's the 'primary endpoint for programmatic job publishing', giving clear usage context. It lists the required fields. However, it does not explicitly state when alternatives (like 'hires_update_job') should be used or when not to use this tool.

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

hires_create_job_webhookAInspect

Register a webhook URL for job-related events. Core step for outbound integration setup. URL must be HTTPS.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
urlYesWebhook destination URL. Must be HTTPS and point to a public host (no localhost / private / link-local IPs).
Behavior3/5

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

Annotations indicate write operation (not read-only) and not destructive; description adds URL constraint but doesn't disclose further behaviors like rate limits, idempotency, or event triggers.

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

Conciseness5/5

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

Two concise sentences with no wasted words; purpose and key constraint front-loaded.

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?

For a simple creation tool with 2 params and no output schema, the description adequately covers purpose, context, and constraint, though it could mention event types or test behavior.

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

Parameters3/5

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

Schema descriptions already cover both parameters fully (100% coverage). Description repeats but doesn't add new meaning beyond the schema.

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

Purpose5/5

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

Clearly states the verb 'register', the resource 'webhook URL for job-related events', and distinguishes from sibling hires_create_webhook by specifying job-related events.

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?

Provides context as 'core step for outbound integration setup' and a constraint 'URL must be HTTPS', but lacks explicit when-to-use vs alternatives or exclusions.

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

hires_create_noteCreate noteAInspect

Create a discussion note for a candidate. Supports visibility control (all or private) and @mentions with email notifications. Always pass include=candidate when surfacing results in the widget — without it, the confirmation card can only show the candidate ID and cannot link to their backoffice profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesNote content. Supports HTML.
includeNoInclude related resources, e.g. 'user' for author details, 'candidate' for full candidate object with url_backoffice. Set to `candidate` so the widget can link the candidate name to their backoffice profile.
user_idNoAuthor user ID. If omitted, the authenticated user is used
visibilityNoVisibility: 'all' (default) or 'private'
candidate_idYesCandidate ID (numeric) or alias
mention_user_idsNoArray of user IDs to mention. Mentioned users receive email notifications.
Behavior4/5

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

The description discloses key behavioral traits beyond the annotations: it supports visibility control (all/private) and @mentions that trigger email notifications. It also explains a UI consequence of omitting the include parameter. Annotations only indicate non-read-only and non-destructive, so the description adds significant value.

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

Conciseness5/5

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

The description is three sentences with no wasted words. The first sentence states the purpose, the second adds features, and the third provides a crucial usage tip. Information is front-loaded and every sentence earns its place.

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

Completeness3/5

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

The description adequately explains the tool's purpose and key features, but lacks information on return values or expected confirmation. Since there is no output schema, the agent would benefit from knowing what the response contains. The tip about include=candidate partially compensates, but overall completeness is moderate.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter is already documented in the schema. The description adds specific context for the 'include' parameter (widget usage), but does not elaborate on other parameters beyond what the schema provides. This meets the baseline for high coverage.

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

Purpose5/5

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

The description clearly states 'Create a discussion note for a candidate', using a specific verb and resource. It distinguishes from sibling tools by noting visibility control and @mentions, which are unique features not present in other create tools like hires_create_application.

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

Usage Guidelines3/5

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

The description provides one critical usage guideline: 'Always pass include=candidate' when used in the widget for proper backoffice linking. However, it does not give broader guidance on when to use this tool versus alternatives, nor does it specify prerequisites or exclusions.

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

hires_create_nurture_campaignAInspect

Create a nurture campaign with steps. Steps are executed sequentially; each step has a type (email, sms, voicemail, move_to_next_stage, assign_tag, assign_task) with type-specific fields. Optionally bind to a workflow stage.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsYesCampaign steps (at least one required)
titleYesCampaign name
stage_idNoStage ID that triggers the campaign
timezoneNoIANA timezone, e.g. "America/New_York"
company_idNoTarget company ID (optional if API key is scoped to one company)
delay_timeNoDelay time in seconds
send_to_allNoSend to all candidates or only new ones (default false)
workflow_idNoWorkflow ID to bind the campaign to
relative_daysNoRelative days for schedule
relative_timeNoRelative time for schedule (seconds from midnight)
response_move_to_stage_idNoStage to move candidate to when they reply
Behavior4/5

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

Annotations (readOnlyHint=false, destructiveHint=false) indicate mutation without destruction. The description adds valuable context: steps are executed sequentially, each step has a type with type-specific fields, and optional binding to a workflow stage. It does not contradict annotations.

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

Conciseness5/5

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

Two concise sentences that front-load the core purpose and key details without extraneous information. Every sentence adds value.

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?

Given the complexity of the tool (11 parameters, detailed step schema) and no output schema, the description covers the essential aspects: step types, execution order, and optional workflow binding. It omits non-critical details like parameter behavior, but the comprehensive schema compensates.

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

Parameters3/5

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

Schema coverage is 100%, so the schema fully documents all parameters. The description adds minimal extra meaning—only mentioning step sequentiality and types. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it creates a nurture campaign with steps, specifies the sequential execution, enumerates step types, and mentions optional workflow stage binding. This distinguishes it from sibling tools like get/delete/update nurture campaigns.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as update or delete nurture campaigns. The description implies creation but provides no explicit context, prerequisites, or conditions for use.

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

hires_create_questionAInspect

Create a reusable question with optional answer options for dropdown types. Used by forms and questionnaires.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesQuestion text
typeYesQuestion type (from hires_list_question_types)
optionsNoAnswer options (for select/multiselect question types)
company_idNoTarget company ID (uses default company when omitted)
Behavior3/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the safety profile is known. The description adds that questions are reusable and created for forms, but does not disclose return value, error conditions, or side effects beyond what annotations provide.

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

Conciseness5/5

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

Two concise sentences with the main verb and resource upfront. No wasted words, and the information is front-loaded. Every sentence earns its place.

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?

The description adequately covers the tool's purpose and usage context. It does not mention return values (no output schema), but given the simplicity and sibling tools for retrieval, this is acceptable. It is fairly complete for a creation tool with well-documented parameters.

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

Parameters3/5

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

With 100% schema coverage, the schema already describes all four parameters. The description adds 'optional answer options for dropdown types' which maps to the 'options' parameter but is slightly less precise than the schema's 'select/multiselect'. The description adds marginal value beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'Create' and the resource 'a reusable question', and adds context about optional answer options for dropdown types and usage by forms/questionnaires. This distinguishes it from sibling tools like hires_create_form and hires_update_question.

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

Usage Guidelines3/5

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

The description implies usage for forms and questionnaires but does not provide explicit when-to-use or when-not-to-use guidance, nor does it differentiate from alternatives like hires_create_form. The context is clear but lacks exclusions.

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

hires_create_webhookAInspect

Create a company-scoped webhook subscription. Use for outbound company-level event integrations.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID
urlYesWebhook destination URL. Must be HTTPS and point to a public host (no localhost / private / link-local IPs).
Behavior3/5

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

Annotations already indicate write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). Description adds minimal extra behavioral info; no mention of side effects, rate limits, or auth requirements beyond what annotations imply.

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

Conciseness5/5

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

Two concise sentences that are front-loaded with key purpose. No superfluous words.

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

Completeness3/5

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

Given no output schema, description does not mention return value (e.g., webhook ID). Also lacks information on limits or management. Adequate but not comprehensive.

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

Parameters3/5

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

Schema covers 100% of parameters with clear descriptions. The tool description does not add additional parameter meaning beyond the schema. Baseline score of 3 is appropriate.

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

Purpose5/5

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

Description clearly states 'Create a company-scoped webhook subscription' and specifies usage for outbound company-level integrations. It distinguishes from sibling hires_create_job_webhook by indicating scope.

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?

Explicitly states the tool is for 'outbound company-level event integrations'. While it doesn't explicitly say when not to use or mention alternatives, the context of sibling tools provides differentiation.

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

hires_delete_applicationA
Destructive
Inspect

Permanently delete an application. This removes it from all list and view queries.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
Behavior3/5

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

Annotations already mark destructiveHint=true. Description adds that deletion is permanent and affects all queries, which is helpful but does not disclose side effects like cascading or irreversibility. Adds moderate value beyond annotations.

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

Conciseness5/5

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

Two concise sentences, zero filler. Information is front-loaded and directly conveys the tool's action and scope.

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?

Given simple tool with one required param, no output schema, and complete annotations, the description adequately covers purpose and effect. Minor gap: could mention permission requirements or irreversibility, but not critical.

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

Parameters3/5

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

Single parameter 'id' with description 'Application ID.' in schema (100% coverage). Description adds nothing beyond schema. Baseline 3 maintained.

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

Purpose5/5

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

Clearly states verb (delete), resource (application), and effect (permanent removal from all list and view queries). Distinguishes from siblings like hires_reject_application.

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

Usage Guidelines2/5

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

No guidance on when to use vs alternatives (e.g., reject vs delete), prerequisites, or conditions. With many sibling tools, this omission increases cognitive load for the agent.

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

hires_delete_candidateA
Destructive
Inspect

Permanently delete a candidate by ID or alias.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
Behavior3/5

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

Annotations already mark destructiveHint: true and readOnlyHint: false. The description confirms 'permanently delete,' aligning with annotations but adding little new behavioral context beyond what is already declared.

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

Conciseness4/5

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

One concise sentence with no unnecessary words. Could potentially add a note about irreversibility, but remains efficient for a simple operation.

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?

Given the tool's simplicity (1 param, no output schema) and annotations covering destructiveness, the description is mostly complete. It covers the action and identification, though side effects (e.g., cascading deletions) are not mentioned.

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

Parameters3/5

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

The single parameter 'id' is fully described in the schema (100% coverage). The description echoes 'by ID or alias' but adds no new meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the action (permanently delete), the resource (candidate), and identification method (by ID or alias). It distinguishes from siblings like hires_disqualify_candidate and hires_update_candidate.

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

Usage Guidelines3/5

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

The description implies usage for permanent removal, but does not specify when to use versus alternatives (e.g., soft delete or disqualify). No explicit exclusions or guidance.

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

hires_delete_companyA
Destructive
Inspect

Delete (soft-delete) a company — takes its public career site offline. Use for lifecycle control in partner tenancy management.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID
Behavior4/5

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

Annotations already provide destructiveHint=true and readOnlyHint=false. The description adds behavioral context beyond annotations by specifying it's a soft-delete and that it takes the career site offline, which informs the agent of the non-permanent nature and immediate effect.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with the primary action and effect. Every sentence adds value: the first states the operation and its nature, the second provides usage context. No redundant or filler content.

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?

Given the simple parameter set (one required number ID), no output schema, and annotations covering destructiveness, the description is sufficient. It explains the effect and use case. It could mention reversibility (restore_company) but is not necessary for completeness.

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

Parameters3/5

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

The schema has 100% coverage for the single parameter 'id' with description 'Company ID'. The tool description does not add any additional semantics or constraints beyond what the schema provides, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Delete (soft-delete) a company'), the specific effect ('takes its public career site offline'), and the resource. It distinguishes from other delete tools in the sibling list by specifying the company resource and mentioning soft-delete, which contrasts with hard-delete tools.

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?

The description provides a clear usage context ('Use for lifecycle control in partner tenancy management'), indicating when the tool is appropriate. However, it does not explicitly state when not to use it or mention alternatives like restore_company, which is a minor gap.

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

hires_delete_email_templateA
Destructive
Inspect

Soft-delete an email template. Templates already used in automations will stop being available for new actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEmail template ID
Behavior4/5

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

Beyond the annotations (destructiveHint=true), the description reveals this is a soft-delete and explains the impact on existing automations. This adds valuable context not present in the annotations, though it doesn't discuss permissions or reversibility.

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

Conciseness5/5

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

The description is extremely concise—two sentences that deliver the core action and a critical behavioral note without any filler. Every word earns its place.

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?

For a simple delete tool with one parameter and no output schema, the description covers the key behavioral aspect (soft-delete and automation impact). It does not mention return values or error states, but those are often implied for mutations. Overall, it is sufficiently complete for the tool's complexity.

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

Parameters3/5

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

The parameter schema provides a description for 'id' (Email template ID) with 100% coverage. The tool description does not add any further meaning or context about the parameter, so it meets the baseline but does not exceed it.

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

Purpose5/5

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

The description uses a specific verb 'soft-delete' and clearly identifies the resource 'email template'. It distinguishes from sibling delete tools (e.g., hires_delete_application) by naming the resource and adding the automation behavior, making the purpose unmistakable.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool or compare it with alternatives. There is no guidance on when not to use it (e.g., if a hard delete is needed). The effect on automations is mentioned, but decision-making context is missing.

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

hires_delete_formB
Destructive
Inspect

Delete an application form.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesForm ID.
Behavior2/5

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

The annotations already indicate destructiveHint=true, but the description adds no additional behavioral context (e.g., permanence, cascading effects, permissions). It simply states the action without elaboration.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words. However, it may be too terse to fully inform the agent.

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

Completeness2/5

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

For a destructive operation with no output schema, the description lacks crucial context about consequences (e.g., permanent deletion, whether it affects linked entities). It feels incomplete.

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

Parameters3/5

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

The single parameter 'id' is fully described in the schema ('Form ID.'), and the description adds no extra meaning. Baseline score of 3 applies as schema coverage is 100%.

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

Purpose5/5

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

The description clearly states the verb 'Delete' and the resource 'application form', directly matching the tool name and distinguishing it from other delete tools like hires_delete_application.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or restrictions. The agent is left to infer usage from the tool name alone.

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

hires_delete_jobA
Destructive
Inspect

Delete a job. Use to align archived/removed positions across integrated platforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
Behavior3/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the description's statement 'Delete' is consistent. No additional behavioral details are provided (e.g., cascading effects, irreversibility, permissions required). The description adds minimal value beyond annotations.

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

Conciseness4/5

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

The description is short (two sentences, 14 words) and front-loaded with the action. Every part contributes value, though the second sentence is somewhat generic. It is appropriately concise for a simple tool.

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?

Given the tool has a single parameter, no output schema, and destructive annotations, the description is reasonably complete. It states the core function and a use case. Could mention consequences like data removal, but annotations cover the destructive hint.

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

Parameters3/5

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

The single parameter 'id' is fully described in the schema (100% coverage) as 'Job ID (numeric) or alias'. The description does not add any information beyond what the schema already provides, meeting the baseline.

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?

The description clearly specifies the action 'Delete a job' with the resource 'job'. The phrase 'to align archived/removed positions across integrated platforms' adds context but does not explicitly differentiate from other delete tools like hires_delete_application or hires_delete_candidate, though the name itself is unambiguous.

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

Usage Guidelines3/5

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

The description suggests using the tool for alignment across integrated platforms when jobs are archived or removed, providing some usage context. However, it does not specify when not to use it, prerequisites, or alternatives (e.g., setting job status).

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

hires_delete_job_webhookA
Destructive
Inspect

Delete a job webhook subscription by ID. Use for cleanup, rotation, and endpoint migration.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
webhook_idYesWebhook ID to delete
Behavior3/5

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

Annotations already indicate destructiveHint=true, so description adds little behavioral detail beyond specifying the scope. No contradiction.

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

Conciseness5/5

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

Two efficient sentences: first describes action, second lists use cases. No redundancy.

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?

Complete enough given destructiveHint and full schema coverage. Could mention irreversibility, but annotations imply it.

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

Parameters3/5

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

Schema covers both parameters with descriptions. The tool description adds 'by ID' but does not enhance parameter understanding beyond schema.

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

Purpose5/5

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

The description clearly states the tool deletes a job webhook subscription by ID, using specific verb and resource. It distinguishes from siblings like hires_create_job_webhook and hires_list_job_webhooks.

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?

Provides explicit use cases: cleanup, rotation, endpoint migration. Lacks explicit when-not-to-use or alternatives, but context is clear.

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

hires_delete_messageA
Destructive
Inspect

Cancel a scheduled message before it is processed by the mailbox scheduler.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
Behavior4/5

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

Adds context beyond annotations: states the message is scheduled and cancellation occurs before processing. This clarifies the tool's scope and conditions, which is helpful given annotations indicate destructive behavior.

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

Conciseness5/5

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

Single sentence, front-loaded with the core action, no extraneous words. Efficient and clear.

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?

Given the simplicity (one param, no output schema, clear annotations), the description adequately covers the purpose and condition. Missing information about return value or success confirmation is minor.

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

Parameters3/5

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

Schema coverage is 100% with one parameter 'id' described as 'Message ID.' The description does not add extra meaning to the parameter, meeting the baseline for high coverage.

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?

The description clearly states the tool cancels a scheduled message before processing, with a specific verb and resource. It distinguishes from siblings like hires_delete_notification_message by focusing on scheduled messages, but does not explicitly name alternatives.

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

Usage Guidelines3/5

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

Implied usage: use when wanting to cancel an unsent scheduled message. No explicit when-not-to-use or alternatives mentioned, but context makes it clear.

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

hires_delete_noteA
Destructive
Inspect

Delete a note. Use for moderation policies and data cleanup operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNote ID
Behavior2/5

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

Annotations already declare destructiveHint=true. The description adds no behavioral details beyond 'Delete a note', such as irreversibility, permission requirements, or side effects, providing minimal additional value.

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

Conciseness5/5

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

The description is exceptionally concise with two sentences, front-loading the purpose. No extraneous information is present.

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

Completeness5/5

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

For a simple delete operation with one parameter and no output schema, the description provides sufficient purpose and context, making it complete for its complexity.

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

Parameters3/5

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

The schema has 100% coverage with a description for the 'id' parameter ('Note ID'). The description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.

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?

The description clearly states 'Delete a note' which identifies the action and resource. However, it lacks differentiation from sibling delete tools; the resource uniqueness is only implied by the name.

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

Usage Guidelines3/5

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

The description provides usage context ('moderation policies and data cleanup operations') but does not explicitly state when to use this tool over alternatives (e.g., other delete tools) or when not to use it.

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

hires_delete_notification_messageA
Destructive
Inspect

Cancel a scheduled notification email before it is sent. Already sent messages cannot be canceled.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNotification email message ID.
Behavior4/5

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

Annotations already indicate destructiveHint=true. Description adds that only scheduled (not sent) messages can be canceled, providing useful behavioral context beyond annotations.

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

Conciseness5/5

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

Two sentences, no wasted words. Purpose and constraint are front-loaded and clear.

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

Completeness5/5

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

Given the tool's simplicity (one required param, no output schema), the description covers the essential constraint (scheduled vs sent) sufficiently.

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

Parameters3/5

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

The single parameter 'id' is described in the schema. The description does not add extra meaning or usage guidance, so baseline 3 applies.

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

Purpose5/5

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

Description clearly states the tool cancels a scheduled notification email before it is sent, distinguishing it from already sent messages. This is specific and differentiates from sibling tools like hires_delete_message.

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?

Explicitly states when to use (before message is sent) and implies not to use for sent messages. However, it does not explicitly mention alternatives or provide a comprehensive when-not-to-use guide.

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

hires_delete_nurture_campaignA
Destructive
Inspect

Delete (soft-delete) a nurture campaign. Active campaign executions will be stopped.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNurture campaign ID
Behavior4/5

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

Annotations indicate destructiveHint=true, but the description adds value by stating it's a soft-delete and that active campaign executions will be stopped. This provides context beyond the destructive hint, improving transparency.

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

Conciseness5/5

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

Two short sentences, each providing essential information. The most critical detail (delete a nurture campaign) is first, followed by the behavioral side effect. No unnecessary words.

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?

Given the tool's simplicity (one parameter, no output schema), the description covers the main action and an important side effect. It does not mention reversibility or how to undo, but for a soft-delete tool, the information is largely sufficient.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter 'id', with the schema already describing it as 'Nurture campaign ID'. The description does not add extra meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description specifies the action (delete), the resource (nurture campaign), and clarifies it's a soft-delete. It distinguishes from other delete tools by naming the specific resource, and the sibling list includes various delete operations, making this clear.

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

Usage Guidelines3/5

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

The description implies usage when a nurture campaign needs to be deleted, but it does not provide explicit guidance on when to use this tool versus alternatives like updating or disabling the campaign. No exclusion criteria or alternative tool mention.

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

hires_delete_questionA
Destructive
Inspect

Delete a reusable question from the catalog. Use cautiously when deprecating question banks.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQuestion ID
Behavior3/5

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

Annotations already indicate destructiveHint=true, so the behavior is clear. The description adds 'Use cautiously' which reinforces caution but does not elaborate on consequences, cascading effects, or reversibility.

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

Conciseness5/5

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

Two sentences, each serving a distinct purpose: function statement and usage advisory. No redundant or irrelevant information.

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?

For a simple delete operation with one parameter and no output schema, the description covers purpose and usage context adequately. However, it could briefly mention what happens upon deletion (e.g., removal from all forms) to be fully complete.

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

Parameters3/5

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

With schema description coverage at 100% for the single 'id' parameter (described as 'Question ID'), the description adds no additional meaning. Baseline 3 is appropriate.

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?

The description clearly states the action (delete) and the resource (reusable question from catalog). It distinguishes from other question tools (create, get, update, list) by specifying 'catalog', but it does not explicitly differentiate from other delete tools in the sibling list.

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?

The phrase 'Use cautiously when deprecating question banks' provides a specific use case and implies caution. However, it does not give explicit when-not-to-use guidance or name alternative tools for partial removal.

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

hires_delete_webhookA
Destructive
Inspect

Delete a company-scoped webhook subscription by ID. Use for endpoint retirement and security rotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID
webhook_idYesWebhook ID
Behavior4/5

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

Annotations already mark destructiveHint=true. The description adds context about the purpose of deletion (retirement, rotation), reinforcing the irreversible nature.

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

Conciseness5/5

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

Two concise sentences, front-loaded with the action and purpose. Every word serves a purpose.

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?

For a simple deletion tool with only two required IDs and destructive annotation, the description adequately covers purpose and usage. No output schema needed.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions. The description adds minimal extra meaning beyond 'by ID', so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb (delete), resource (webhook subscription), and scope (company-scoped). It distinguishes from sibling tools like hires_delete_job_webhook and hires_list_webhooks.

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?

Explicitly mentions use cases: endpoint retirement and security rotation. Provides clear context for when to use, though no explicit when-not-to-use.

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

hires_disqualify_candidateA
Destructive
Inspect

Disqualify a candidate from all active applications. Optionally provide rejection reason IDs. Returns affected application IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
reasonsNoArray of rejection reason IDs from GET /taxonomy/rejection-reasons.
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true. The description adds that it disqualifies and returns application IDs, but does not elaborate on reversibility, side effects, or required permissions. The bar is lower due to annotations, and the description provides minimal additional behavioral context.

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

Conciseness5/5

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

Two sentences, front-loaded with the main action, and no redundant information. Every word serves a purpose.

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

Completeness5/5

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

Given the tool's complexity (2 parameters, no output schema, no nested objects), the description adequately explains the function, the scope ('all active applications'), and the return value. No additional context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters. The description mentions 'Optionally provide rejection reason IDs,' which aligns with the reasons parameter but adds no new meaning beyond the schema. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Disqualify a candidate from all active applications,' identifying the specific verb (disqualify), resource (candidate), and scope (all active applications). This distinguishes it from sibling tools like 'reject_application' (which acts on a single application) and 'delete_candidate' (which removes the candidate entirely).

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

Usage Guidelines3/5

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

The description implies the tool is for broad disqualification across all applications but does not explicitly state when to use it versus alternatives (e.g., 'reject_application' for per-application rejection). No when-not-to-use or prerequisites are provided.

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

hires_download_attachmentA
Read-only
Inspect

Download an attachment (resume, candidate file, application file, mail attachment, call recording). Pass the absolute URL returned by another endpoint (e.g. message.attachments[].url, cv.url, resume.url) — it MUST belong to the configured 100Hires API host; other hosts are rejected to avoid leaking the Bearer token. Returns {file_name, mime_type, size, data} where data is base64-encoded bytes. Files larger than 25 MB are rejected up-front (Content-Length check / streaming abort) without being loaded into memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute attachment URL returned by another API response (e.g. https://api.100hires.com/v2/attachments/mail_attachment/<uuid>/<file_name>). Must match the API host.
Behavior5/5

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

Adds critical behavioral details beyond annotations: files over 25 MB are rejected upfront, response is base64-encoded, and host verification prevents token leakage. Annotations only state readOnlyHint and destructiveHint, but the description provides operational safeguards.

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

Conciseness5/5

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

Two sentences with no wasted words. Front-loaded with purpose, then key usage details. Every sentence adds value.

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

Completeness5/5

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

Despite no output schema, the description explains the return object structure ({file_name, mime_type, size, data}) and the 25 MB limit. Completely specifies behavior for a single-parameter download tool.

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

Parameters5/5

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

Enhances the single parameter 'url' with concrete examples (e.g., 'https://api.100hires.com/v2/attachments/mail_attachment/<uuid>/<file_name>') and states the requirement that it must be absolute and from the API host. With 100% schema coverage, this adds significant practical context.

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

Purpose5/5

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

The description starts with a clear verb+resource ('Download an attachment') and lists the specific attachment types (resume, candidate file, etc.). It distinguishes itself from sibling tools (e.g., upload, list) by being the sole download tool.

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?

Provides explicit guidance to pass an absolute URL from another endpoint and warns that the URL must belong to the configured API host to avoid token leakage. It does not explicitly state when not to use the tool, but the context of downloading vs. other operations is clear.

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

hires_get_ai_scoreA
Read-only
Inspect

Get the structured AI score for an application, including per-criterion scores, justifications, and follow-up questions. Returns null score if the application has not been AI-scored.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
Behavior4/5

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

The description adds value beyond annotations by noting that null is returned if the application has not been AI-scored. This is consistent with the readOnlyHint and destructiveHint annotations. No contradictions.

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

Conciseness5/5

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

Two concise sentences, front-loaded with the core purpose. Every sentence provides unique information: what is returned and a special case (null return). No wasted words.

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?

Despite no output schema, the description sufficiently describes the return value (structured AI score with details) and the null case. It covers the key behavioral aspects for a read-only tool with one parameter. Missing error handling or authentication notes, but not critical.

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

Parameters3/5

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

Schema coverage is 100% (the single required parameter 'id' has a description). The description does not add further meaning beyond what is in the schema, so a baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool retrieves the structured AI score for an application, including per-criterion scores, justifications, and follow-up questions. It distinguishes itself from sibling tools like hires_get_application or hires_get_evaluation by specifically addressing AI scoring.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, scenarios where a different tool might be more appropriate, or any conditions (e.g., 'use only after AI scoring has been initiated').

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

hires_get_applicationA
Read-only
Inspect

Get full application details including stage, status, and rejection context. Recommended before mutating stage transitions.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
includeNoComma-separated relations to embed: candidate, cv.text, job.
Behavior4/5

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

Annotations already declare readOnlyHint and destructiveHint, so the description adds value by specifying returned fields (stage, status, rejection context). No contradictions.

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

Conciseness5/5

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

Two well-structured sentences, no redundancy, front-loads key information.

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

Completeness5/5

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

Comprehensive for a simple two-parameter tool with no output schema; clarifies return fields and provides usage recommendation.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description does not add parameter details, so baseline score is appropriate.

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

Purpose5/5

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

The description states it gets full application details including stage, status, and rejection context. It clearly distinguishes from sibling get tools for other entities.

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?

Explicitly recommends using before mutating stage transitions, providing clear usage context. No explicit guidance on when not to use, but is appropriate for a simple read tool.

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

hires_get_billingA
Read-only
Inspect

Get billing/pricing capability flags for the current company. Use before invoking paid-only API behaviors.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Annotations indicate readOnlyHint and destructiveHint false. Description adds meaningful behavioral context: it's a pre-check for paid APIs, which is beyond the annotations.

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

Conciseness5/5

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

Two concise sentences with no wasted words. Front-loads purpose and usage effectively.

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

Completeness5/5

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

Despite no output schema, the tool's simple purpose (returning flags) is fully explained. No missing details for an agent to use it correctly.

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?

No parameters exist, so schema coverage is 100%. Description adds no parameter info, which is acceptable. Baseline is 4 for zero-param tools.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'billing/pricing capability flags' for the current company, distinguishing it from sibling tools.

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?

Explicitly advises to use this tool before invoking paid-only API behaviors, providing clear context for when to use it. It does not mention when not to use it, but the guidance is strong.

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

hires_get_candidateGet candidateA
Read-only
Inspect

Get full candidate data including application summaries by candidate ID or alias.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
Behavior3/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false. The description adds that it returns 'full candidate data including application summaries', which is useful context. No additional behavioral traits (e.g., rate limits, auth) are disclosed.

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

Conciseness5/5

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

The description is a single 11-word sentence with no wasted words. It is front-loaded with the action and resource.

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

Completeness5/5

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

For a simple get operation with one parameter and no output schema, the description completely covers the tool's purpose and input. No additional details are necessary.

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

Parameters3/5

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

Schema coverage is 100% and the description adds 'by candidate ID or alias', which clarifies the parameter flexibility. However, it mostly restates the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'full candidate data including application summaries', and the method 'by candidate ID or alias'. It distinguishes from sibling read tools like hires_get_application and hires_get_candidate_resume.

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

Usage Guidelines3/5

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

The description implies usage when needing full candidate data by ID/alias, but does not explicitly state when to use or avoid this tool, nor does it name alternatives. Among many sibling 'get' tools, clearer guidance would help.

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

hires_get_candidate_resumeA
Read-only
Inspect

Get the primary resume for a candidate. Returns uuid, absolute download url (use Bearer auth), relative_time, file metadata, type. Use include='text_content' to also get the parsed plain-text content in a text field without downloading the file.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
includeNoComma-separated optional fields. Use 'text_content' to add a `text` field with parsed plain-text resume content.
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, establishing safety. The description adds value by specifying returned fields (uuid, download URL with Bearer auth note, relative_time, file metadata, type) and explaining how to obtain parsed text content. No contradictions.

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

Conciseness5/5

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

Two sentences, no wasted words. The purpose is front-loaded, and every sentence provides essential information.

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, but the description lists returned fields and the optional text_content addition. For a simple retrieval tool, this is sufficient. Could mention pagination or error cases, but not required.

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?

Schema coverage is 100%, so the description's contribution is limited. However, it explains the include parameter in practical terms ('use include=''text_content'' to also get the parsed plain-text content'), adding meaning beyond the schema's generic description.

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

Purpose5/5

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

The description states 'Get the primary resume for a candidate,' which is a specific verb+resource. It clearly distinguishes from sibling tools such as hires_list_candidate_files (list files) or hires_download_attachment (download attachment).

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?

The description mentions the include parameter for optional text content, but does not explicitly state when to use this tool versus alternatives or provide exclusions. However, the context is clear enough for typical usage.

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

hires_get_career_jobA
Read-only
Inspect

Get full details of a single public job by ID. Returns salary, education level, experience level, and other extended fields. Returns 404 for draft, archived, or internal jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID
company_slugYesCompany slug identifying the career site
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral context: it returns salary, education, experience fields, and returns 404 for non-public jobs. This supplements the annotation well without contradiction.

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

Conciseness5/5

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

Two sentences; first sentence states primary function, second adds details and error condition. No wasted words, front-loaded.

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

Completeness5/5

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

No output schema exists, but the description lists key returned fields (salary, education, experience) and mentions the 404 error case. For a simple get-by-ID tool, this is complete.

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

Parameters3/5

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

Schema description coverage is 100% (both param descriptions present). The description does not add further meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'public job', and scope 'by ID'. It distinguishes from siblings like hires_get_job (internal) and hires_list_career_jobs (list) by specifying 'full details of a single public job' and noting the 404 for non-public jobs.

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?

The description implies usage for retrieving full details of a public job. It explicitly states when the tool returns 404 (for draft, archived, or internal jobs), providing a when-not condition. However, it does not explicitly name alternative tools for those cases, though siblings suggest hires_get_job for internal jobs.

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

hires_get_companyA
Read-only
Inspect

Get company profile and owner metadata. Use before updates or ownership-sensitive actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds that it returns 'profile and owner metadata', which provides some behavioral context beyond annotations but not significantly more.

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

Conciseness5/5

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

Two-sentence description, front-loaded with main action. No wasted words; every sentence adds value.

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?

Given no output schema, description hints at return content ('profile and owner metadata') but could be more specific about fields. Still adequate for a simple get operation with a single parameter.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter 'id', which is described as 'Company ID'. Description does not add additional meaning beyond the schema, so baseline of 3 is appropriate.

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

Purpose5/5

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

Description clearly states 'Get company profile and owner metadata' with a specific verb and resource. It distinguishes from sibling tools like hires_create_company, hires_update_company, etc.

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?

Explicitly says 'Use before updates or ownership-sensitive actions', providing clear guidance on when to use this tool. Does not contrast with alternatives like list_companies, but context is clear.

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

hires_get_email_templateA
Read-only
Inspect

Get full details of a specific email template by ID, including subject and body content.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEmail template ID
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds context about return content (subject and body) but does not disclose authentication needs, rate limits, or error scenarios. With annotations covering safety, a score of 3 is appropriate.

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

Conciseness5/5

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

A single, well-structured sentence that front-loads the purpose and key elements. No unnecessary words.

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?

For a simple get operation with one parameter and no output schema, the description sufficiently informs the agent of what the tool does and what it returns. It could mention the object structure, but the current level is adequate.

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

Parameters3/5

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

The only parameter 'id' is fully described in the schema ('Email template ID') with 100% coverage. The tool description adds no extra semantics, so the baseline score of 3 applies.

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

Purpose5/5

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

The description uses a specific verb ('Get'), identifies the resource ('email template'), specifies the identifier ('by ID'), and lists key return fields ('subject and body content'). It clearly distinguishes from sibling tools like 'hires_list_email_templates' (list) and CRUD operations.

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?

While no explicit 'when to use' or alternatives are stated, the context from the name, description, and sibling list makes usage clear: use this to retrieve full details of a specific template by ID. A brief note about not using it for listing would improve the score.

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

hires_get_evaluationA
Read-only
Inspect

Get a filled evaluation form with all answers. Returns evaluator info, summary score, summary text, and individual question answers. Use for detailed review of evaluator feedback on a candidate application.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvaluation form ID
Behavior3/5

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

Annotations already indicate readOnly and non-destructive. Description adds return content details but no additional behavioral traits like permissions or limitations. Adequate but not extensive.

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

Conciseness4/5

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

Two sentences, front-loaded with main action. Efficient, though first two sentences could be merged slightly. Nearly no waste.

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

Completeness5/5

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

Given single parameter, no output schema, and clear annotations, the description fully covers what the tool does, what it returns, and its use case.

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

Parameters3/5

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

Schema coverage is 100% with one parameter 'id' described as 'Evaluation form ID'. Description does not add further meaning beyond schema, so baseline 3 applies.

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

Purpose5/5

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

Clearly states it gets a filled evaluation form with all answers, listing return fields. Distinguishes from siblings like 'hires_list_application_evaluations' and 'hires_submit_feedback'.

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?

States 'Use for detailed review of evaluator feedback on a candidate application,' providing clear context. Does not explicitly mention when not to use or alternatives, but sibling names offer implicit guidance.

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

hires_get_formA
Read-only
Inspect

Get form details including all questions with their statuses.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesForm ID.
Behavior3/5

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

Annotations indicate readOnlyHint=true and destructiveHint=false, making safety clear. The description adds that it returns questions with statuses, but does not elaborate on response size, pagination, or any other behavioral traits beyond the annotations.

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

Conciseness5/5

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

The description is a single, efficient sentence that conveys the core functionality without unnecessary words.

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?

Given the tool's simplicity (one parameter, no output schema), the description adequately covers what the tool does. It could be improved by explicitly stating that the returned form includes nested questions, but it is generally sufficient.

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

Parameters3/5

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

The only parameter (id) is described as 'Form ID' in the schema, and the description does not add further meaning. With 100% schema coverage, the baseline of 3 applies.

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

Purpose5/5

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

The description clearly states it retrieves form details including all questions with their statuses, which is specific and distinguishes it from sibling tools like list_forms that only list form summaries.

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

Usage Guidelines3/5

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

The description implies usage for retrieving a single form's details, but it does not explicitly state when to use this tool versus alternatives like get_question or list_forms, or mention any prerequisites.

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

hires_get_interviewA
Read-only
Inspect

Get full details of a specific interview by ID. Use include to embed related candidate, application, or job data.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesInterview ID
includeNoComma-separated related resources to embed: candidate, application, job
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'get full details' aligns. It adds context about the include parameter behavior but does not disclose additional behavioral traits beyond what annotations provide.

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

Conciseness5/5

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

Two concise sentences: first states purpose, second provides usage guidance on include. No wasted words, front-loaded with the main action.

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?

For a simple read tool with two parameters and no output schema, the description is sufficient. It explains what the tool returns ('full details') and how to embed related data. Could mention that it returns all interview fields, but overall adequate.

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?

Schema coverage is 100% for both id and include. The description adds value by explaining that include can embed candidate, application, or job data, which clarifies the purpose beyond the schema's 'comma-separated related resources to embed'.

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

Purpose5/5

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

The description clearly states 'Get full details of a specific interview by ID', specifying exactly what the tool does (get) and the resource (interview). It distinguishes from sibling tools like hires_list_interviews (listing) and other get_* tools for different resources.

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?

The description provides guidance on using the include parameter to embed related data. However, it does not explicitly specify when to use this tool versus alternatives (e.g., hires_list_candidate_interviews or hires_get_application). The implied use is when you have a specific interview ID.

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

hires_get_jobGet jobA
Read-only
Inspect

Get full details of a job by ID or alias. Use include to load related workflow, hiring team, or pipeline stages data.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
includeNoComma-separated related resources to embed: workflow, hiring_team, pipeline_stages
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds that it gets 'full details' and can include related data, but doesn't add significant behavioral context beyond annotations.

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

Conciseness5/5

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

Two concise sentences, front-loaded with purpose. No wasted words.

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?

Complete for a read tool with good annotations and full schema coverage. Could mention that return includes all job fields, but not necessary given 'full details'.

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?

Schema has 100% coverage and includes descriptions. Description adds value by explaining what the 'include' parameter does with specific examples (workflow, hiring_team, pipeline_stages).

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

Purpose5/5

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

Description clearly states it retrieves full job details by ID or alias, with specific verb 'Get' and resource 'job'. It distinguishes from siblings like hires_list_jobs (list) and hires_update_job (update).

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 guidance on using the 'include' parameter to embed related resources. Does not explicitly state when to use this tool vs alternatives, but the context is clear.

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

hires_get_messageA
Read-only
Inspect

Get a scheduled message by ID. Returns scheduler-backed message details including sender account, schedule timestamps, and cancelability.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's behavioral disclosure is minimal. It adds context about return fields (sender, timestamps, cancelability) but doesn't go beyond what annotations already convey about safety.

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

Conciseness5/5

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

Two sentences with no wasted words. The first sentence immediately states the core purpose, and the second adds key return details.

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

Completeness3/5

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

No output schema exists, so description should ideally clarify return structure. It lists some fields (sender, timestamps, cancelability) but not a complete picture. Adequate for a simple read tool but could be more detailed.

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

Parameters3/5

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

Schema coverage is 100%, and the schema already describes the 'id' parameter as 'Message ID.' The description does not add additional meaning or constraints beyond the schema.

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

Purpose5/5

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

The description clearly states the tool gets a scheduled message by ID, using specific verbs and resources. It distinguishes from sibling tools like hires_list_messages (list) and hires_get_notification_message (different message type).

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

Usage Guidelines3/5

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

The description implies usage when a specific message ID is known and full details are needed, but lacks explicit guidance on when not to use or alternatives (e.g., list_messages, get_notification_message).

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

hires_get_noteA
Read-only
Inspect

Get a single note with author and visibility metadata. Use include=user to load author details.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNote ID
includeNoInclude related resources: 'user' for author details, 'candidate' for full candidate payload with url_backoffice.
Behavior4/5

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

Description aligns with readOnlyHint and destructiveHint, adding specifics about returned metadata. No contradictions.

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

Conciseness5/5

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

Two sentences, front-loaded with core action, efficient and to the point.

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, but description mentions return contents (author and visibility metadata). Adequate for a simple get tool.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description adds minor value by emphasizing include=user, but doesn't go beyond schema details.

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

Purpose5/5

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

Clearly states verb 'Get', resource 'a single note', and what it returns ('author and visibility metadata'). Distinguishes from sibling tools like hires_list_notes and hires_get_*.

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?

Provides explicit guidance on using include=user to load author details. Could improve by specifying when to prefer this over listing notes, but context is clear.

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

hires_get_notification_messageA
Read-only
Inspect

Get a notification email message (e.g. rejection email) by ID. Returns subject, body, sender, recipient, and schedule metadata. Use candidate messages list to discover notification message IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNotification email message ID.
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description does not need to reiterate safety. It adds value by listing the specific return fields (subject, body, sender, recipient, schedule metadata), which is helpful. No contradictory or missing behavioral information is present.

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

Conciseness5/5

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

Extremely concise with two sentences. The first sentence states the primary function and returned fields, the second provides a usage hint. No unnecessary words.

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?

For a simple get operation with one parameter and no output schema, the description covers purpose, parameter identification, and a hint for obtaining the ID. It does not discuss error cases or authentication, but these are minor omissions for such a straightforward tool.

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

Parameters3/5

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

The schema has 100% coverage for the single required parameter 'id' with description 'Notification email message ID.' The description repeats this information without adding further detail, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool gets a notification email message by ID, specifies it is for emails like rejection emails, and lists the returned fields (subject, body, sender, recipient, schedule metadata). This distinguishes it from sibling tools like hires_get_message, which likely retrieves different message types.

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

Usage Guidelines3/5

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

The description provides a hint to use the candidate messages list to discover notification message IDs, but does not explicitly state when to use this tool versus alternatives like hires_get_message or hires_list_messages. The guidance is implied rather than explicit.

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

hires_get_nurture_campaignA
Read-only
Inspect

Get a single nurture campaign by ID with all steps and configuration details.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNurture campaign ID
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds value by specifying the return includes 'all steps and configuration details'. However, no further behavioral traits are disclosed (e.g., error conditions, performance).

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

Conciseness5/5

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

Single sentence, front-loaded with the action and scope, no unnecessary words. Highly efficient.

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?

Given low complexity (one parameter, no output schema) and annotations covering safety, the description provides sufficient context for using the tool. Mentioning return content adds completeness.

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

Parameters3/5

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

Schema coverage is 100% with one 'id' parameter described. The description does not add meaning beyond the schema, so baseline score is appropriate.

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

Purpose5/5

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

The description clearly states the tool retrieves a single nurture campaign by ID, including all steps and configuration details. This distinguishes it from sibling tools like hires_list_nurture_campaigns (list) and hires_update_nurture_campaign (modify).

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

Usage Guidelines3/5

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

The description implies use when needing a specific campaign's details, but does not explicitly state when to use this over alternatives or any exclusions. With many related tools, explicit guidance would improve clarity.

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

hires_get_questionA
Read-only
Inspect

Get a question definition including type and options by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQuestion ID
Behavior3/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false. The description adds that it returns 'type and options', which is useful but does not go beyond what annotations implicitly suggest. No additional behavioral traits (e.g., auth, error handling) are disclosed.

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

Conciseness5/5

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

The description is a single clear sentence with no superfluous words. It is front-loaded with the essential information.

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?

Given the simplicity of the tool (one required param, no output schema), the description adequately covers what it returns. However, it could mention potential error conditions (e.g., invalid ID) or the fact that it returns a single question definition.

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

Parameters3/5

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

The sole parameter 'id' is described in the schema as 'Question ID'. The tool description does not add extra meaning or context. Since schema coverage is 100%, the baseline is 3.

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

Purpose5/5

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

The description clearly states 'Get a question definition including type and options by ID.' It specifies the verb (get), the resource (question definition), and the scope (type and options). This distinguishes it from siblings like create, update, delete, and list.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For instance, it does not differentiate from hires_list_questions, which likely returns a list of questions. There is no mention of prerequisites or when not to use it.

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

hires_get_userA
Read-only
Inspect

Get a single user by ID within current tenant scope. Use for identity resolution in automation flows. The default_mail_account_id field can be used as from_account_id when sending emails.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
Behavior4/5

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

Annotations already set readOnlyHint and destructiveHint, so the description adds value by specifying tenant scope and the default_mail_account_id field usage. No contradictions.

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

Conciseness5/5

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

Three sentences, each serving a purpose: purpose, usage, and field hint. No redundant information, front-loaded with the core action.

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?

For a simple single-user retrieval tool with no output schema, the description covers purpose, scope, and a practical field hint. Could be slightly more explicit about return value, but adequate.

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

Parameters3/5

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

Schema coverage is 100% for the single 'id' parameter, meeting the baseline. The description does not add semantic nuance beyond the schema for the parameter itself.

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

Purpose5/5

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

Clearly states 'Get a single user by ID within current tenant scope', providing a specific verb and resource. Distinguishes from sibling list tools by emphasizing single user retrieval.

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?

Indicates use for 'identity resolution in automation flows' and provides a field usage hint. Does not explicitly mention alternatives or when not to use, but context is clear.

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

hires_get_workflow_stagesA
Read-only
Inspect

Get stages for a specific workflow by ID. Equivalent to hires_list_workflow_stages with workflow_id filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWorkflow ID
company_idNoTarget company ID (uses default company when omitted)
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'Get stages' is consistent. The description adds no behavioral details beyond the annotations and the equivalence note. With annotations covering safety, the description meets the baseline but adds little extra transparency.

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

Conciseness5/5

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

The description is a single sentence followed by a brief equivalence note. No unnecessary words, highly efficient, and front-loaded with the core action.

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?

Given the tool's simplicity and the presence of annotations and full schema coverage, the description provides sufficient context for a read operation. However, the absence of output schema or any mention of the return format (e.g., list of stage objects) is a minor gap, preventing a perfect score.

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

Parameters3/5

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

The input schema covers 100% of parameters, each with clear descriptions. The description merely restates that the workflow ID is used, adding no semantic value beyond the schema. A score of 3 is appropriate as the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the tool retrieves stages for a specific workflow by ID, using a specific verb and resource. It also distinguishes itself from the sibling tool by noting equivalence with a filter, making the purpose unambiguous.

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?

The description indicates this tool is equivalent to `hires_list_workflow_stages` with a workflow_id filter, which provides usage context. However, it does not explicitly state when to prefer this over the list tool or mention any prerequisites or exclusions, leaving some guidance implicit.

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

hires_hire_applicationA
Destructive
Inspect

Mark an application as hired. This is the finalization step in a hiring workflow. The application status changes to 'hired' and hired_at is set.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
includeNoComma-separated relations to embed: candidate, cv.text, job.
Behavior3/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=true, so the tool is known to be a destructive write operation. The description adds that the status changes to 'hired' and hired_at is set, but does not elaborate on irreversibility, side effects, or prerequisites like specific permissions. It adds some context but is not deeply transparent.

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

Conciseness5/5

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

The description is three short sentences that front-load the action ('Mark an application as hired') and immediately convey the purpose and effect. Every sentence adds value with no redundancy or fluff.

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?

Given the tool's simplicity (a status change mutation) and the presence of annotations indicating destructiveness, the description adequately explains what happens. However, it could mention if the operation triggers automated workflows or if it is reversible, but for a finalization step, the completeness is sufficient.

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

Parameters3/5

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

Schema coverage is 100%, so the parameters (id and include) are fully described in the schema. The description does not add any additional meaning or usage nuances beyond what the schema already provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action 'Mark an application as hired' and the resource (application). It positions the tool as the finalization step in a hiring workflow, distinguishing it from sibling tools like hires_advance_application and hires_reject_application. The title 'Hire candidate' further reinforces the purpose.

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?

The description states 'This is the finalization step in a hiring workflow,' implying it should be used after other progression steps. However, it does not explicitly state when not to use it or mention alternatives such as reject or advance. The context is clear but lacks exclusions.

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

hires_list_application_attachmentsA
Read-only
Inspect

List all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and download URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
Behavior4/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false, so safety is clear. The description adds context about the return content (file metadata and download URLs) and the scope ('all attachments'), which adds value beyond the annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose and return value with no wasted words.

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

Completeness5/5

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

Given the tool's simplicity (one parameter, no output schema), the description is complete: it specifies the action, the resource, and what is returned (metadata and download URLs). No output schema is needed.

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

Parameters3/5

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

Schema coverage is 100% with the 'id' parameter described as 'Application ID'. The description does not add additional meaning beyond the schema, so baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'all file attachments linked to an application', with examples like resumes, cover letters, and documents, distinguishing it from sibling tools like 'hires_download_attachment' and 'hires_get_application'.

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

Usage Guidelines3/5

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

The description implies usage for listing attachments but does not provide explicit guidance on when to use this tool versus siblings like 'hires_get_application' or 'hires_download_attachment'. No 'when-not-to-use' or alternatives are mentioned.

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

hires_list_application_evaluationsA
Read-only
Inspect

List all filled evaluation forms for an application. Each evaluation includes the evaluator, summary score (strong-yes to strong-no), and summary text.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
viewNoResponse shape. Default `summary` replaces `summary_text` with a 200-char `summary_text_preview`. Use `full` only when the full evaluator commentary is needed; call hires_get_evaluation for a single record.summary
Behavior4/5

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

Annotations (readOnlyHint=true) already indicate safe read-only operation. Description adds value by detailing what each evaluation includes (evaluator, summary score range from strong-yes to strong-no, and summary text), providing behavioral context beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no unnecessary words. Highly efficient and well-structured.

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, but description adequately explains what each evaluation contains. For a list tool, this is sufficient; however, could mention if pagination or ordering is supported.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. The description does not add any parameter semantics beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

Clearly states the verb 'List' and the resource 'filled evaluation forms for an application'. Specifies the output fields: evaluator, summary score, and summary text. Differentiates from sibling 'hires_get_evaluation' via the input schema's view parameter hint.

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

Usage Guidelines3/5

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

Does not explicitly state when to use this tool vs alternatives. However, the input schema's view parameter description guides when to use 'full' versus calling 'hires_get_evaluation', providing indirect usage guidance.

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

hires_list_applicationsList applications (pipeline view)A
Read-only
Inspect

List applications across all accessible jobs. Supports filtering by candidate, job, stage, status, AI score range, and date ranges. Use for pipeline analytics, sync jobs, and ATS dashboards. Avoid include=candidate or include=cv.text on large pages (each embeds heavy nested data); if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints. Each application embeds its current stage (IdName) directly in the response — this is sufficient for rendering kanban/pipeline views; you DO NOT need to call hires_get_job to fetch workflow_stages separately when rendering a pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
sizeNoItems per page (default 25, max 100).
sortNoSort order. Prefix with - for descending. Default: -created_at.
job_idNoFilter applications by job ID.
statusNoFilter by application status: pending (active), hired, or rejected.
includeNoComma-separated relations to embed: `candidate`, `cv.text`. **Recommended: `candidate`** for pipeline / kanban / UI rendering — without it the widget shows candidate IDs instead of names and emails. Use `cv.text` only when resume text is genuinely needed (large payload).
stage_idNoFilter applications by pipeline stage ID. Best used together with job_id.
company_idNoFilter by company ID. Omit for all accessible companies.
ai_score_maxNoReturn only applications with ai_score <= this value.
ai_score_minNoReturn only applications with ai_score >= this value.
candidate_idNoFilter applications by candidate ID.
created_afterNoReturn only applications created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated.
updated_afterNoReturn only applications updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. Use for incremental sync.
Behavior5/5

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

Annotations indicate readOnlyHint true and destructiveHint false; the description adds behavioral context beyond annotations: embedding stage directly, response too large error handling, and truncation of fractional seconds. No contradiction with annotations.

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

Conciseness5/5

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

The description is well-structured: it starts with the core function, lists filters, provides critical performance warnings, and ends with specific pipeline rendering advice. Every sentence earns its place without redundancy.

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

Completeness5/5

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

Given 13 parameters, no output schema, and no required parameters, the description covers behavior, error cases, and usage patterns comprehensively. It explains the embedding of stage data and provides actionable guidance for common use cases, making it complete for agent decision-making.

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?

Schema coverage is 100%, but the description adds meaningful context beyond schema descriptions, such as recommended usage for 'include' parameter, warning about large payloads, and accepted formats for timestamp parameters. This extra guidance elevates the score above baseline 3.

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

Purpose5/5

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

The description clearly states the tool lists applications across all accessible jobs, specifies filtering capabilities (candidate, job, stage, status, AI score, date ranges), and distinguishes it for pipeline analytics, sync jobs, and ATS dashboards. It directly addresses sibling differentiation by noting when not to call hires_get_job.

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

Usage Guidelines5/5

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

Explicitly states when to use (pipeline analytics, sync jobs, ATS dashboards) and when to avoid (large pages with include=candidate or cv.text). Provides error handling guidance (isError:true with retry hints) and suggests not calling hires_get_job for pipeline views.

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

hires_list_application_stage_historyA
Read-only
Inspect

Get the full chronological stage transition history for an application, including the initial assignment. Each entry has from_stage_id/name, to_stage_id/name, moved_at (Unix seconds), moved_by_type (system, user, automation), moved_by_user_id, and source (what caused the transition, e.g. 'apply:indeed', 'form_watcher', 'user'; null for historical records). Use this for funnel analysis, attribution reports, and time-in-stage reports instead of paginating through /candidates/{id}/activities when only stage data is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds rich behavioral context: lists all fields returned including moved_at (Unix seconds), moved_by_type, source, and mentions inclusion of initial assignment. No contradiction.

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

Conciseness5/5

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

The description is concise and well-structured: front-loaded purpose, then field details, then use cases. Every sentence adds value without redundancy.

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

Completeness5/5

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

Given no output schema, the description thoroughly describes the returned fields and their semantics. It clearly states when to use this tool versus alternatives, making it complete for an agent.

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

Parameters3/5

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

Schema coverage is 100% with parameter 'id' described as 'Application ID.' The description does not add new meaning about the parameter itself; it only contextualizes the output, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states it gets 'the full chronological stage transition history for an application' with specific fields, and distinguishes from sibling tools like 'hires_list_candidate_activities' by noting it's an alternative when only stage data is needed.

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

Usage Guidelines5/5

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

Explicitly states use cases: 'funnel analysis, attribution reports, and time-in-stage reports' and provides an alternative: 'instead of paginating through /candidates/{id}/activities when only stage data is needed.'

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

hires_list_boardsA
Read-only
Inspect

List available publishing boards with metadata. Use for distribution setup and board selection.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is clear. The description adds that it lists 'boards with metadata', which is consistent and adds minimal context. No contradictory information, but no disclosure of potential limits or pagination behavior either.

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

Conciseness5/5

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

The description consists of two concise sentences, directly stating the main action and usage context. No unnecessary words, and the key information is front-loaded. It is well-structured for quick comprehension.

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?

For a simple list tool with no parameters, the description is sufficient to convey purpose and usage. However, it lacks detail about the output (e.g., fields in metadata) and does not address the relationship to similar sibling tools. With no output schema, more context would be beneficial, but overall it is adequate.

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?

There are no parameters in the input schema, and schema description coverage is 100%. The description does not need to explain parameters. It could clarify what 'metadata' includes, but for a parameterless tool, the baseline of 4 is appropriate.

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?

The description states 'List available publishing boards with metadata', which clearly identifies the verb and resource. However, there is a sibling tool 'hires_list_job_boards' with a very similar name and likely similar purpose, and the description does not differentiate between them, which lowers the score from 5.

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

Usage Guidelines3/5

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

The description suggests 'Use for distribution setup and board selection', providing some context. However, it does not explicitly state when to use this tool versus alternatives like 'hires_list_job_boards', nor does it mention when not to use it. This is adequate but not fully clarified.

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

hires_list_candidate_activitiesA
Read-only
Inspect

List timeline activities for a candidate (comments, stage moves, AI responses, etc.). Supports filtering by event type. Recommended size <= 10: copilot responses and call transcriptions can be large per event; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
pageNoPage number (1-based).
sizeNoPage size. Values above 100 are rejected with 400. Default 20, max 100.
viewNoResponse shape. Default `summary` replaces the largest event payloads (copilot LLM response/prompt, call transcription, comment body) with 200-char `*_preview` fields. Other event types pass through unchanged. Use `full` when the original content is needed.summary
sinceNoInclusive lower bound on event timestamp. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-04-01T00:00:00Z). Fractional seconds accepted but truncated.
untilNoInclusive upper bound on event timestamp. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-04-01T00:00:00Z). Fractional seconds accepted but truncated.
event_typeNoComma-separated event types to filter. Supported: comment, copilot_response, stage_moved, automation_action_triggered, assign_job, enrichment, call, validate_emails, profile_mutation, qualification, assign_tags, assign_sources, candidate_rate.
Behavior5/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, which align with a read-only listing. The description additionally discloses the 'response_too_large' error condition with retry hints, and explains the 'view' parameter's effect on payload size. No contradictions with annotations.

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

Conciseness4/5

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

The description is a single paragraph that efficiently covers purpose, filtering, size recommendation, and error handling. It is front-loaded with the main action. Minor improvement could be achieved with bullet points, but no wasted sentences.

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?

For a tool with 7 parameters, no output schema, and moderate complexity, the description covers key behaviors: pagination, error conditions, view modes, and timestamp formats. Missing explicit details about the return structure (e.g., list of activities with fields), but the view parameter description hints at the shape.

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

Parameters5/5

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

Schema description coverage is 100% (all 7 parameters have descriptions), but the tool description adds significant value: explains the 'view' parameter's summary vs full behavior, the size limit (rejected above 100), timestamp formats, and lists supported event_types. This goes well beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'timeline activities for a candidate', with examples of activity types. It distinguishes itself from sibling list tools like hires_list_candidate_tags or hires_list_candidate_messages by specifying the timeline nature.

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?

The description provides practical guidance: recommends page size <=10 to avoid large payload errors and explains error behavior. It does not explicitly compare to alternative candidates list tools, but the specificity of 'timeline activities' implicitly differentiates.

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

hires_list_candidate_filesA
Read-only
Inspect

List all files attached to a candidate (resumes and other documents). Each entry has uuid, absolute download url (use Bearer auth), relative_time, file metadata (orig_file_name, file_ext, file_type/MIME, readable_size), and type (resume/other). Default response is compact; avoid include=text_content on candidates with many files — it adds parsed resume text per file which can exceed the response budget.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral details such as Bearer auth for download URLs and the risk of exceeding budget with text_content, which goes beyond what annotations provide.

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

Conciseness5/5

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

The description is a single focused paragraph with no superfluous sentences. It is front-loaded with the main action and provides key details efficiently.

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?

Given no output schema, the description adequately describes the response structure (uuid, download URL, metadata, type) and warns about a potential issue. Missing details like pagination are acceptable for a simple list tool.

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

Parameters3/5

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

Schema covers the single parameter 'id' with description; the description does not add further parameter-specific meaning beyond the schema. Baseline 3 is appropriate as schema coverage is 100%.

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

Purpose5/5

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

The description clearly states it lists all files attached to a candidate, including resume and other documents. It distinguishes from sibling tools like 'hires_list_application_attachments' and 'hires_upload_candidate_file' by specifying the scope (candidate files) and listing returned fields.

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?

Provides guidance to avoid using 'include=text_content' on candidates with many files to prevent exceeding response budget. While it doesn't explicitly state when to prefer this over alternatives, the context is clear from the description and sibling names.

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

hires_list_candidate_interviewsA
Read-only
Inspect

List all interviews for a candidate across all applications. Useful for timeline views and scheduling conflict detection.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
pageNoPage number (1-based).
sizeNoNumber of items per page.
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the core behavioral traits are covered. The description adds that it lists across all applications, providing additional context beyond annotations, but does not go into deep behavioral details.

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

Conciseness5/5

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

The description consists of two sentences, front-loading the purpose and use case without any fluff. Every part adds value.

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?

Given the tool's simplicity, annotations, and schema richness, the description covers the essential purpose and usage context. It does not explain pagination or return format, but that is implied by the page/size parameters and the listing nature.

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

Parameters3/5

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

Schema coverage is 100% with good descriptions for all three parameters (id, page, size). The tool description does not add new meaning beyond what the schema already provides, so a baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'list', the resource 'interviews for a candidate', and the scope 'across all applications'. It distinguishes from sibling tools like 'hires_list_interviews' by specifying candidate-specific filtering.

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?

The description provides usage context: 'Useful for timeline views and scheduling conflict detection.' While it doesn't explicitly state when not to use it or mention alternatives, the context is clear enough for an agent to decide.

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

hires_list_candidate_messagesA
Read-only
Inspect

List email and messaging history for a candidate. Use is_scheduled=1 to filter only pending scheduled messages. Recommended size <= 10: messages include full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
pageNoPage number (1-based).
sizeNoNumber of items per page.
viewNoResponse shape. Default `summary` excludes the HTML body and attachments metadata. Use `full` only when message body content is needed.summary
is_scheduledNoSet to 1 to return only scheduled (not yet sent) messages.
Behavior4/5

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

Beyond the readOnlyHint annotations, the description warns about response size limits (recommended size <= 10) and the specific error when exceeding budget, which is valuable behavioral context.

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

Conciseness5/5

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

Two concise sentences front-load purpose and provide a critical behavioral hint, with no wasted words.

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?

Given full schema coverage for parameters and annotations indicating safety, the description covers the main purpose, a key parameter, and a crucial size/error behavior. It is complete enough for effective use.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning by reiterating the is_scheduled parameter and adding a size recommendation, but does not significantly enhance parameter understanding.

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

Purpose5/5

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

The description clearly states the tool lists email and messaging history for a candidate, with a specific verb and resource. It distinguishes from the sibling 'hires_list_messages' by specifying candidate scope.

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

Usage Guidelines3/5

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

The description provides a parameter usage hint ('Use is_scheduled=1') but does not explicitly differentiate from alternatives like 'hires_list_messages' or 'hires_get_message', nor does it mention prerequisites.

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

hires_list_candidatesSearch candidatesA
Read-only
Inspect

List candidates with optional filters. Supports filtering by job, stage, email, name, LinkedIn, and date ranges. Returns paginated results. Recommended size <= 10: candidate payloads include the full profile answers array and can be large; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size, narrow filters, or fetch a single record via hires_get_candidate.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoPlain-text search by name or email. Supports partial matches.
pageNoPage number (1-based).
sizeNoNumber of items per page.
viewNoResponse shape. Default `summary` excludes the `profile` array (custom profile-form answers). Use `full` only when those answers are genuinely needed; call hires_get_candidate for a single full record.summary
emailNoExact candidate email filter.
job_idNoFilter candidates by job ID.
includeNoComma-separated related data. Supported: `applications` — embeds each candidate's application summaries with job titles and pipeline stages. Recommended when the caller needs stage/pipeline context (e.g. UI rendering, candidate-status questions).
linkedinNoSearch by LinkedIn profile URL or alias (e.g. 'johndoe' or full URL).
stage_idNoFilter candidates by pipeline stage ID. Best used together with job_id.
full_nameNoCandidate full-name filter.
company_idNoFilter by company ID. Required only when the API key has access to multiple companies.
created_afterNoReturn only candidates created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated.
updated_afterNoReturn only candidates updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. Useful for incremental sync.
Behavior4/5

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

Annotations already indicate readOnly and non-destructive. The description adds behavioral context: large payload issue, response size limit, error codes, retry hints, and impact of 'view' parameter on 'profile' array. No contradiction with annotations.

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

Conciseness5/5

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

The description is one well-structured paragraph: first sentence states purpose, second mentions pagination, third provides performance and error handling guidance. Every sentence adds value without redundancy.

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

Completeness5/5

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

For a list tool with 13 parameters, no output schema, this description covers pagination, filters, performance, error handling, and alternatives. It is sufficiently complete for an agent to use correctly.

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?

Schema covers all 13 parameters with descriptions. The description adds value by noting recommended size <=10, use cases for 'view' and 'include', and guidelines for date parameters. These go beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states the verb 'List' and resource 'candidates' with optional filters, distinguishing from siblings like hires_get_candidate. It mentions pagination and specific filter capabilities.

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?

Provides explicit guidance on when to use this tool vs alternatives: recommends size <=10 to avoid large payloads, suggests hire_get_candidate for single full records, and advises on 'view' parameter to control response shape. Could be more explicit about distinguishing from other list tools but still clear.

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

hires_list_candidate_tagsA
Read-only
Inspect

List all tags assigned to a candidate. Useful for segmentation and audience-based automations.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
Behavior2/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds minimal behavioral context beyond the verb 'list', lacking details on pagination or response structure.

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

Conciseness5/5

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

Two concise sentences, front-loaded with the action and purpose, with no redundant information.

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?

For a simple read-only tool with one parameter and no output schema, the description is nearly complete, though it could hint at the return format for completeness.

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

Parameters3/5

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

Schema coverage is 100% and the description adds no additional parameter meaning beyond the schema's definition. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'tags assigned to a candidate', distinguishing it from sibling tools like hires_add_candidate_tags and hires_list_tags.

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

Usage Guidelines3/5

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

The description mentions usefulness for 'segmentation and audience-based automations', but does not explicitly contrast with alternatives like hires_list_tags for system-wide tags or when not to use it.

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

hires_list_career_jobsA
Read-only
Inspect

List publicly visible jobs for a company career site. Supports filtering by department, employment type, city, and country. Use to power a custom careers page.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoFilter by job city (exact match)
pageNoPage number (default 1)
sizeNoPage size (default 25)
countryNoFilter by job country (exact match)
company_slugYesCompany slug identifying the career site
department_idNoFilter by department ID
employment_type_idNoFilter by employment type ID (e.g. Full-time, Part-time)
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds context about public visibility and filtering, which is useful beyond annotations.

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

Conciseness5/5

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

Two concise sentences with no wasted words, front-loaded with purpose and key features.

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?

Adequately describes purpose, filters, and use case. Lacks explicit mention of pagination, but page and size parameters are described in schema.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. Description summarizes filter options but does not add new meaning beyond the schema.

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

Purpose5/5

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

Clearly states listing publicly visible jobs for a company career site, distinguishing from internal job listings and single job retrieval siblings.

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?

Explicitly recommends use for powering a custom careers page, implying public-facing contexts, but does not mention when not to use or alternatives.

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

hires_list_categoriesA
Read-only
Inspect

List global job categories. Use for job classification and consistent taxonomy mapping.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description does not add behavioral details beyond listing categories, so it provides minimal additional transparency beyond the annotations.

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

Conciseness5/5

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

The description is extremely concise at two sentences and 12 words, front-loading the action first. Every sentence earns its place with no wasted words.

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?

For a simple list tool with no parameters and no output schema, the description is adequate. It explains what is listed and why, but could improve by hinting at the return format (e.g., that it returns objects with id and name).

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?

The input schema has no parameters (100% coverage), so the baseline is 4. The description adds value by explaining the purpose and context of the categories (global, for classification), though it does not detail the structure of returned categories.

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

Purpose5/5

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

Description clearly states 'List global job categories' with a specific verb and resource. It distinguishes itself from sibling tools as the only category-listing tool, and adds context for usage in job classification and taxonomy mapping.

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?

The description provides a clear usage context: 'Use for job classification and consistent taxonomy mapping.' However, it does not explicitly state when not to use this tool or compare it to alternative list tools, though the uniqueness of the resource reduces ambiguity.

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

hires_list_companiesA
Read-only
Inspect

List partner-accessible companies with pagination. Use for tenant discovery and management panels.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
sizeNoPage size (default 25)
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the behavioral detail that it is paginated and only returns partner-accessible companies, which is valuable beyond the annotations.

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

Conciseness5/5

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

Two concise, front-loaded sentences with no filler. Every word adds value.

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

Completeness5/5

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

For a simple read-only list tool with complete annotations and schema, the description covers purpose, usage context, and pagination. No output schema is needed as the return type is standard for list operations.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both page and size parameters. The description mentions pagination but adds no new meaning beyond what the schema already provides, so baseline score applies.

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

Purpose5/5

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

The description uses a specific verb ('List') and resource ('partner-accessible companies'), clearly distinguishing it from other list-type tools among siblings. It also highlights pagination, making the purpose unambiguous.

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?

The description explicitly states the tool is for 'tenant discovery and management panels,' providing clear usage context. While it doesn't list alternatives or exclusions, it is the only list_companies tool among siblings, so the guidance is adequate.

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

hires_list_company_id_mail_accountsA
Read-only
Inspect

List all mail accounts for all users in a specific company. The company must be accessible (own company or a client).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID
pageNoPage number (default 1)
sizeNoPage size (default 25)
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description adds little beyond stating the scope. No mention of pagination or other behavioral details.

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

Conciseness5/5

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

Two sentences, no wasted words, front-loaded with the primary action.

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

Completeness3/5

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

Given no output schema, the description should explain the return format. It omits what the list contains (e.g., mail account objects), leaving the agent to infer.

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

Parameters3/5

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

Schema coverage is 100%, with all parameters described. The description does not add meaning beyond the schema.

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?

The description clearly states the tool lists all mail accounts for all users in a specific company. However, it does not differentiate from the similar sibling 'hires_list_company_mail_accounts', which could cause confusion.

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

Usage Guidelines3/5

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

The description provides a prerequisite condition (company must be accessible) but no guidance on when to use this tool versus alternatives like 'hires_list_user_mail_accounts'.

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

hires_list_company_mail_accountsA
Read-only
Inspect

List all mail accounts for all users in the current company. Use to resolve from_account_id before creating scheduled emails.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
sizeNoPage size (default 25)
Behavior3/5

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

Annotations already set readOnlyHint=true and destructiveHint=false, indicating safe read operation. The description adds minimal extra behavioral context beyond usage hint. It does not disclose pagination behavior or any side effects, but given annotations, a score of 3 is appropriate.

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

Conciseness5/5

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

The description is two sentences: first states the purpose, second gives a usage tip. No unnecessary words, front-loaded, and every sentence earns its place.

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?

For a simple list tool with no output schema and only pagination parameters, the description sufficiently covers what the agent needs to know. It could mention return fields, but is otherwise complete.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for page and size parameters. The description does not add any additional meaning or constraints beyond what the schema provides, so baseline of 3 is justified.

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

Purpose5/5

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

The description clearly states the tool lists all mail accounts for all users in the current company, using specific verb 'list' and resource 'mail accounts'. It distinguishes from sibling tools like hires_list_user_mail_accounts (user-specific) and hires_list_company_id_mail_accounts (by company ID) by specifying scope.

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?

The description explicitly tells the agent to use this tool to resolve `from_account_id` before creating scheduled emails, providing a concrete use case. It does not mention when not to use it or compare with alternatives, but the context is clear enough.

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

hires_list_departmentsA
Read-only
Inspect

List departments for the company. Use for job organization filters and reporting dimensions.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNoTarget company ID (uses default company when omitted)
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds minimal behavioral context beyond these annotations, only restating the listing action and use cases.

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

Conciseness5/5

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

The description is two short sentences, front-loaded with the primary action and purpose. No redundant information.

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

Completeness5/5

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

Given the tool's simplicity (list departments, one optional parameter, no output schema) and good annotations, the description is complete. It explains the purpose and practical use cases.

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

Parameters3/5

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

The input schema has 100% coverage with a description for the only parameter ('company_id'). The tool description does not add any additional meaning beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the action ('List departments') and the resource ('for the company'). It also specifies use cases ('job organization filters and reporting dimensions'), distinguishing it from other list tools.

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?

The description suggests usage contexts ('Use for job organization filters and reporting dimensions') but does not explicitly mention when not to use or cite alternatives. However, given the sibling tools, the purpose is clear.

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

hires_list_education_levelsA
Read-only
Inspect

List education level taxonomy values. Useful for job requirements and structured matching.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds minimal behavioral context. However, it confirms the tool is for listing and mentions 'taxonomy values', implying a controlled vocabulary.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the action and resource, followed by a usage hint. No unnecessary words.

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

Completeness5/5

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

For a simple, parameterless, read-only list tool with good annotations, the description provides all necessary context: what it does and why it's useful.

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

Parameters3/5

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

With zero parameters and 100% schema coverage, the description does not need to add parameter info. It provides no extra detail, but that is acceptable given the schema already covers everything.

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

Purpose5/5

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

The description clearly states the action ('List') and the resource ('education level taxonomy values'), and distinguishes this tool from sibling list tools by specifying the exact taxonomy type.

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?

The description includes a usage hint ('Useful for job requirements and structured matching'), which helps agents understand when to use this tool, but does not explicitly state when not to use it or provide direct alternatives.

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

hires_list_email_templatesA
Read-only
Inspect

List email templates for the target company. Returns paginated results with template name, subject, and body. Recommended size <= 10: templates include the full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size or fetch a single template via hires_get_email_template.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
sizeNoPage size (default 25)
viewNoResponse shape. Default `summary` excludes the HTML template body. Use `full` only when body content is needed; call hires_get_email_template for a single record.summary
company_idNoTarget company ID
Behavior5/5

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

Describes behavioral traits beyond annotations: mentions that the tool may return isError:true with error_code=response_too_large and provides retry hints. No contradiction with readOnlyHint=true and destructiveHint=false.

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

Conciseness5/5

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

Single paragraph that is concise yet comprehensive. Every sentence adds value: purpose, pagination details, error behavior, alternative tool. No redundancy.

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

Completeness5/5

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

Given the tool's complexity (4 parameters, no output schema), the description fully covers key aspects: pagination, response size limits, error handling, parameter usage, and alternative tool. An agent can use it correctly.

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

Parameters5/5

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

Adds significant meaning beyond the 100% schema coverage: explains recommended size (<=10), clarifies that 'full' view includes the HTML body and should be avoided in favor of the single-fetch tool. The schema already describes parameters, but the description adds usage context.

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

Purpose5/5

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

The description explicitly states 'List email templates for the target company' with a specific verb and resource. It differentiates from the sibling tool 'hires_get_email_template' by mentioning fetching a single template as an alternative.

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

Usage Guidelines5/5

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

Provides clear guidance on when to use the tool: recommends page size <= 10 to avoid response too large errors, explains the 'view' parameter (summary vs full) and advises using 'hires_get_email_template' for full body content. Explicitly states when to reduce size or fetch single template.

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

hires_list_employment_typesA
Read-only
Inspect

List supported employment types (full-time, part-time, contract, etc.). Use for validation and normalization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds no behavioral details beyond the use case, but does not contradict annotations.

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

Conciseness5/5

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

Extremely concise: two sentences that are front-loaded and free of redundancy.

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?

For a simple, parameterless tool with no output schema, the description sufficiently covers what it does and when to use it. Could optionally mention return format.

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?

The tool has no parameters; schema coverage is 100%. The description adds value by enumerating typical employment types, aiding understanding of the output.

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

Purpose5/5

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

The description clearly states the tool lists supported employment types with examples, and distinguishes itself from sibling list tools by specifying 'employment types'.

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?

The description provides a clear use case ('for validation and normalization'), but does not explicitly mention when not to use or direct to alternative tools.

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

hires_list_experience_levelsA
Read-only
Inspect

List experience level taxonomy values for role seniority modeling.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations declare read-only and non-destructive behavior. Description adds context about taxonomy and seniority modeling beyond annotations, clarifying the purpose of the values.

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

Conciseness5/5

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

Single concise sentence with clear verb and object, no unnecessary words.

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

Completeness5/5

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

Tool is a simple list with no parameters or output schema. Description fully conveys its purpose and the domain context (seniority modeling).

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?

No parameters exist (schema coverage 100%). Description adds meaning about what is returned (taxonomy values) without needing to explain parameters.

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

Purpose5/5

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

Description specifies the verb 'list' and the resource 'experience level taxonomy values' for role seniority modeling, clearly distinguishing it from other list tools.

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

Usage Guidelines3/5

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

No guidance on when to use this tool versus alternatives; context is implicit as a simple lookup tool.

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

hires_list_formsA
Read-only
Inspect

List application forms (paginated). Returns forms with their questions for the target company. Recommended size <= 10: each form embeds its full question list; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
sizeNoPage size.
viewNoResponse shape. Default `summary` omits the embedded `questions` array. Use `full` only when the full question list is needed; call hires_get_form for a single form.summary
company_idNoTarget company ID.
Behavior5/5

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

The description discloses the error behavior when the response exceeds budget, including isError:true with error_code=response_too_large and retry hints. This adds significant behavioral context beyond the annotations (readOnlyHint: true, destructiveHint: false), which only indicate a safe read operation.

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

Conciseness5/5

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

The description is two sentences: the first states the purpose, the second provides a crucial behavioral note and guideline. Every sentence earns its place; no wasted words. It is front-loaded and efficiently structured.

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?

Given the tool has 4 optional parameters, no output schema, and annotations present, the description covers the key aspects: pagination, embedded questions, size limit, error behavior, and view parameter guidance. It could be more complete by describing the response structure (e.g., fields of forms), but it is adequate for selecting and invoking the tool correctly.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the view parameter options and their recommended usage, and by relating the size parameter to potential response size issues. This provides additional meaning beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states the tool lists application forms, paginated, with questions for a company. It distinguishes from sibling list tools by specifying it targets forms and mentions the view parameter as an alternative to using hires_get_form for a single form. The verb 'list' and resource 'application forms' are specific.

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?

The description recommends a size <= 10 to avoid response too large errors, and explains when to use the 'summary' vs 'full' view, directing users to hires_get_form for a single form. It provides clear context and suggestions for alternatives but does not explicitly state when not to use this tool.

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

hires_list_hiring_teamA
Read-only
Inspect

List users currently assigned to a job's hiring team. Useful for notification routing and collaboration tooling.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description only needs to add contextual behavioral details. It mentions 'currently assigned', implying dynamic data, and does not contradict annotations.

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

Conciseness5/5

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

The description is two sentences, front-loading the purpose and adding a use case. Every word is necessary, no redundancy.

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?

Given no output schema, the description doesn't explain return format, but for a list tool this is acceptable. It provides enough context for the agent to select and invoke correctly.

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

Parameters3/5

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

Schema coverage is 100% with one required 'id' parameter described as 'Job ID (numeric) or alias'. The description adds no further semantics beyond 'job', which is already clear from the context. Baseline score is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists users assigned to a job's hiring team, using specific verb 'List' and resource 'users on hiring team'. It is distinct from sibling tools like hires_list_users or hires_list_jobs.

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?

The description explicitly says 'Useful for notification routing and collaboration tooling', indicating appropriate use cases. However, it lacks explicit guidance on when not to use or comparison to alternatives like hires_list_users.

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

hires_list_interviewsList interviews (agenda)A
Read-only
Inspect

List interviews with optional filters by job, application, candidate, interviewer, date, or timestamps for incremental sync. Returns paginated results. Always pass include=candidate when surfacing results in the agenda widget — without it, the widget can only show candidate IDs and cannot link cards to candidate profiles. Avoid include=job on large pages (embeds full job description per interview); if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoFilter by interview date (YYYY-MM-DD, UTC)
pageNoPage number (default 1)
sizeNoPage size (default 20)
job_idNoFilter interviews by job ID
includeNoComma-separated related resources to embed: candidate, application, job. Set to `candidate` (or include `candidate` in the list) so the widget can link interview cards to candidate profiles in the backoffice.
company_idNoFilter by company ID. Omit for all accessible companies.
candidate_idNoFilter interviews by candidate ID
created_afterNoReturn only interviews created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated.
updated_afterNoReturn only interviews updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated.
application_idNoFilter interviews by application ID
interviewer_user_idNoFilter interviews by interviewer user ID
Behavior4/5

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

Annotations already indicate readOnlyHint=true, making safety clear. Description adds value by describing pagination behavior and detailed error conditions, which are not in annotations.

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

Conciseness5/5

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

Two efficient paragraphs: first covers core purpose and filters, second provides critical usage guidance with emphasis. No wasted words, front-loaded.

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

Completeness5/5

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

Given 11 optional parameters, no output schema, and annotations, the description covers purpose, filters, pagination, a specific use case, an anti-pattern, and error conditions – comprehensive without needing return value details.

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?

Schema coverage is 100% with parameter descriptions. Description enriches semantics for include parameter (critical for widget) and timestamps (incremental sync), going beyond schema.

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

Purpose5/5

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

Clearly states verb 'list', resource 'interviews', and scope with optional filters and pagination. Differentiates from sibling list tools by focusing on interviews.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance for the agenda widget ('Always pass include=candidate'), anti-pattern advice ('Avoid include=job on large pages'), and error handling details (response_too_large with retry hints).

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

hires_list_job_boardsA
Read-only
Inspect

Get current board publication state for a specific job. Returns which job boards the job is published to. Useful for distribution dashboards and posting audits.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
Behavior3/5

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

Annotations already declare readOnlyHint=true; description adds return content but no additional behavioral detail beyond what annotations imply.

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

Conciseness5/5

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

Two short, front-loaded sentences with no extraneous content.

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?

Simple tool with one parameter and clear read-only purpose; description adequately covers the result. Output schema is absent but not critical here.

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

Parameters3/5

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

Schema covers the single parameter with a description; the tool description adds no further parameter context beyond schema. Baseline 3 applies.

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

Purpose5/5

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

Clearly states it retrieves the board publication state for a specific job, with a distinct purpose from sibling batch or publish/remove tools.

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?

Provides use cases ('distribution dashboards and posting audits') but does not explicitly contrast with sibling batch tools or state when not to use.

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

hires_list_jobsList jobsA
Read-only
Inspect

List jobs with optional filters by status, date range, department, or search query. Returns paginated results. Use for career-site sync, reporting, and external system indexing. Recommended size <= 10: full job payloads include description HTML and can be large; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size, narrow filters, or fetch a single record via hires_get_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch by job title or internal title (partial match)
pageNoPage number (default 1)
sizeNoPage size (default 20)
viewNoResponse shape. Default `summary` excludes heavy fields (description HTML, indeed_posting_data, ai_scoring_criteria) and embedded relations — recommended for list operations. Use `full` only when description or include=workflow/hiring_team/pipeline_stages is genuinely needed; call hires_get_job for a single full record.summary
statusNoFilter by job status name (from GET /taxonomy/statuses, e.g. Public, Draft, Archived)
includeNoComma-separated related resources to embed: workflow, hiring_team, pipeline_stages
company_idNoFilter by company ID (required only for multi-company API keys)
department_idNoFilter jobs by department ID (from GET /taxonomy/departments)
updated_afterNoReturn only jobs updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. Use for incremental sync.
created_at_endNoReturn only jobs created at or before this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated.
created_at_startNoReturn only jobs created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated.
Behavior5/5

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

Annotations already indicate read-only behavior, and the description adds critical context: pagination, response shape variations (summary vs full), heavy fields like description HTML, and error scenarios with retry hints. No contradictions with annotations.

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

Conciseness4/5

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

The description is concise and front-loaded with the core purpose. The second paragraph about size and errors is necessary and well-structured, though slightly lengthy for the conciseness ideal.

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?

Given the complexity (11 params, no output schema), the description adds crucial context about response size limits and error handling. It also explains when to use different views, but could optionally note that pagination details (e.g., default page/size) are in schema.

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

Parameters3/5

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

Schema coverage is 100% with detailed descriptions for each parameter. The description only summarizes filter categories without adding new semantic meaning beyond what the schema already provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists jobs with optional filters and returns paginated results. It specifies use cases like career-site sync, reporting, and external system indexing, distinguishing it from sibling tools such as hires_get_job.

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

Usage Guidelines5/5

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

Explicit guidance is provided on when to use the tool and when to avoid large payloads. It recommends size <= 10, describes error handling for response_too_large, and suggests alternative hires_get_job for single records.

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

hires_list_job_webhooksA
Read-only
Inspect

List webhooks configured for job-level events. Use to audit subscriptions and deployment state.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
Behavior3/5

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

Annotations already indicate read-only and non-destructive behavior. The description adds context about job-level events but does not disclose other behaviors like error handling or rate limits.

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

Conciseness5/5

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

The description is concise, with two short sentences that front-load the core purpose and a use case. Every sentence contributes meaning without redundancy.

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

Completeness3/5

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

For a simple list tool with one parameter and no output schema, the description gives the purpose and use case but lacks details about response format (e.g., fields in each webhook). Could be more complete.

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

Parameters3/5

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

Schema coverage is 100% and the description adds no extra semantics for the 'id' parameter beyond what the schema already provides (Job ID or alias). Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('List webhooks') and scope ('job-level events'), distinguishing it from sibling tools like 'hires_list_webhooks' which likely lists all webhooks.

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

Usage Guidelines3/5

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

The description provides a use case ('audit subscriptions and deployment state') but does not explicitly differentiate when to use this tool versus alternatives like 'hires_list_webhooks' or create/delete webhook tools.

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

hires_list_messagesA
Read-only
Inspect

List messages sent or scheduled from a specific mail account. Returns outbound messages only (sent and scheduled), not received. Useful for monitoring cold outreach campaigns — check pending queue, delivery history, and plan next sends. Recommended size <= 10: messages include full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default: 1.
sizeNoNumber of items per page (1-100). Default: 20.
viewNoResponse shape. Default `summary` excludes the HTML body and attachments metadata — recommended for list operations. Use `full` only when message body content is needed.summary
statusNoFilter by message status: `scheduled` (pending send), `sent` (delivered), `all` (both). Default: `all`.
date_toNoEnd of period (unix timestamp, seconds). Filters on scheduled/sent time.
date_fromNoStart of period (unix timestamp, seconds). Filters on scheduled/sent time.
from_account_idYesID of the mail account (from `GET /companies/mail-accounts` or `GET /users/{user_id}/mail-accounts`).
Behavior4/5

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

Annotations already indicate read-only and non-destructive. Description adds that it only returns outbound messages and explains error behavior when response exceeds budget (isError:true with retry hints). This is valuable beyond annotations.

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

Conciseness5/5

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

Very concise: two sentences for core purpose plus one for recommendation. No redundant information, front-loaded with main action.

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?

For a list tool with no output schema and good annotations, the description provides essential behavioral details (outbound only, error handling). Could mention that from_account_id is retrievable from other endpoints, but that is in the schema. Overall complete enough.

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

Parameters3/5

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

Schema covers all 7 parameters with descriptions (100% coverage). Description adds no new parameter semantics beyond the schema, except a size recommendation which is more for usage. Baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states it lists outbound messages (sent/scheduled) from a specific mail account. Distinguishes from received messages and implies differentiation from candidate messages by specifying mail account. Use case for cold outreach monitoring is given.

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?

Provides context for when to use (monitoring cold outreach campaigns) and a recommendation on size <=10 to avoid budget errors. Does not explicitly exclude alternatives, but the purpose is clear enough to guide selection.

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

hires_list_notesA
Read-only
Inspect

List notes by candidate. Returns paginated discussion notes for a candidate. Use for shared recruiter context and timeline synchronization. Notes can contain long free-form text; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
sizeNoPage size
viewNoResponse shape. Default `summary` replaces the full note body with a 200-char `body_preview`. Use `full` only when the full note text is genuinely needed; call hires_get_note for a single record.summary
includeNoInclude related resources: 'user' for author details, 'candidate' for full candidate payload with url_backoffice.
candidate_idYesCandidate ID (numeric) or alias
Behavior4/5

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

Adds key behavioral details beyond annotations: notes can be long, response may trigger `response_too_large` error with retry hints. Annotations already declare readOnlyHint=true.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose, then usage context, then error behavior. No superfluous words.

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

Completeness3/5

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

Covers purpose, usage, and an error case. However, no output schema exists, and description does not explain the paginated response structure (e.g., fields, pagination metadata).

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

Parameters3/5

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

100% schema coverage means description need not add param details. Description does not add extra param semantics beyond schema, which is acceptable.

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

Purpose5/5

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

Clearly states 'List notes by candidate' with paginated discussion notes. Distinguishes from siblings like hires_get_note via schema guidance.

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

Usage Guidelines5/5

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

Provides explicit when-to-use ('shared recruiter context and timeline synchronization') and when-not-to-use (schema for `view` parameter recommends `hires_get_note` for single record).

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

hires_list_nurture_campaignsA
Read-only
Inspect

List nurture campaigns with pagination. Returns campaign summaries including steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
sizeNoPage size (default 25)
company_idNoTarget company ID (optional if API key is scoped to one company)
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds some value by mentioning pagination and return content (summaries with steps), but does not disclose additional behaviors like authentication requirements or rate limits.

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

Conciseness5/5

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

Two sentences, front-loaded with the main action, no filler. Each sentence adds value: first states what it does, second states what it returns.

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?

For a simple listing tool with full schema coverage and annotations, the description is reasonably complete. It states pagination and return content, but since no output schema exists, slightly more detail on the summary fields could be helpful.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter already well-documented in the schema. The description adds only the concept of pagination and return content, not parameter-specific details, so it doesn't go beyond the schema.

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

Purpose5/5

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

The description clearly states the action 'List nurture campaigns' with pagination, distinguishing it from sibling tools like hires_get_nurture_campaign (single campaign) and hires_create_nurture_campaign. The resource and operation are explicit.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., when to use get vs list). No context about prerequisites or typical use cases provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_originsA
Read-only
Inspect

List candidate origin taxonomy values. Use for attribution analytics and source normalization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the domain of taxonomy values but no further behavioral traits like pagination or ordering. It adds minor value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences and 13 words, front-loading the purpose and use cases without any extraneous information.

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?

Given no parameters, no output schema, and annotations covering safety, the description is adequate. It states what is listed and suggests use cases. Minor missing details like order or exhaustiveness are acceptable for a simple taxonomy list.

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?

There are no parameters, and schema description coverage is 100%. The description doesn't add parameter-specific info but mentions use cases that imply the nature of returned values, which is acceptable for a zero-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists 'candidate origin taxonomy values' with the verb 'List', specifying the exact resource. This distinguishes it from sibling tools like hires_list_sources and hires_list_categories.

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?

The description provides explicit use cases 'attribution analytics and source normalization', giving clear context for when to use, though it doesn't explicitly state when not to use or compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_questionsA
Read-only
Inspect

List paginated question catalog for the company.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
sizeNoPage size (default 25)
company_idNoTarget company ID (uses default company when omitted)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare `readOnlyHint: true` and `destructiveHint: false`, so the agent knows it's a safe read. The description adds only the pagination aspect and company scope, which are not behavioral traits beyond what annotations convey. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence containing all essential information: verb, object, and modifiers. No redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with optional parameters and no output schema, the description adequately explains what the tool does. The paginated nature and company scoping are sufficient for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with all three parameters (`page`, `size`, `company_id`) already described in the input schema. The description adds minimal ('paginated', 'for the company') but does not provide additional semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'List paginated question catalog for the company,' which clearly identifies the action (list), resource (question catalog), and scope (paginated, per company). It distinguishes from sibling tools like `hires_get_question`, `hires_create_question`, etc.

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?

The description implies usage: to list paginated questions for a company. It does not explicitly state when not to use it (e.g., for a single question, use `get_question`), but the purpose is clear enough for an agent to infer appropriate contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_question_typesA
Read-only
Inspect

List available question types supported by the platform. Use to drive dynamic form builders.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds minimal behavioral context beyond confirming it is a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words, and information is front-loaded with the primary purpose first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and annotations already present, the description is sufficient and includes a use case.

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?

No parameters exist, so the schema fully covers them; description adds no parameter info but baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'List available question types supported by the platform' with a specific verb and resource, and distinguishes from siblings like hires_list_questions or hires_list_forms by focusing on types rather than instances.

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?

Provides clear context ('Use to drive dynamic form builders') but does not explicitly state when not to use or compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_rejection_reasonsA
Read-only
Inspect

List configured rejection reasons for the company. Use to validate rejection actions and analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNoTarget company ID (uses default company when omitted)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds minimal behavioral context ('configured' reasons) but does not elaborate on behavior beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. The description is front-loaded with the core purpose, followed by a usage hint.

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?

For a simple list tool with one optional parameter and no output schema, the description adequately covers purpose and usage. It omits return format, but that is implied for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage for the single parameter (company_id) is 100%, so the description does not need to add parameter details. It does not provide additional meaning beyond the schema, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List configured rejection reasons', specifying the verb (list) and resource (rejection reasons). It distinguishes from sibling list tools by focusing on rejection reasons specifically.

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?

Explicitly says 'Use to validate rejection actions and analytics', providing clear usage context. It does not mention when not to use or alternative tools, but the use case is well-defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_sourcesA
Read-only
Inspect

List candidate sources for the company. Use for attribution sync and reporting consistency.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNoTarget company ID (uses default company when omitted)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false. Description adds purpose but no additional behavioral details like pagination or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with action and purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 optional parameter, no output schema), the description is complete and sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with company_id described. Description adds no extra meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists candidate sources and specifies the use case for attribution sync and reporting consistency. Distinguishes from other list tools among siblings.

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?

Explicitly indicates when to use ('attribution sync and reporting consistency') but does not mention when not to use or provide alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_statusesA
Read-only
Inspect

List job status labels (draft, published, on_hold, closed, archived). Cache to validate job status updates.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the caching suggestion, which is useful but not deeply behavioral. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundant words. Front-loaded with action and resource, secondary sentence adds tactical advice. Perfectly concise.

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?

With no output schema and simple semantics, the description covers the core purpose and caching intent. It could specify output format (e.g., array of strings), but the examples imply the structure.

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?

There are zero parameters, and schema description coverage is 100%. The description adds no parameter info (none needed), but the baseline for 0 params is 4. It adequately covers what the tool returns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'list' and resource 'job status labels' with concrete examples (draft, published, on_hold, closed, archived). This clearly distinguishes it from sibling tools like hires_list_jobs or hires_list_workflow_stages.

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?

The description states a clear use case: 'Cache to validate job status updates.' While it does not explicitly mention when not to use or compare to alternatives, the cache hint provides practical guidance for integration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_tagsA
Read-only
Inspect

List all tags for the company. Returns paginated results. Recommended to cache for fast tagging UX.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNoTarget company ID (uses default company when omitted)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds that results are paginated, enhancing transparency beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler; front-loaded with purpose, efficiently conveys behavior and recommendation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with one optional parameter and no output schema, the description adequately covers pagination and caching recommendation, meeting completeness needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single optional parameter. Description adds no additional parameter meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List all tags for the company' with a specific verb and resource, and distinguishes from sibling 'hires_list_candidate_tags' by specifying company-level scope.

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?

Description recommends caching for fast tagging UX, providing usage context. It does not explicitly contrast with alternatives but implies use for UI display.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_template_placeholdersA
Read-only
Inspect

List available placeholders for email templates with pagination. Use type to filter by category, q to search by label. Discover placeholders here, then use hires_prepare_template_placeholders to get an HTML tag for insertion.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFilter placeholders by label (case-insensitive substring match)
pageNoPage number (default 1)
sizeNoPage size (default 25)
typeNoFilter by placeholder type
company_idNoTarget company ID (uses default company when omitted)
is_notificationNoInclude notification-specific system placeholders (0 or 1, default 0)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false. The description adds context about pagination and workflow (discover then prepare), adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three succinct sentences: purpose, filter usage, and workflow. Front-loaded, zero fluff.

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, but description covers inputs and workflow. Could mention output format but adequate for a list tool with good annotations.

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?

Schema coverage is 100%, baseline 3. Description adds high-level guidance on q (search by label) and type (filter by category) and mentions pagination, providing extra context beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists available placeholders for email templates with pagination, and distinguishes from the sibling tool hires_prepare_template_placeholders which gets an HTML tag for insertion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use: 'Discover placeholders here, then use hires_prepare_template_placeholders to get an HTML tag for insertion.' Also explains how to filter with type and q.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_user_mail_accountsA
Read-only
Inspect

List mail accounts connected to a user. Use to resolve from_account_id before creating scheduled emails via POST /candidates/{id}/messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
pageNoPage number (default 1)
sizeNoPage size (default 25)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already show readOnlyHint=true and destructiveHint=false, indicating safe read. The description adds workflow context (preparation for a mutating endpoint). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no unnecessary words. Efficiently communicates primary function and usage.

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?

Adequately covers purpose and usage context for a list tool with annotations present. No output schema, but the description's workflow hint compensates. Could mention output fields but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions (User ID, page number, page size). Description does not add extra parameter details but explains the tool's purpose in workflow, which provides some semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List mail accounts connected to a user' and specifies its use case: 'resolve from_account_id before creating scheduled emails'. This differentiates it from sibling tools like hires_list_company_mail_accounts.

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?

Explicitly says when to use it (to resolve from_account_id before creating scheduled emails) and implies it's for user-specific accounts, distinguishing from company mail account tools. Does not explicitly state when not to use, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_usersA
Read-only
Inspect

List users for the target company with role context. Returns paginated results useful for access reviews and hiring-team management.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
sizeNoPage size (default 25)
company_idNoCompany ID to list users for
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, making the safe read behavior clear. The description adds 'Returns paginated results' but fails to disclose other behavioral traits like pagination defaults, response structure, or any prerequisites. With annotations doing most of the work, the description adds minimal additional insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first sentence states the core purpose, second adds pagination detail and user context. Every word contributes, no redundancy, and front-loaded with the most important information.

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?

The tool has 3 optional parameters and no output schema. The description explains the purpose, role context, and use cases adequately. However, it omits details like whether company_id is required for meaningful results, default pagination behavior, or expected response format. Slight gap but good overall given schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents page, size, and company_id clearly. The description adds the phrase 'with role context' but does not elaborate on how company_id or other parameters influence results. Baseline 3 is appropriate as the description provides no extra value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (List), resource (users), and scope (for target company with role context). It differentiates from siblings like hires_list_hiring_team by mentioning 'role context' and 'access reviews and hiring-team management', making the purpose distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for access reviews and hiring-team management, but does not explicitly state when to use this tool versus alternatives like hires_list_hiring_team or hires_get_user. No when-not-to-use or alternative names are provided, leaving usage context somewhat implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_webhooksA
Read-only
Inspect

List webhook subscriptions configured at company scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety profile is clear. Description adds scope context but no further behavioral traits (e.g., pagination, authentication needs).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words, directly states tool's purpose. Front-loaded with verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple list operation with one parameter, but lacks description of return format (list of webhook objects) and does not leverage output schema (absent). Minimal but not insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter 'id' fully described in schema as Company ID. Description adds no new meaning beyond schema (100% coverage), achieving baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states action (List) and resource (webhook subscriptions) with scope (company). Distinguishes from sibling hires_list_job_webhooks which lists job-scoped webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance. Agent must infer from scope difference with siblings; description lacks directive to choose between company vs job webhook lists.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_workflowsA
Read-only
Inspect

List workflows with embedded stages for the company. Use to build stage-aware integrations and routing rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNoTarget company ID (uses default company when omitted)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the behavioral detail that workflows come 'with embedded stages', which goes beyond the readOnlyHint annotation. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose, no unnecessary words. Highly concise and well-structured.

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?

For a simple list tool with one optional parameter and no output schema, the description adequately explains what is returned (workflows with embedded stages) and why it should be used (stage-aware integrations). Missing details like pagination, but acceptable given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage for the single parameter 'company_id'. The description does not add any parameter-specific meaning, but the schema already sufficiently describes it, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'List workflows with embedded stages for the company', clearly identifying the verb and resource. It also distinguishes from similar sibling tools like 'hires_list_workflow_stages' by emphasizing embedded stages.

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?

The description provides a clear use case: 'Use to build stage-aware integrations and routing rules.' It implies the context of integration building, though it does not explicitly state when not to use this tool or suggest alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_list_workflow_stagesA
Read-only
Inspect

List pipeline stages filtered by workflow or job. Useful for transition UIs and workflow validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNoFilter stages by job ID (returns stages from the job's assigned workflow)
company_idNoTarget company ID (uses default company when omitted)
workflow_idNoFilter stages by workflow ID (from hires_list_workflows)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to add safety behavior. The description adds no further behavioral traits beyond listing stages.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action, and every word adds value. No redundancy.

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?

The description covers purpose, filtering options, and use cases. However, it lacks details about return format or pagination, but for a list tool with no output schema, this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive parameter descriptions (job_id, company_id, workflow_id). The tool description does not add additional meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'pipeline stages', and explicitly mentions filtering options ('filtered by workflow or job'). This distinguishes it from siblings like 'hires_get_workflow_stages'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions it is 'Useful for transition UIs and workflow validation', which gives context, but does not explicitly state when to use versus alternatives or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_move_applicationA
Destructive
Inspect

Moves an application to a specific pipeline stage for explicit stage transitions in workflow orchestration. Requires the target stage_id (available via the job's pipeline_stages).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
includeNoComma-separated relations to embed: candidate, cv.text, job.
stage_idYesTarget pipeline stage ID.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate 'destructiveHint: true,' meaning the operation is destructive. However, the description uses the neutral term 'Moves' without clarifying destructive consequences, such as whether the previous stage is removed or history is overwritten. The behavioral impact is underspecified given the destructive annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences that directly convey the purpose and a key requirement. No extraneous information is included, and the most critical detail (stage_id sourcing) is front-loaded in the second sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation tool with no output schema, the description covers the core action and parameter sourcing adequately. However, it lacks differentiation from similar sibling tools (e.g., 'hires_advance_application') and fails to explain the destructive behavior or post-move state, leaving gaps for an agent selecting the tool.

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?

The input schema has 100% coverage with clear descriptions for all three parameters. The description adds value beyond the schema by explaining how to obtain the stage_id, which is not evident from the schema alone. This extra guidance compensates for the high schema coverage baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Moves an application to a specific pipeline stage' and specifies the context 'for explicit stage transitions in workflow orchestration.' It effectively distinguishes from similar sibling tools like 'hires_advance_application' by emphasizing explicit stage selection.

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?

The description provides explicit guidance on obtaining the required stage_id: 'Requires the target stage_id (available via the job's pipeline_stages).' However, it does not explicitly state when to use this tool versus alternatives like 'hires_advance_application' or 'hires_transfer_application,' nor does it outline prerequisites or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_patch_messageA
Destructive
Inspect

Partially update a scheduled message before send time. Only provided fields are changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCarbon-copy recipient email addresses.
idYesMessage ID.
toNoPrimary recipient email addresses.
bccNoBlind carbon-copy recipient email addresses.
bodyNoEmail body as HTML.
subjectNoEmail subject line.
scheduled_atNoUpdated send time as a Unix timestamp in seconds.
from_account_idNoSending mail account ID. If omitted, the API key owner's default mail account is used.
reply_to_email_idNoOptional mailbox message ID to reply to.
send_in_new_threadNoWhether to send the updated message as a new thread.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations: the 'before send time' constraint and the 'only provided fields are changed' behavior, which is consistent with the destructiveHint and readOnlyHint annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded information, no filler, and every word adds value.

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?

Given the rich input schema and no output schema, the description adequately covers the tool's purpose, constraints, and partial nature, though it could mention prerequisites like the message being scheduled.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description adds no additional meaning to parameters beyond stating 'only provided fields are changed', which is already implied by 'partial update'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a partial update on scheduled messages before send time, using the verb 'update' and specifying the resource and timing, which distinguishes it from full updates or other message operations.

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?

The description implies when to use (partial updates, before send time) but does not explicitly exclude alternatives or name sibling tools like hires_update_message, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_prepare_template_placeholdersA
Read-only
Inspect

Convert a placeholder reference into an HTML tag for insertion into an email template body.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesPlaceholder type (system, candidate_column, job_variable, questionnaire_link, scheduling_link)
identifierNoPlaceholder identifier
job_variable_idNoJob variable ID
form_question_idNoForm question ID
system_column_titleNoSystem column title
qas_profile_question_idNoProfile question ID
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it as read-only and non-destructive. The description adds that it produces an HTML tag, but doesn't detail behavior on invalid inputs or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words, front-loaded with verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so the description should explain what the tool returns. It only mentions 'HTML tag' but not the structure or potential errors, leaving gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents parameters. The description does not add new meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: converting a placeholder reference into an HTML tag for email templates. It distinguishes itself from sibling tools like hires_list_template_placeholders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when or when not to use this tool, nor alternatives. The usage is implied for placeholder conversion, but lacks context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_publish_to_job_boardAInspect

Activate selected job boards for a job. Sets boards to activation queue state. Use for controlled multi-board publishing workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
boardsNoArray of board identifiers to activate (e.g. ['indeed', 'linkedin'])
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavioral insight that it sets boards to 'activation queue state' rather than publishing instantly. No contradiction with annotations, which correctly indicate mutation but not destruction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load key information without any unnecessary words.

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?

Adequately covers purpose and behavior for a simple tool with two parameters and no output schema; lacks mention of prerequisites but that is acceptable given the low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters with descriptions. The description adds context about 'selected job boards' but does not provide additional semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'activate' and the resource 'selected job boards for a job', and it differentiates from siblings like 'hires_batch_publish_to_boards' by mentioning 'controlled multi-board publishing workflows'.

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?

Provides context for usage in controlled multi-board publishing, but does not explicitly state when not to use or mention alternatives like batch operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_reject_applicationA
Destructive
Inspect

Reject an application with an optional rejection reason. Use GET /taxonomy/rejection-reasons to list available reason IDs. Set suppress_notification to skip the rejection email.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
includeNoComma-separated relations to embed: candidate, cv.text, job.
rejection_reason_idNoRejection reason ID from GET /taxonomy/rejection-reasons.
suppress_notificationNoSet to true to skip sending the rejection email to the candidate.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=true, so the description's mention of 'Reject' is consistent. It adds value by explaining the optional rejection reason and notification suppression, which are behavioral details beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. The core action is front-loaded, and additional details are presented efficiently.

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?

For a 4-param tool with no output schema, the description adequately covers the main action, optional parameters, and side effects. It lacks details on return value but is otherwise complete.

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?

Schema coverage is 100%, so baseline is 3. The description adds meaning by linking rejection_reason_id to an external endpoint and clarifying suppress_notification's effect (skip email), which goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Reject an application' and specifies the resource (application). It distinguishes from sibling tools like hires_hire_application or hires_delete_application by focusing on the rejection workflow.

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?

The description provides practical guidance: how to get rejection reasons via GET /taxonomy/rejection-reasons and when to use suppress_notification. However, it does not explicitly contrast with alternatives like hires_batch_reject_applications or hires_unreject_application.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_remove_candidate_tagA
Destructive
Inspect

Remove a specific tag from a candidate.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
tagYesThe tag string to remove.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description aligns with the destructiveHint annotation but does not add behavioral context beyond what annotations already provide, such as what happens if the tag does not exist or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, effectively conveying the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description is adequate but could mention the existence of batch alternatives or idempotency behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters, and the description adds minimal value ('specific tag'). With high coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Remove a specific tag from a candidate' clearly states the verb (remove), resource (tag), and target (candidate), distinguishing it from sibling tools like hires_add_candidate_tags and hires_batch_remove_tags.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like hires_batch_remove_tags, or on prerequisites such as the candidate existing or the tag being present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_remove_from_job_boardA
Destructive
Inspect

Deactivate selected board publications for a job. Stops the job from being listed on specified boards.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
boardsNoArray of board identifiers to deactivate (e.g. ['indeed', 'linkedin'])
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations by specifying that only selected boards are deactivated ('selected board publications'), which aligns with the destructiveHint annotation. It does not contradict annotations, but does not reveal additional behavioral traits like return value or irreversible nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, fully front-loaded, with no extraneous words. Every sentence serves a purpose: first defines the action, second clarifies the effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description does not mention what the tool returns (e.g., success status). It adequately covers the action but could be more complete by indicating side effects or confirmation of deactivation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters already have descriptions. The description merely restates the schema's purpose ('Job ID' and 'board identifiers') without adding new meaning or usage constraints. Baseline score is appropriate.

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?

The description clearly states the verb 'deactivate' and the resource 'board publications for a job', and distinguishes from related tools like 'publish_to_job_board' by focusing on removal. It does not explicitly differentiate from the sibling 'batch_remove_from_boards', but the context of job-specific vs batch is implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need to stop a job from being listed on specific boards, but it does not provide explicit guidance on when not to use it or mention alternatives like batch operations for multiple jobs. An agent would need to infer from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_restore_companyA
Destructive
Inspect

Restore a previously deleted company and re-enable it for active use — its public career site comes back online. Use for recovery and rollback scenarios.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include destructiveHint=true, but the description does not explain what makes it destructive. It adds context about the career site coming back online but lacks details on permissions, side effects, or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise, front-loaded sentences with zero waste. Every word adds value.

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?

For a simple tool with one parameter and no output schema, the description covers the core purpose and use case. Could mention that the company must have been previously deleted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with a minimal description ('Company ID'), and the tool description adds no extra meaning beyond the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('restore a previously deleted company') and the effect ('re-enable it for active use — its public career site comes back online'), which distinguishes it from siblings like hires_delete_company or hires_create_company.

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?

The description explicitly says 'Use for recovery and rollback scenarios,' providing clear context for when to use this tool. It does not, however, list exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_send_candidate_messageAInspect

Schedule an email message to a candidate. If scheduled_at is omitted, the message is scheduled for 15 minutes after creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCarbon-copy recipient email addresses.
idYesCandidate ID (integer) or alias (string).
toYesPrimary recipient email addresses.
bccNoBlind carbon-copy recipient email addresses.
bodyYesEmail body as HTML.
subjectYesEmail subject line.
scheduled_atNoUnix timestamp (seconds) for when to send. Defaults to 15 minutes after creation.
application_idNoOptional application ID to link this message to.
from_account_idNoSending mail account ID. If omitted, uses the API key owner's default mail account.
reply_to_email_idNoOptional mailbox message ID to reply to.
send_in_new_threadNoSend as a new email thread instead of replying in an existing one.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations by stating it schedules an email (not immediate send) and the default timing. Annotations already indicate no readOnly/destructive biases, so the description complements them well with scheduling details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two sentences) and front-loaded with the core purpose. Every word adds value, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 parameters, scheduling, various optional fields like CC/BCC), the description is too brief. It omits return behavior, error handling, and the fact that CC/BCC are supported. The schema covers parameters but not behavioral outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. The description only reiterates the default behavior of `scheduled_at` already in the schema, adding no extra meaning or clarification for other parameters.

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?

The description clearly states the tool schedules an email message to a candidate, which is specific and distinct from sibling tools like batch creation or notes. However, it does not explicitly differentiate from similar tools like `hires_batch_create_messages` or update tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a useful detail about the default scheduling behavior (15 min after creation if `scheduled_at` omitted). But it lacks guidance on when to use this tool vs. alternatives like batch sending or updating messages, and no when-not-to-use or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_set_job_statusA
Destructive
Inspect

Change job status via dedicated endpoint. Recommended for publish/unpublish/archive transitions and status automation workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
statusYesNew job status (e.g. Draft, Public, Archived). See GET /taxonomy/statuses.
includeNoComma-separated related resources to embed: workflow, hiring_team, pipeline_stages
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, so the destructive nature is covered. The description adds 'via dedicated endpoint' but does not elaborate on side effects, reversibility, or other behavioral traits beyond what annotations provide. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and each sentence adds value. No wasted words or redundancy. Ideal conciseness.

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?

The tool is simple with no output schema, and the description covers the main intent and recommended use cases. It could mention potential side effects or validation constraints, but overall it is adequate for an agent to understand when and how to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear descriptions for all three parameters (id, status, include). The description does not add additional parameter semantics beyond the schema, so a baseline score of 3 is appropriate.

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?

The description states 'Change job status via dedicated endpoint' which is a specific verb+resource. It further clarifies recommended transitions (publish/unpublish/archive) and automation workflows. However, it does not explicitly distinguish from sibling tool hires_update_job, which could also modify status among other fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description recommends usage for publish/unpublish/archive transitions and status automation workflows, providing clear context. But it does not mention when not to use this tool or suggest alternatives like hires_update_job for more comprehensive updates. No exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_submit_career_applicationBInspect

Submit a job application on behalf of a candidate. Creates a candidate record and triggers the career-site pipeline automation.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesApplicant email address
phoneNoApplicant phone number
job_idYesJob ID to apply to
resumeNoResume file upload (base64 encoded)
sourceNoApplication source identifier
answersNoArray of form answer objects
last_nameYesApplicant last name
first_nameYesApplicant first name
company_slugYesCompany slug identifying the career site
linkedin_urlNoApplicant LinkedIn profile URL
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it's a write operation (readOnlyHint=false) and not destructive. Description adds that it creates a candidate record and triggers career-site pipeline automation, which are useful behavioral side effects beyond the basic annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the main action. Efficient but could include more detail without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Explains core action and side effects, but missing output schema details, constraints (e.g., multiple submissions), and explicit sibling differentiation. Adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with full parameter descriptions. The tool description adds no additional parameter semantics, so it meets the baseline for this dimension.

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?

Clearly states the tool submits a job application on behalf of a candidate and creates a candidate record with automation trigger. However, it does not differentiate from sibling tools like hires_create_application or hires_create_candidate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., hires_create_application, hires_create_candidate). Missing prerequisites, context about career-site pipeline vs internal applications.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_submit_feedbackAInspect

Submit structured API feedback about missing features, issues, or workflow improvements. Rate limited to 5 requests per hour.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoArbitrary context object (max 4KB JSON)
endpointNoThe API endpoint this feedback relates to, e.g. /v2/candidates
issue_typeNoCategory of the issue
descriptionYesDescription of the issue or feedback (max 2000 chars)
suggested_improvementNoSuggested solution or improvement (max 2000 chars)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-destructive behavior. The description adds the rate limit constraint, which is helpful. It does not detail what happens after submission (e.g., acknowledgment), but the core behavioral trait is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long with no fluff. It front-loads the purpose and adds the rate limit as a secondary detail. Every word is necessary.

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?

For a simple feedback submission tool with moderate parameter count and no output schema, the description covers purpose and a key constraint (rate limit). It could briefly mention the expected return value, but overall completeness is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description adds no new parameter-level meaning beyond what the schema provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'submit' and specific resource 'structured API feedback', distinguishing it from CRUD siblings. It specifies types of feedback (missing features, issues, workflow improvements), making the purpose unambiguous.

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?

The description indicates when to use the tool (to submit feedback) and mentions a rate limit (5 per hour), providing usage context. However, it does not explicitly state when not to use it or suggest alternative tools for other actions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_transfer_applicationAInspect

Transfer an application to another job. A new application is created on the target job. Optionally specify a stage on the target job's pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID to transfer.
job_idYesTarget job ID to transfer the application to.
includeNoComma-separated relations to embed: candidate, cv.text, job.
stage_idNoPipeline stage ID on the target job. If omitted, defaults to the first stage.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate that this is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false), so mutation is expected. The description adds that a new application is created, which is useful, but it does not clarify what happens to the original application (e.g., is it closed or left as is?), which is a behavioral gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the key action, and contains no redundant information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and minimal annotations, the description covers the main functionality but lacks details about the side effects (e.g., status of original application), the return value, and does not explain the 'include' parameter. It is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents all parameters. The description restates the optional stage parameter but does not add new meaning beyond what the schema provides, such as explaining the 'include' parameter or providing context for parameter values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'transfer' and the resource 'application' to another job, with the specific action of creating a new application on the target job. It distinguishes from siblings like 'hires_move_application' (likely within same job) and 'hires_create_application' (new from scratch).

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?

The description provides context for when to use the tool (to move an application to a different job) and mentions optional stage specification. It does not explicitly state when not to use it or name alternatives, but the context is clear given the sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_unreject_applicationA
Destructive
Inspect

Undo a rejection and reopen a previously rejected application. The status returns to active and rejected_at is cleared.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
includeNoComma-separated relations to embed: candidate, cv.text, job.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true. The description adds specific context about clearing rejected_at and returning status to active, but does not discuss side effects, permissions, or limitations beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no redundant or superfluous wording. Every word earns its place.

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?

The description adequately explains the effect (status and rejected_at) for a simple mutation tool with no output schema. Could optionally mention that it only works on previously rejected applications, but not necessary for clarity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters described in the schema. The description adds no additional meaning or constraints beyond what is already in the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Undo a rejection and reopen') and the specific resource ('a previously rejected application'), with precise behavioral details ('status returns to active and rejected_at is cleared'). This distinguishes it from siblings like hires_reject_application and hires_delete_application.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for reverting rejections but does not explicitly state when to use this tool versus alternatives, nor does it mention prerequisites or conditions under which it should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_applicationA
Destructive
Inspect

Update application fields such as stage, disqualification flag, and CV. For explicit stage transitions prefer hires_move_application or hires_advance_application.

ParametersJSON Schema
NameRequiredDescriptionDefault
cvNoReplace or attach a CV.
idYesApplication ID.
includeNoComma-separated relations to embed: candidate, cv.text, job.
stage_idNoMove application to this pipeline stage.
is_disqualifiedNoSet to true to disqualify the candidate on this application.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true, and the description adds context on specific fields that can be updated. No contradiction. Some behavioral details (e.g., relationship updates, validation) are missing but not critical.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, front-loaded main action and immediate usage guidance. Every sentence adds value.

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?

Covers main purpose, alternatives, and key fields. Missing mention of 'include' parameter and return values, but with sibling differentiation and no output schema, it's sufficiently complete for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description only gives high-level examples (stage, disqualification flag, CV) without adding significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates application fields (stage, disqualification flag, CV) and distinguishes itself from siblings for stage transitions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to prefer hires_move_application or hires_advance_application for explicit stage transitions, providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_candidateA
Destructive
Inspect

Update candidate fields, profile answers, and optional resume text. Used for bi-directional sync from ATS, CRM, sourcing, or enrichment tools. When the user provides an attached resume, parse it yourself from chat context and pass via resume_text — do not inline binary data.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
cityNoCandidate city for location/timezone resolution.
emailNoCandidate email address.
phoneNoCandidate phone number.
stateNoCandidate state or region.
job_idNoJob ID to create a new application for this candidate.
countryNoCandidate country name or ISO code.
profileNoKey-value map of profile field answers. Keys can be question text or question_id.
stage_idNoPipeline stage ID for the application. Requires job_id.
timezoneNoIANA timezone (e.g. 'America/Los_Angeles'). Auto-resolved from city/country if omitted.
last_nameNoCandidate last name.
first_nameNoCandidate first name.
resume_textNoPlain-text resume content extracted by the model from an attached file. Stored as a text/plain attachment. Do not pass binary or base64 — only parsed text.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description aligns with annotations (destructiveHint=true) by stating it updates candidates. It adds valuable context about handling resume text (not to inline binary data), which goes beyond what annotations provide. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first states the core purpose, second provides usage context and a specific instruction. No unnecessary words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers the main purpose and one critical usage instruction, the tool has 13 parameters and no output schema. Additional details about error handling, permission requirements, or expected response would improve completeness. The current description is adequate but minimal for a complex update tool.

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?

Schema coverage is 100%, so the baseline is 3. The description adds meaning by explaining the tool's sync context and providing critical usage guidance for the 'resume_text' parameter, which clarifies how the model should handle attached resumes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update', the resource 'candidate', and the scope 'fields, profile answers, and optional resume text'. It also provides context for its intended use in bi-directional sync scenarios, which helps distinguish it from other tools like hires_create_candidate or hires_delete_candidate.

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?

The description specifies when to use the tool (bi-directional sync from ATS, CRM, sourcing, or enrichment tools) and gives a specific instruction about parsing resume text from chat context. However, it does not explicitly mention when not to use it or provide alternatives among many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_companyA
Destructive
Inspect

Update company profile, owner contact data, and optional logo — changes the tenant's public career-site URL (slug), name, and logo (public branding). Supports partner-operated account management.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID
urlNoCompany profile URL
logoNoCompany logo file
nameNoCompany name
websiteNoCompany website URL
company_owner_nameNoCompany owner full name
is_staffing_agencyNoWhether this company is a staffing agency
company_owner_emailNoCompany owner email address
company_owner_phoneNoCompany owner phone number
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructiveHint=true, and the description confirms the tool changes tenant's public career-site URL, name, and logo. It adds context about partner-operated account management, which is beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The first sentence effectively conveys the main purpose and scope, and the second adds useful context.

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?

The description covers the main effects and impact (changes public branding), but does not mention return values or outcome on success/failure. Given the absence of an output schema and the complexity of 9 parameters, the description is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter has a description. The tool's description does not add extra meaning beyond what the schema already provides, meeting the baseline.

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?

The description clearly states the tool updates company profile, owner contact data, and optional logo, specifying the resources and actions. It distinguishes from create/delete tools but does not explicitly differentiate from other update tools among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for updating company details, and mentions 'Supports partner-operated account management' as context. However, no explicit when-to-use or when-not-to-use guidance, and no alternatives provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_email_templateA
Destructive
Inspect

Update an existing email template. Only provided fields are overwritten; omitted fields keep their current values. To add placeholders, use the same workflow as creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEmail template ID
bodyNoEmail body HTML (supports placeholders)
nameNoTemplate name
subjectNoEmail subject line (supports placeholders)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true. The description adds that only provided fields are overwritten, and notes placeholders reference, giving extra context without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states the action and key behavior, second adds placeholder guidance. No redundant information.

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?

For a simple update tool with good annotations and schema, the description is sufficiently complete. It explains partial update and placeholders, though it omits return value or permissions, but these are not critical.

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?

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining the partial update behavior ('Only provided fields are overwritten') which directly relates to how parameters are applied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update an existing email template,' which is a specific verb-resource pair. It distinguishes from sibling tools like 'create' and 'delete' templates.

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?

Provides guidance on partial updates: 'Only provided fields are overwritten; omitted fields keep their current values.' It also references creation for placeholders, though it doesn't explicitly exclude alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_formB
Destructive
Inspect

Update form name and question composition.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesForm ID.
nameYesForm name.
questionsNoArray of question IDs to attach to this form.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructiveHint=true and readOnlyHint=false, confirming the tool mutates data. However, the description adds no additional behavioral details such as whether changes are reversible, what happens to existing questions, or authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. It is front-loaded and straightforward, though it could be slightly more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is destructive (destructiveHint=true) with no output schema, the description lacks details on return values, error states, or side effects. It should provide more context for safe usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description mentions 'name and question composition', which aligns with the 'name' and 'questions' parameters but adds no new semantic detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update form name and question composition' clearly uses a specific verb (update) and resource (form), and specifies the aspects being updated (name and question composition). It distinguishes from sibling tools like 'hires_create_form' and 'hires_delete_form'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'hires_update_form_question' or 'hires_create_form'. There is no mention of prerequisites, contexts, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_form_questionA
Destructive
Inspect

Update the status (required/optional/hidden) of a question inside a form.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYesQuestion visibility on this form: required, optional, or hidden.
form_idYesForm ID.
question_idYesQuestion ID.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true (mutation) and readOnlyHint=false . The description adds no further behavioral context, such as what happens if the question or form does not exist, whether the change is reversible, or any side effects. It relies entirely on the annotation for safety cues.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and purpose. Every word is necessary; no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with fully documented parameters and destructive annotation, the description is minimally adequate. However, it omits details like whether the form must be in a draft state or if the update is live. No output schema exists, so return values are not addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description does not add additional meaning beyond referencing the status values, which are already enumerated in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action is to update the status of a question within a form, using a specific verb ('Update') and resource ('status of a question inside a form'). It distinguishes from sibling tools like hires_update_question (question content) and hires_update_form (form settings).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the description, but there is no explicit guidance on when to use this tool versus alternatives like hires_update_question or hires_create_question . No when-not-to-use or prerequisite conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_jobA
Destructive
Inspect

Update mutable job attributes. Only send fields you want to change. Preserves domain-level validation rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesJob ID (numeric) or alias
titleNoPublic job title.
statusNoJob status (e.g. Draft, Public). See GET /taxonomy/statuses.
form_idNoApplication form ID to assign to this job.
includeNoComma-separated related resources to embed: workflow, hiring_team, pipeline_stages
is_remoteNoWhether this is a remote position.
salary_maxNoMaximum salary.
salary_minNoMinimum salary.
category_idNoJob category ID from GET /taxonomy/categories.
descriptionNoJob description (HTML allowed).
workflow_idNoWorkflow ID to assign to this job.
department_idNoDepartment ID from GET /taxonomy/departments.
location_cityNoJob city.
parent_job_idNoCanonical parent job ID. If provided, the job becomes a satellite job.
salary_periodNoSalary period.
internal_titleNoInternal-only title visible to the hiring team.
location_stateNoJob state or region.
internal_job_idNoExternal reference ID from your ATS or HR system.
salary_currencyNoSalary currency code (e.g. USD, EUR).
location_countryNoJob country.
education_level_idNoEducation level ID from GET /taxonomy/education-levels.
employment_type_idNoEmployment type ID from GET /taxonomy/employment-types.
knockout_questionsNoBoolean knockout questions added to the application form.
ai_scoring_criteriaNoAI scoring criteria for evaluating candidates. Diff-replace by id: items with id update existing, items without id create new, existing criteria not in payload are removed. Omit to leave existing criteria untouched. Pass [] to detach all.
experience_level_idNoExperience level ID from GET /taxonomy/experience-levels.
resume_field_statusNoResume field behavior on the application form.
location_postal_codeNoPostal or ZIP code.
location_full_addressNoFull formatted address.
location_street_addressNoStreet address.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true and readOnlyHint=false, aligning with update behavior. The description adds value by stating partial update semantics and preservation of validation rules, which goes beyond annotation data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. The key behavior (update mutable attributes, partial update) is front-loaded. Perfectly concise and structured.

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?

Given the high parameter count and presence of annotations, the description covers the essential behavioral aspects. It could mention the return value (e.g., updated job object) for completeness, but it's not critical since output schema is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3. The description does not add additional parameter-level meaning beyond what the schema already provides. The schema itself describes each parameter sufficiently.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (update), resource (job), and scope (mutable attributes). It distinguishes from create_job and set_job_status by emphasizing partial update and mutation. Sibling tools include create, delete, and status-specific operations, making this unique.

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?

The description explicitly instructs to send only fields to change, guiding efficient usage. It mentions domain-level validation rules but does not specify when not to use or provide alternatives. The context is clear for a general update tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_messageA
Destructive
Inspect

Fully update (replace) a scheduled message before send time. All required fields must be provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCarbon-copy recipient email addresses.
idYesMessage ID.
toYesPrimary recipient email addresses.
bccNoBlind carbon-copy recipient email addresses.
bodyYesEmail body as HTML.
subjectYesEmail subject line.
scheduled_atNoUpdated send time as a Unix timestamp in seconds.
from_account_idNoSending mail account ID. If omitted, the API key owner's default mail account is used.
reply_to_email_idNoOptional mailbox message ID to reply to.
send_in_new_threadNoWhether to send the updated message as a new thread.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the description adds minimal extra behavioral context. It states 'before send time' which is a useful constraint, but does not elaborate on side effects, required permissions, or what happens if the message has already been sent. This is a moderate addition beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, no filler, and front-loaded with the core purpose. Every word adds value, and it avoids redundancy with the schema.

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?

Given the tool has 10 parameters, no output schema, and good annotations, the description covers the essential constraint (before send time) and the update nature. It lacks some context about return values or success/failure behavior, but given the completeness of the schema and annotations, it is mostly sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage, so the baseline is 3. The description does not add any additional meaning to the parameters beyond what the schema provides; it merely reiterates that all required fields must be provided. No new semantics are introduced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it fully updates (replaces) a scheduled message before send time, distinguishing it from a partial update. It uses a specific verb and resource, and differentiates from the sibling tool 'hires_patch_message' for partial updates.

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?

The description specifies that it must be used before send time and that all required fields must be provided. It implies a full replacement, and the presence of 'hires_patch_message' as a sibling gives context for when to use each. However, it does not explicitly state when not to use this tool or what the consequences of missing the send time are.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_noteA
Destructive
Inspect

Update note body and/or visibility without creating a new timeline item. Use for corrections and moderation workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNote ID
bodyNoNote content. Supports HTML.
includeNoInclude related resources: 'user' for author details, 'candidate' for full candidate payload with url_backoffice.
visibilityNoVisibility: 'all' (default) or 'private'
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds context by specifying what is updated (body, visibility) and that it does not create a new timeline item, which provides behavioral nuance beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences (19 words), front-loaded with the core action and purpose, and contains zero redundant information. Every word earns its place.

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?

Given no output schema and simple update semantics, the description covers the essential behavioral differentiator (no new timeline item) and usage workflows. It does not explain return values, but for a mutation tool this is acceptable. The parameter descriptions in the schema handle details.

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?

Schema coverage is 100% with full parameter descriptions. The tool description reinforces that body and visibility are the key updateable fields, directly aligning with the schema. This adds value by confirming the purpose of the 'body' and 'visibility' parameters in context of the update action.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Update note body and/or visibility' on the 'note' resource, and explicitly distinguishes itself by noting 'without creating a new timeline item'. This effectively differentiates it from sibling tools like hires_create_note.

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?

The description provides explicit usage context: 'Use for corrections and moderation workflows' and contrasts with creating a new timeline item. It does not enumerate alternatives or when-not-to-use explicitly, but the guidance is clear enough for an agent to infer appropriate scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_notification_messageA
Destructive
Inspect

Update a scheduled notification email before it is sent. Change subject, body, and optionally reschedule the send time. Only scheduled (not yet sent) messages can be updated.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNotification email message ID.
bodyYesEmail body as HTML.
subjectYesEmail subject line.
scheduled_atNoUnix timestamp (seconds) to reschedule send time. If omitted, the existing schedule is preserved.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=true, covering the basic behavioral profile. The description adds the scheduling precondition but does not elaborate on side effects or idempotency. With annotations present, the description adds modest context beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. First sentence states purpose and actions. Second sentence adds critical constraint. No wasted words, front-loaded with key information.

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?

For a simple update tool with no output schema, the description covers its primary action, modifiable fields, and a key precondition (scheduled, unsent). It lacks details on error conditions or return values, but given the tool's simplicity and annotations, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented in the schema. The description mentions 'subject, body, and optionally reschedule the send time', which maps to the schema parameters but adds no new semantic meaning beyond what schema descriptions already provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Update' and specifies the resource as 'scheduled notification email'. It lists modifiable fields (subject, body) and optional rescheduling. The constraint 'Only scheduled (not yet sent) messages can be updated' distinguishes it from sibling tools like hires_delete_notification_message.

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?

Explicitly states that only scheduled (not yet sent) messages can be updated, providing a clear when-to-use condition. While it doesn't name alternatives, the constraint implicitly guides against using for sent messages, referencing sibling deletion/cancellation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_nurture_campaignA
Destructive
Inspect

Update an existing nurture campaign. Pass all steps -- mark removed steps with is_deleted=true. Existing steps must include their id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNurture campaign ID
stepsYesAll steps -- mark removed steps with is_deleted=true
titleYesCampaign name
stage_idNoPipeline stage ID that triggers the campaign
timezoneNoTimezone for scheduled sends, e.g. "America/New_York"
delay_timeNoDelay in minutes before the first step
send_to_allNoWhether to send to all candidates or only new ones
workflow_idNoWorkflow ID this campaign is associated with
relative_daysNoNumber of days offset for scheduling
relative_timeNoTime of day for scheduled sends
response_move_to_stage_idNoStage ID to move candidates to when they respond
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructiveHint=true, and the description confirms it's an update operation. It adds behavioral details beyond annotations: the full-replacement approach for steps and the requirement to set is_deleted for removal. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose, second gives critical instructions. No redundant information, front-loaded. Highly concise and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (11 parameters, step types with constraints), the description covers the most critical aspect (steps) but omits guidance on omitted optional fields, return behavior, or error scenarios. Schema descriptions compensate, yet the tool could benefit from a fuller description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context for the steps parameter (pass all, mark deleted, include id) but doesn't add meaning for other parameters, which are already well-described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update an existing nurture campaign', specifying the verb 'update' and resource 'nurture campaign'. It distinguishes from sibling tools like create and delete by emphasizing the need to pass all steps and mark removed ones with is_deleted=true.

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?

Provides explicit instructions: pass all steps, mark removed with is_deleted=true, existing steps must include their id. While it doesn't compare to alternatives, the guidance is clear and actionable for when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_update_questionB
Destructive
Inspect

Update text, type, or options of an existing question definition.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQuestion ID
textYesQuestion text
typeYesQuestion type (from hires_list_question_types)
optionsNoAnswer options (for select/multiselect question types)
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already set destructiveHint=true, so the description's 'Update' adds no additional safety context. The description does not disclose any behavioral traits such as whether partial updates are allowed, what happens if options are omitted, or any side effects on linked data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that front-loads the verb and resource. Every word is informative; there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a mutation tool that has 4 parameters (3 required), the description does not explain the return value, whether the update is partial or full replacement, or any important usage nuances. It lacks sufficient context for an agent to use it correctly without external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with descriptions for all parameters. The description lists 'text, type, or options' which mirrors the schema but adds no extra meaning or constraints beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update' and the resource 'existing question definition', and specifies the updatable attributes (text, type, options). This distinguishes it clearly from sibling tools like hires_create_question or hires_delete_question.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is for existing questions only ('Update ... an existing question definition'), but does not explicitly state when to use it versus alternatives, nor does it mention any prerequisites or conditions. No alternative tools are referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_upload_application_attachmentAInspect

Upload a file attachment to an application. Provide the file as base64-encoded data. Commonly used for signed documents and interviewer artifacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApplication ID.
fileYesFile to upload.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it's not read-only and not destructive. The description adds that input must be base64-encoded, which is a behavioral requirement. No side effects, permissions, or size limits are disclosed, but for a simple upload the provided info is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. The action and key requirement (base64) are front-loaded.

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?

For a straightforward upload tool with complete schema, the description covers purpose, encoding, and typical use cases. No output schema exists and none is needed; the description is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema fully documents parameters. The description mentions base64 encoding and common file types, slightly reinforcing the schema but not adding significant new meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Upload'), resource ('file attachment to an application'), and provides common use cases ('signed documents and interviewer artifacts'). The name and description effectively distinguish it from sibling tools like hires_upload_attachment and hires_upload_candidate_file.

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?

The description gives context for typical usage ('commonly used for signed documents and interviewer artifacts'), implying when this tool is appropriate. However, it does not explicitly contrast with other upload tools or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_upload_attachmentAInspect

Upload a file and create an attachment. Supported categories: voicemail (wav/mp3, max 20 MB, no object_id — returned uuid is usable as attachment_uuid in nurture voicemail steps); candidate (candidate ID); application (application ID); candidate_comment (comment ID); job_note (job-note ID); company_favicon/company_header/company_link_preview (company ID). Object ownership is strictly verified against the authenticated API key's company. Returns {uuid, url, file, relative_time}.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesFile payload.
categoryYesAttachment category. Determines allowed extensions and object_id semantics.
object_idNoTarget object ID (candidate/application/comment/job-note/company, per category). Omit for `voicemail`.
company_idNoTarget company ID. Needed for partner API keys managing multiple client companies. Omitted → defaults to the authenticated company. The object_id must belong to this company (strict match).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include openWorldHint=true and destructiveHint=false. The description adds behavioral context: object ownership is strictly verified against the API key's company, and the returned uuid for 'voicemail' can be used in nurture steps. It also specifies the return format, which is not present in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it begins with a clear purpose, lists categories with key constraints, adds ownership context, and ends with return format. It is front-loaded but slightly verbose with inline parentheticals; still effective.

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?

Given the complexity (4 parameters, nested file object, 8 enum categories, no output schema), the description covers parameter usage, category-specific details, ownership verification, and return fields. It does not address error handling or rate limits, but is sufficient for agent invocation.

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?

Schema description coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining category-specific semantics, such as when object_id is nullable or required, and that company_id defaults for single-company API keys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb and resource: 'Upload a file and create an attachment.' It enumerates supported categories with specific details (e.g., 'voicemail' versus 'candidate'), distinguishing it from sibling tools like 'hires_download_attachment' or 'hires_upload_application_attachment'.

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?

The description provides explicit guidance on when to use each category, such as omitting object_id for 'voicemail' and requiring it for others. It also mentions strict ownership verification. However, it does not explicitly state when not to use this tool compared to specialized upload alternatives like 'hires_upload_application_attachment' or 'hires_upload_candidate_file'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hires_upload_candidate_fileAInspect

Upload a file for a candidate using a base64 payload. Used for portfolio uploads and document attachment. WARNING: host function-call serializers (both OpenAI and Anthropic) truncate tool arguments above ~20KB, so binary files larger than that will arrive corrupted. For resumes specifically, prefer hires_create_candidate / hires_update_candidate with resume_text — the model parses the file from chat context and passes extracted text, avoiding the size limit entirely.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCandidate ID (integer) or alias (string).
fileYesFile to upload (base64 payload).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses critical behavioral trait: serializers truncate arguments above ~20KB, causing corruption for larger files. No annotations contradict this. Description adds essential context beyond readOnlyHint=false and destructiveHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a critical warning, all essential. Front-loaded with purpose, then usage guidelines and behavioral transparency. No wasted words.

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?

Covers purpose, usage, and critical limitation. Lacks output description but for an upload tool, the main value is the action and caveat. No output schema exists to compensate, but the description is sufficiently informative for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description does not add additional parameter details beyond what schema provides; the size warning is relevant but not per-parameter. No improvement over schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'Upload' and resource 'file for a candidate' with specific use cases (portfolio uploads, document attachment). Distinguishes from sibling tools like hires_create_candidate and hires_upload_attachment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly warns about the ~20KB truncation limit due to serializers, advises against use for large files, and recommends alternative tools (hires_create_candidate/hires_update_candidate with resume_text) for resumes. Provides clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.