Skip to main content
Glama

Add a candidate to a job

recruitee_assign_candidate_to_offer
Destructive

WRITE: put an existing candidate on a job (or talent pool) — creates a placement in the pipeline's first stage. Pass exactly one of offer_id or talent_pool_id. Recruitee: POST /c/{company_id}/placements.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offer_idNoThe job id.
candidate_idYesThe candidate id.
talent_pool_idNoThe talent pool id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations supply destructiveHint=true; the description reinforces the mutation nature with 'WRITE:' and adds genuinely new behavior — it creates a placement in the pipeline's FIRST stage and names the underlying POST endpoint. It omits failure/idempotency behavior, so not a 5.

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?

One dense sentence, front-loaded with the WRITE prefix and the core action, then the key constraint and endpoint. Every clause earns its place with no filler.

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 3-param write tool with no output schema, the description covers what it does, the one-of constraint, the pipeline placement behavior, and the endpoint. Nothing essential for correct invocation is missing.

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 schema already explains each id. The description adds the mutual-exclusivity rule 'pass exactly one of offer_id or talent_pool_id', which the schema does NOT encode (only candidate_id is marked required). That is real 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?

States a specific verb+resource (put an existing candidate on a job/talent pool) and adds scope ('creates a placement in the pipeline's first stage') that clearly separates it from the move_candidate_stage sibling. An agent can pick this over create_candidate or move_candidate_stage just from the text.

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 usable context: it operates on an EXISTING candidate, and the caller must pass exactly one of offer_id or talent_pool_id. It does not explicitly name alternatives or state when-not conditions (e.g., versus move_candidate_stage), so it stops short of a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.