SalesBlink Cold Email
Server Details
Cold email sequences, leads, templates, senders, inbox, and analytics via the SalesBlink API.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- open-salesblink/skill
- GitHub Stars
- 20
TDQS
Scored across 88 tools
Many tools target distinct resources/actions, but several pairs have overlapping boundaries: delete_blocklist_entry vs remove_from_blocklist, fetch_sender_messages vs fetch_multiple_sender_messages, archive_sequence vs update_sequence_status, and multiple workspace/account lookup tools. Descriptions help, but the 88-tool surface still creates meaningful misselection risk.
The set is mostly consistent snake_case verb_noun naming (get_all_lists, create_sequence, update_template). Minor deviations exist, such as list_my_workspaces vs get_all_workspaces, add_contacts vs add_to_blocklist, remove_from_blocklist vs delete_blocklist_entry, and the bare signup.
With 88 tools, the surface is far larger than a typical MCP integration should expose. Numerous tools could be consolidated, especially login-link helpers, analytics endpoints, workspace/account operations, and overlapping blocklist removals.
Coverage is broad across contacts, lists, sequences, templates, senders, inbox, analytics, blocklist, workspaces, users, API keys, and deliverability. Minor gaps remain: no hard delete for lists/sequences/templates/users/workspaces/folders (archive only), and folder management lacks update/delete operations.
Available Tools
88 toolsadd_contactsAdd ContactsADestructiveInspect
Add Contacts to a List - Add multiple contacts to an existing list. Contacts must come from an evidenced import or consent source that the account holder already has (e.g. their own opt-in list, CRM export, or inbound leads) — do not assemble addresses from model knowledge or web scraping. All contact field names use snake_case (e.g. first_name, last_name, email, phone, company_name, job_title, lead_score). Custom snake_case fields are added to the list's columns. The starred boolean is a contact setting and is not added as a list column. Contact archiving is handled by archive_contact.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | The list ID to add contacts to | |
| contacts | Yes | Array of contact objects to add (max 500). All field names must be snake_case; additional custom snake_case fields are allowed. | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| consent_basis | Yes | REQUIRED attestation of where these contacts came from. The addresses must originate from an evidenced import or consent source the account holder already has — never addresses assembled by the model or scraped from the web. The call is rejected without this value; it is validated by the connector and never sent to the SalesBlink API. | |
| remove_duplicates | No | Automatically remove duplicate emails from the list |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the safety profile is covered and the bar is lower. The description adds real behavior beyond that — custom snake_case fields become list columns and `starred` is a contact setting rather than a column. However, it never says what happens to contacts already present in the list, whether existing records are updated or duplicated, or how destructive this really is for a 500-item batch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and the data-provenance constraint are front-loaded in the first two sentences, before the field-format details. It is slightly long and the snake_case/`starred` point is partially duplicated in the schema, but no sentence is pure padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a destructive batch mutation the description covers the two things an agent can't get elsewhere: the data-source attestation policy and the list-column side effect of custom fields. The remaining gap (duplicate/existing-contact behavior) is a minor edge case rather than a missing prerequisite.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the five parameters including the consent_basis enum is already documented in structured data. The description's snake_case naming convention and the `starred` clarification largely restate what the schema says. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (add multiple contacts to an existing list), including the batch nature and the prerequisite that the list already exist. It also distinguishes itself from archive_contact by naming that sibling explicitly, so an agent can rule out the wrong tool without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a strong usage precondition (contacts must come from an evidenced import or consent source the account holder already has) and an explicit exclusion (do not assemble addresses from model knowledge or scraping). It also routes archiving to archive_contact. What it lacks is guidance against adjacent siblings such as add_user or create_list for the case where the list does not yet exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_to_blocklistAdd To BlocklistCInspect
Add to Blocklist - Add emails and/or domains to the blocklist
| Name | Required | Description | Default |
|---|---|---|---|
| emails | Yes | Array of emails or domains to block | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered externally. The description adds nothing beyond that: no disclosure of duplicate handling, whether blocking is idempotent, what happens to already-blocked addresses, or the effect on workspace scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, but the first clause ('Add to Blocklist') is a pure restatement of the name/title and consumes roughly half the text, leaving only one short functional clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has full schema coverage, annotations, and an output schema, so the description needs little. Still, for a mutation it omits return behavior signals like whether blocked entries appear immediately and how duplicates are reported, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented, including that the emails array accepts domains. The description's 'emails and/or domains' phrasing merely restates the schema rather than adding format or constraint details, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (add) and resource (emails/domains to the blocklist), so the operation is unambiguous. However, it does not distinguish itself from close siblings like remove_from_blocklist, check_blocklist, get_blocklist, or delete_blocklist_entry — the agent must infer the difference from names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given: nothing about when to block versus check or remove, and no mention of prerequisites such as whether the sender must exist first. Usage is only 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.
add_userAdd UserBDestructiveInspect
Add a User - Invite a new user to your account
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional URL to redirect after accepting invitation | |
| role | No | User role | user |
| Yes | Email address of the new user | ||
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so the safety profile is covered. The description's added value is the word 'invite', which implies an outbound email/membership side effect, but it never says an email is dispatched, that a role is granted, or that role='admin' is privileged — all relevant given destructiveHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses, front-loaded and waste-free, though 'Add a User' largely restates the tool name and title before the more informative 'Invite' clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations carry the safety signal. However, for a mutation that grants account access and is flagged destructive, the description omits permission requirements, invitation/email behavior, and role implications, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter (url, role enum, email, workspace_id) is documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema — nothing about what each role grants or how workspace_id scoping affects the invitation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource plus the key nuance that this is an *invitation* ('Invite a new user to your account'), which separates it from plain record creation. It does not explicitly distinguish itself from siblings like add_contacts or update_user, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g. admin permission), and no mention of alternatives such as update_user for existing members or get_all_users to check for duplicates. The agent is left to infer all routing decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_contactArchive ContactBDestructiveInspect
Archive or Unarchive a Contact - Archive leads/contacts to remove from active campaigns
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The contact ID (MongoDB ObjectId) | |
| archived | No | true to archive, false to unarchive | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds that archiving removes the contact from active campaigns, but does not say whether the action is reversible, whether data is retained, or what happens to sequence enrollments — meaningful gaps for a destructive mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action and its effect; nothing wasted. It is arguably too short rather than too long, but structure is sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and all three params are described in the schema. However, for a destructive mutation tool the description leaves reversibility and side effects (campaign/sequence impact) unstated, which is more than trivial for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so id, archived, and workspace_id are fully documented in the schema. The description only echoes the archive/unarchive duality that the archived flag already encodes, adding no new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (archive/unarchive) and resource (Contact) plus the effect of archiving ('remove from active campaigns'). It implicitly distinguishes itself from siblings like archive_list, archive_sequence, and archive_template by naming the resource, though it never explicitly names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The effect ('remove from active campaigns') implies the use case, but there is no explicit when-to-use, no when-not-to-use, and no routing to near-neighbors such as remove_contact, move_lead, or unsubscribe_lead_from_sequence, which an agent could easily confuse with archiving.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_listArchive ListADestructiveInspect
Archive or Unarchive a List - Archive lists to remove them from active views
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The list ID | |
| archived | No | true to archive, false to unarchive | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so safety framing is partly covered. The description adds genuinely useful context the annotations lack: the operation is bidirectional (archive/unarchive) and its effect is a visibility change rather than deletion, which softens the scary 'destructive' flag. It does not mention permissions or confirmation requirements, keeping it below 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight clauses with the action front-loaded and the effect immediately after. Slight redundancy between the title echo and the 'Archive lists to...' clause, but no wasted padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, annotations cover the safety profile, and all three parameters are fully described in-schema, including the default and workspace fallback. Nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — id, the archived boolean with its default, and workspace_id fallback behavior are all fully documented in the schema. The description adds no parameter-level detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair and resource ('Archive or Unarchive a List') plus the effect ('remove them from active views'), which is far more informative than the title alone. It is distinguishable from update_list or delete-style siblings by name, though it never explicitly contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'to remove them from active views' implies when to archive (to hide rather than delete), so usage is inferable. However, there is no explicit when-not guidance and no pointer to the sibling that should be used for other list changes (e.g., update_list for renaming).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_sequenceArchive SequenceADestructiveInspect
Archive or Unarchive a Sequence - Archive sequences to pause and hide them
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sequence ID | |
| archived | No | true to archive, false to unarchive | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false; the description adds value by naming the effect (pausing and hiding) and implicitly signaling reversibility through the unarchive option. It does not explain what happens to active leads/enrollments in the sequence or what permission is required, which matters for a destructive-flagged mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses, front-loaded with the action. There is mild redundancy between the title echo and the second clause, but no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Wrong — recomputing: with an output schema present, 100% schema coverage, and annotations covering the safety profile, only the side effects on enrolled leads and the relationship to update_sequence_status remain unexplained. That gap is modest but real for a destructive toggling tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the archived boolean's 'true to archive, false to unarchive' semantics and the workspace_id fallback, so the schema already carries the parameter meaning. The description adds nothing about how the archived toggle interacts with the described 'pause and hide' behavior, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (archive/unarchive) and resource (sequence), and adds the effect ('pause and hide them'). The resource name alone distinguishes it from archive_list, archive_template, and archive_contact, so no further sibling disambiguation is strictly required.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied via 'to pause and hide them'. It never addresses when to use this versus pause-style siblings like update_sequence_status or unsubscribe_lead_from_sequence, nor does it state prerequisites such as needing the sequence not to be actively sending.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_templateArchive TemplateBDestructiveInspect
Archive or Unarchive a Template - Archive email templates
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The template ID | |
| archived | No | true to archive, false to unarchive | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the agent knows this mutates state. The description usefully signals that the operation is bidirectional (unarchive exists), implying reversibility, but it does not say what archiving does to a template already used in sequences, nor correct the arguably harsh destructive=true framing for a reversible toggle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, but the second clause 'Archive email templates' is redundant with the first and consumes roughly half the text without adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and all three parameters are documented, so the structured data carries most of the load. Still missing is any note on side effects (e.g. whether archived templates still render in sequences) that would matter for a destructive-flagged toggle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: id, archived (default true), and workspace_id fallback behavior are all documented in the schema. The description adds no syntax, defaults, or semantics beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (Archive/Unarchive) and resource (Template/email templates), which lets an agent distinguish it from archive_list, archive_sequence, and archive_contact. The trailing 'Archive email templates' merely restates the verb+resource rather than adding scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to archive versus using update_template, delete_*, or get_template, and no mention of prerequisites or alternatives among the many archive_* siblings. Usage is only inferable from the word 'Archive' itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_blocklistCheck BlocklistCRead-onlyInspect
Check Blocklist - Check whether an email is blocked
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email to check | ||
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and closed-world scope, so the safety profile is covered. The description adds nothing beyond that—no statement about what is returned when the address is absent, whether matching is exact or domain-level, or rate limits—so it contributes no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is good, but the two clauses duplicate each other and the tool name, so only one sentence's worth of content is doing real work.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, an output schema exists, and annotations plus schema cover safety and both parameters, so the thin description is adequate. It stops short of the small amount of extra context (match semantics, meaning of a negative result) that would make it genuinely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the email and workspace_id parameters are fully documented in the schema, establishing the baseline of 3. The description adds no extra meaning about parameter semantics such as exact-vs-substring matching or workspace scoping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("check whether an email is blocked"), but it largely restates the tool name and title rather than extending them. It implies a single-email lookup in contrast to the sibling get_blocklist, but never makes that distinction explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus get_blocklist, add_to_blocklist, or remove_from_blocklist, nor any mention of prerequisites. The agent must infer the scoping from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clone_sequenceClone SequenceCInspect
Clone a Sequence - Create a copy of an existing sequence
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sequence ID to clone | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, and the description adds nothing on top of that — it restates the title. It does not say whether the copy is active/paused, whether leads, stats or schedules are carried over, whether the original is modified, or how the copy is named.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, which is good, but the second clause ('Create a copy of an existing sequence') simply restates 'Clone a Sequence', so half the text does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a mutating clone tool the description leaves key questions unanswered — resulting sequence state, what content is copied, and workspace fallback behavior — which the schema and annotations do not cover.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and workspace_id are already documented in the schema, and the description adds no extra semantics such as whether the clone lands in the source sequence's workspace or the one supplied. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (clone/copy) and resource (sequence), which cleanly separates it from create_sequence (new) and get_sequence (read). It stops short of naming a sibling or stating what makes a clone different, so it is clear but not maximally differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to clone versus create_sequence or update_sequence, no preconditions, and no mention of how workspace_id selection interacts with the operation. The agent must infer all usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_folderCreate FolderBInspect
Create a Folder - Create a new folder for organizing items. The type field is supported only for email-sender folders; general folders for lists, templates, and sequences do not use it.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the folder | |
| type | No | Folder type. The value 'email-sender' creates an email-sender folder. General folders (lists, templates, sequences) do not use this field. | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the mutation/safety profile is covered. The description adds a useful constraint about the email-sender folder type, but says nothing about permissions, duplicate-name behavior, or what happens when workspace_id is omitted (beyond what the schema states).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the actionable content first. Minor waste in the redundant 'Create a Folder - Create a new folder' opening, which repeats the title and name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, 3-parameter tool with full schema coverage and an output schema, the description covers the essential caveat (folder type scoping). Only the absence of selection guidance against sibling create_* tools keeps it from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 restates the 'type' field restriction that the schema already documents verbatim, adding no syntax, format, or constraint details beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a new folder for organizing items'), so an agent immediately knows the operation. It does not explicitly contrast with siblings like get_all_folders or create_list, but the resource is distinct enough within the toolset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to use this tool versus alternatives (e.g., create_list, create_workspace) or what prerequisites exist (workspace selection, permission requirements). The only conditional guidance concerns the 'type' field, which is parameter behavior rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_inbox_placement_testCreate Inbox Placement TestCDestructiveInspect
Create Inbox Placement Test - Test email deliverability across providers
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Email body HTML (required for custom content_type) | |
| mode | Yes | Test mode: one-time or recurring | |
| name | Yes | Test name (min 3 characters) | |
| source | Yes | Source of test content | |
| subject | No | Subject line (required for custom content_type) | |
| plainText | No | Send as plain text instead of HTML | |
| sender_id | No | Legacy single sender UUID. Mutually exclusive with email_senders. | |
| sequence_id | No | Sequence UUID (required for sequence content_type) | |
| template_id | No | Template ObjectId (required for template content_type or sequence content_type) | |
| content_type | No | Required when source is from-salesblink or mode is recurring | |
| schedule_day | No | Day of week: 0=Sunday to 6=Saturday (required when mode is recurring) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| email_senders | No | Array of email senders and/or folders to send test emails from. Folders are expanded server-side into all senders they contain. Duplicates are automatically removed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered, but the description adds little beyond them. It does not disclose that the test actually dispatches real emails, what side effects or costs that entails, or any rate/permission requirements, despite the openWorldHint flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded line with no wasted words, but the brevity reflects under-specification rather than efficiency for a 13-parameter mutation tool. The tagline earns little place given the missing functional detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 13 parameters, conditional content_type requirements, mutually exclusive senders, and a nested email_senders structure, a one-line description is inadequate. Even though an output schema exists, the description should explain the creation workflow and key constraints the agent must reason about.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 13 parameters are already documented in the schema, including conditional requirements and mutual exclusions. The description contributes no additional parameter meaning, which matches the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name ('Create Inbox Placement Test') and adds only a tagline ('Test email deliverability across providers') that describes the test rather than the action. It does not state what is created or how it differs from siblings like get_inbox_placement_tests, pause_inbox_placement_test, or delete_inbox_placement_test.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., needing senders or a source), and no reference to alternative tools. An agent gets no signal about the conditions that should lead it to call this versus inspecting existing tests with get_inbox_placement_tests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_listCreate ListAInspect
Create a List - Create a new contact list. Contacts added to lists must originate from an evidenced import or consent source that the account holder already has (e.g. their own opt-in list, CRM export, or inbound leads) — not addresses assembled by the model. The response includes a fields array — the list's columns in snake_case (e.g. first_name, email).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the list | |
| folder | No | Optional general folder ID to organize the list. Must be a folder created without a type (i.e., not an email-sender folder). | |
| starred | No | Whether to star the list | |
| verification | No | Enable email verification for contacts in this list | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| archive_risky | No | Archive contacts with risky emails after verification | |
| archive_invalid | No | Archive contacts with invalid emails after verification |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, destructive=false, openWorld=false), so the bar is lower; the description adds real value by disclosing a data-provenance constraint on which contacts may enter the list and by describing the returned fields array. It stops short of noting failure modes or whether the call is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose first, then the policy constraint, then response shape. The long provenance clause is dense but every sentence carries information an agent would otherwise lack.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, full schema coverage and an output schema, the description only needs to supply policy and return-shape context, which it does via the consent-source rule and the fields array note. Minor gaps like workspace defaulting behavior are already in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented in the schema, and the description adds nothing about them. The mention of the response `fields` array is return-value context, not parameter meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Create a new contact list,' which is distinct from sibling create_folder and from read siblings get_list/get_all_lists. It doesn't explicitly name an alternative, but the resource is unambiguous enough that an agent can route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a substantive rule about acceptable contact provenance ('evidenced import or consent source'), which is implied usage guidance, but it never states when to reach for create_list rather than create_folder or create_workspace, nor any prerequisites like permissions or workspace scoping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sequenceCreate SequenceAInspect
Create a Sequence - Create a new email sequence/campaign. Recipients must be the account holder's own contactable audience (e.g. their own opt-in or otherwise consented contacts) — never addresses assembled by the model — and suppression/blocklist is always enforced. Sequences are created paused by default; launching (resuming) sends emails to recipients and must only happen after explicit user confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| bcc | No | BCC email address for all outgoing emails | |
| name | Yes | Name of the sequence | |
| lists | Yes | Array of list UUIDs to include in the sequence | |
| steps | Yes | Sequence steps. Required and non-empty. Each email step must be {type: 'email', template_id: 'public-template-uuid'} with optional send_as: 'new' | 'followup' (followup replies in the existing thread; ignored on the first email step, which always starts a new thread). Each delay step must be {type: 'delay', days: number}. | |
| folder | No | Optional general folder ID to organize the sequence. Must be a folder created without a type (i.e., not an email-sender folder). | |
| paused | No | Whether to create the sequence in paused state. Default true (the API pauses new sequences when omitted). When false, the sequence launches and starts sending emails (in ~5 mins with launchTimingMode 'now', or at scheduledAt when 'schedule') and requires confirm: true as the account holder's explicit approval. | |
| confirm | No | Required when paused is false — confirms the account holder explicitly approved launching the sequence | |
| delayTo | No | Maximum delay in minutes | |
| senders | Yes | Comma-separated sender UUIDs | |
| starred | No | Whether to star the sequence | |
| skip_esg | No | Skip ESG detection | |
| timezone | No | IANA timezone for scheduled sending, e.g. 'Asia/Calcutta' or 'America/New_York'. Required when launchTimingMode='schedule'; otherwise it defaults to America/New_York. | |
| autoPause | No | Enable auto-pause | |
| delayFrom | No | Minimum delay in minutes | |
| evergreen | No | Enable evergreen sequence | |
| plainText | No | Send as plain text email | |
| auto_reply | No | Enable auto-reply detection | |
| riskyEmail | No | Send to contacts with risky email status | |
| validEmail | No | Send to contacts with valid email status | |
| bouncePause | No | Pause on bounce threshold reached | |
| scheduledAt | No | Launch time. UTC milliseconds OR an ISO 8601 datetime with timezone offset, e.g. '2026-07-08T16:30:00+05:30' for 4:30 PM IST. Required when launchTimingMode='schedule'. | |
| delayEnabled | No | Enable sending delay between emails | |
| invalidEmail | No | Send to contacts with invalid email status | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| matchProvider | No | Match email provider when sending | |
| autoTagReplies | No | Auto-tag replies | |
| checkEmailOpen | No | Check if recipient opened previous email | |
| bounceThreshold | No | Bounce threshold before pausing | |
| checkEmailClick | No | Check if recipient clicked a link in previous email | |
| checkEmailReply | No | Check if recipient replied to previous email | |
| launchTimingMode | No | When to launch: 'now' (default, starts in ~5 mins) or 'schedule' | |
| emailSendingHours | No | Custom email sending hours for each day of the week (Monday-Sunday). Default: weekdays 09:00-17:00 enabled, weekends disabled. | |
| stopWhenReplyRecieved | No | Stop sequence when recipient replies | |
| checkEmailBeforeSending | No | Verify email before sending. When enabled user must approve email before they can be sent | |
| sendToOnlyVerifiedEmail | No | Only send to verified emails | |
| stopWhenReplyRecievedWhen | No | When to stop sequence on reply: 'contact' = stop for this contact only, 'contact-with-same-domain' = stop for all contacts sharing the same domain |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only say the tool is a non-destructive write with open-world effects. The description adds policy context they do not cover: recipients must come from the account holder's own consented audience and must never be addresses the model assembled, suppression and blocklist are always enforced, and sequences are created paused by default. It also spells out the consequence of launching, which is that emails get sent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose and then with the highest-risk constraints. The only waste is the redundant 'Create a Sequence -' prefix that restates the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 36 parameters, 100% schema coverage, and an output schema, the description carries only the non-schema-recoverable policies, which it does well. Minor gap: it does not tie recipients to the required `lists` UUID parameter, so the agent must connect the consent rule to that field on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 36 parameters, including launchTimingMode, confirm, and send_as nesting, is already documented inline. The description adds only the paused-by-default behavior, without extra argument formats. That baseline 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb and resource: 'Create a new email sequence/campaign.' That clearly separates it from read/update siblings, but the family of adjacent write tools (clone_sequence, update_sequence, update_sequence_status) is not named, so differentiation has to be inferred from the verbs alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit precondition for the risky path: launching may happen only after explicit user confirmation. However, it never says when to prefer clone_sequence over create_sequence, or when to use update_sequence on an existing sequence instead. Usage is clear within the call, but not relative to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_templateCreate TemplateAInspect
Create a Template - Create a new email template. Attachments are not supported on this connector — to send files, attach them via the SalesBlink web app.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the template | |
| folder | No | Optional general folder ID to organize the template. Must be a folder created without a type (i.e., not an email-sender folder). An empty string removes the template from its folder. | |
| content | Yes | HTML content of the email template | |
| starred | No | Whether to star the template | |
| attachments | No | NOT supported on this connector — providing file paths returns an error. Attach files via the SalesBlink web app instead. | |
| subject_line | Yes | Subject line of the email | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the write-but-non-destructive profile is covered. The description adds the connector limitation on attachments, but says nothing about error behavior (e.g. duplicate names), permissions, or what the agent gets back — though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by a genuine constraint. The opening "Create a Template -" partially restates the title before the useful clause, which is minor waste but not damaging.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and all seven parameters are fully described, so the description needn't explain return values or param formats. It covers the one non-obvious behavioral constraint (attachments) that the schema also flags; nothing essential for calling the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including the folder-typing constraint and the attachments limitation is already documented in the schema. The description adds no parameter-level meaning beyond what the schema provides, which is the baseline case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb+resource ("Create a new email template"), which is more specific than the title's bare "Template" and separates it from update_template/get_template/archive_template by verb. It does not explicitly name siblings or contrast scope, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The create verb implies the when (making a new template rather than editing an existing one via update_template), and the attachment caveat routes the agent to the web app for files. There is no explicit statement of prerequisites, workspace scoping, or when to prefer an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workspaceCreate WorkspaceCInspect
Create Workspace - Create a new workspace (owner only)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the workspace (min 4 characters) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| workspaceName | No | Name of the workspace |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose write-type, non-destructive, closed-world behavior, so the bar is lower. The description adds the useful 'owner only' permission constraint, but says nothing about duplicate-name handling, workspace limits, or whether creation switches the active workspace.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short line with the action front-loaded and no filler. It is appropriately sized for what it says, though that is largely because it says very little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool that creates a top-level resource, the description omits the things an agent most needs: idempotency/duplicate behavior, the effect on the caller's active workspace, and any post-conditions. The presence of an output schema offsets return-value concerns but not these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented, and the baseline is 3. The description adds no meaning about why workspace_id/workspaceName appear on a create operation, which is the schema's most confusing aspect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a verb plus resource ('Create a new workspace'), so the action is identifiable, but the phrasing is nearly a restatement of the title 'Create Workspace' and offers no differentiation from siblings such as list_my_workspaces, get_all_workspaces, select_workspace, or update_workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'(owner only)' gives one precondition for use, but there is no guidance on when to create vs. select an existing workspace, what happens if one already exists, or how this relates to the sibling workspace tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_api_keyDelete API KeyADestructiveInspect
Delete API Key - Revoke an API key. Requires explicit user confirmation, since revoking a key immediately breaks any live integration using it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the API key to delete | |
| confirm | Yes | Must be true — confirms the account holder explicitly approved revoking this API key | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is known. The description adds meaningful context beyond that: the consequence is immediate breakage of any live integration and a user-confirmation gate. It does not say whether revocation is reversible or how to recover a mistakenly deleted key.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, and the consequence/confirmation requirement is front-loaded where an agent will see it before acting.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive three-parameter tool with annotations and an output schema, the description covers the essential risk and the confirmation gate. Minor gaps remain around reversibility and the workspace_id default, which the schema states but the description never reinforces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already documents id, confirm, and workspace_id thoroughly. The description reinforces the confirm requirement but adds no syntax, ID-source, or workspace-scoping detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Revoke an API key') and clarifies that delete means revoke, which is more precise than the tool name alone. It is clearly distinguishable from read-side siblings such as get_api_keys and get_api_key_refresh_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition — explicit user confirmation is required before calling — which frames when this tool is appropriate. It does not name alternatives (e.g., listing keys first with get_api_keys) or state when-not-to-use, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_blocklist_entryDelete Blocklist EntryADestructiveInspect
Delete Blocklist Entry by ID - Remove a single blocklist entry by its ID. Requires explicit user confirmation, since the removed address becomes eligible for outreach again.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The blocklist entry ID | |
| confirm | Yes | Must be true — confirms the account holder explicitly approved deleting this suppression-list entry | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the description doesn't need to disclose that this is destructive. It goes beyond the annotations by stating the practical consequence of removal (the address becomes eligible for outreach again) and by restating the confirmation requirement, which adds real context about the side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and then the consequence and the precondition. The opening clause slightly restates the title ('Delete Blocklist Entry by ID'), which is mildly redundant, but the rest of the text is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive single-record delete with a full schema and an output schema, the description covers the side effect and the confirmation requirement. The main gap is not distinguishing this tool from the sibling remove_from_blocklist, so the agent could pick the wrong tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mentions 'by its ID' but adds no syntax, format, or meaning beyond what the schema already documents for id, confirm, and workspace_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource: 'Delete Blocklist Entry by ID - Remove a single blocklist entry by its ID.' It's clear what it does, but the sibling remove_from_blocklist is not mentioned, so an agent must infer the difference between deleting a blocklist entry record and removing an address from the blocklist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names one precondition (explicit user confirmation) and the consequence of deleting (address becomes eligible for outreach again), which implies when it's appropriate. It doesn't say when to prefer remove_from_blocklist or add_to_blocklist, so the sibling routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_inbox_placement_testDelete Inbox Placement TestADestructiveInspect
Delete Inbox Placement Test - Remove a deliverability test. Requires explicit user confirmation, since deletion cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The test ID | |
| confirm | Yes | Must be true — confirms the account holder explicitly approved deleting this test | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds useful context beyond annotations by stating that deletion cannot be undone and requires explicit user confirmation, though it could also mention permission requirements or associated data effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the key constraint. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive delete with full schema coverage, an output schema, and annotations covering safety, the description supplies the essential confirmation and irreversibility context. Nothing further is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 id, confirm, and workspace_id. The description adds no parameter-specific meaning beyond the confirmation precondition, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Delete') and resource ('Inbox Placement Test'), clarified as 'a deliverability test.' This clearly distinguishes it from siblings like create_inbox_placement_test and pause_inbox_placement_test.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states a confirmation prerequisite but does not explicitly say when to use this tool versus alternatives such as pause_inbox_placement_test. Usage is implied by the destructive nature, but no exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_sequence_leadsExport Sequence LeadsCRead-onlyInspect
Export Sequence Leads - Export sequence leads as CSV
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sequence ID | |
| limit | No | Maximum number of leads (default 10000, max 50000) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and closed-world, so an export being a safe read is covered. The description adds one genuine piece of new behavior: the result is CSV. It says nothing about size, cost, or the default 10k / max 50k cap that matters for a bulk export.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the first clause just echoes the name and title, so the sentence is mostly redundant rather than front-loaded with useful content. Only 'as CSV' earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-shape explanation is not required, but the description still leaves out how this differs from get_sequence_leads and what a bulk export entails (size, time, truncation at limit). For a tool an agent must choose over a sibling, that is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 id, limit (default 10000, max 50000) and workspace_id fallback behavior. The description adds no parameter meaning beyond that. Baseline 3 applies when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/title almost verbatim ('Export Sequence Leads - Export sequence leads as CSV'). The only new information is the output format (CSV), which hints at how it differs from get_sequence_leads, but the tool's actual scope (which leads, what columns, per-sequence) is never stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. The sibling list contains get_sequence_leads, which is the obvious alternative, and the description does nothing to explain when an agent should export versus read leads via that tool. Nothing about prerequisites (sequence must exist, workspace scoping) is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_multiple_sender_messagesFetch Multiple Sender MessagesARead-onlyInspect
Bulk Fetch Sender Messages - Retrieve sent emails and received replies across multiple senders (max 50 messages, use skip for pagination)
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Array of sender IDs | |
| skip | No | Number of messages to skip for pagination | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe read-only, non-destructive, closed-world operation. The description adds useful behavioral context beyond the annotations: it returns both sent emails and received replies, caps results at 50 messages, and supports pagination via skip.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted wording. It states the core action, scope, result limit, and pagination mechanism efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich structured metadata (100% schema coverage, annotations, and an output schema), the description covers the essential purpose, result limit, and pagination. It is complete enough to call correctly, though it could be stronger with explicit alternative-tool routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all three parameters including ids, skip, and workspace_id. The description reinforces pagination via skip but does not add parameter meaning beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: retrieve sent emails and received replies across multiple senders. It clearly implies a bulk/multi-sender scope that differs from the singular fetch_sender_messages sibling, but it does not explicitly name or route to that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'Bulk Fetch' and 'across multiple senders.' The description mentions the max 50 limit and skip-based pagination, but it does not explicitly say when to use this tool instead of fetch_sender_messages or other message-fetching siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_sender_messagesFetch Sender MessagesBRead-onlyInspect
Fetch Sender Messages - Retrieve sent emails and received replies for a sender (max 50 messages, use skip for pagination)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sender ID | |
| skip | No | Number of messages to skip for pagination | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds a genuinely useful behavioral fact beyond that — the 50-message result cap and the skip-based pagination pattern — but says nothing about ordering, completeness of the sent/replies union, or truncation behavior when the cap is hit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the pagination constraint placed where an agent will see it. The leading restatement of the title ('Fetch Sender Messages -') is redundant, which keeps it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the schema fully documents the inputs. What is missing for a tool with a very similar sibling is any disambiguation from fetch_multiple_sender_messages, which is the main decision an agent has to make here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all three parameters (id, skip, workspace_id) are documented in the schema, so the baseline of 3 applies. The description only restates the pagination role of skip and adds nothing about defaults or the workspace fallback that the schema does not already convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope: retrieves both sent emails and received replies for a single sender. This is clear, but it does not distinguish the tool from the sibling fetch_multiple_sender_messages, leaving the singular-vs-multiple distinction to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is operational: results are capped at 50 and 'use skip for pagination'. There is no statement of when to choose this over fetch_multiple_sender_messages or other message-reading siblings like get_thread_messages or get_lead_messages, so the usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forward_inbox_messageForward Inbox MessageBDestructiveInspect
Forward Inbox Message - Forward an email to another recipient. Attachments are not supported on this connector — to send files, attach them via the SalesBlink web app.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC email address | |
| bcc | No | BCC email address | |
| No | Recipient email address (defaults to the original contact if omitted) | ||
| tzMode | No | Timezone mode: 'sequence' uses the sequence timezone, 'custom' uses selectedTimezone | |
| content | No | Optional additional message content (defaults to the original email body) | |
| messageId | Yes | The message ID to forward | |
| attachments | No | NOT supported on this connector — providing file paths returns an error. Attach files via the SalesBlink web app instead. | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| scheduled_time | No | Unix timestamp in ms to schedule the forward. If omitted or in the past, the forward is sent after a short delay. | |
| selectedTimezone | No | IANA timezone to use when tzMode='custom' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, so safety profile is covered. The description adds a genuinely useful constraint – attachments are unsupported and file paths cause an error – but says nothing about irreversibility of sending or how scheduling affects delivery.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the key operational caveat. No filler, though it spends its second sentence on a constraint the schema already repeats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations carry the safety profile. However, for a 10-parameter mutation tool with scheduling and timezone options, the description leaves the forward-vs-reply decision and delivery timing behavior unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 10 parameters are already documented in the schema, including defaults for email/content and tzMode. The description adds only the attachments caveat, which the schema itself also states, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Forward an email to another recipient'), which clearly separates it from mutating siblings like update_lead or archive_contact. It doesn't explicitly distinguish itself from send_reply, the closest sibling, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to forward versus send_reply, no mention of prerequisites (sender connectivity, workspace selection), and no exclusions. The only constraint given is about attachments, which is a limitation rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_login_linkGenerate Login LinkBInspect
Generate Login Link - Create a time-limited magic login link for the authenticated user
| Name | Required | Description | Default |
|---|---|---|---|
| redirect_url | No | Relative path or full URL on the app domain to redirect to after login. Defaults to /magic. | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| expiry_minutes | No | How long the link stays valid, in minutes (1-30). Defaults to 5. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the agent knows this is a non-destructive, closed-world mutation. The description adds that the link is time-limited, which is useful context, but it does not disclose that the result is a credential granting account access, nor any sensitivity, revocation, or rate-limit behavior. Given annotation coverage of the safety profile, a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence, front-loaded with the core action. The 'Generate Login Link -' prefix restates the title and is mildly redundant, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the schema itself covers all three parameters. But for a security-sensitive link generator, the description leaves out sibling differentiation and the fact that the output is a login credential with limited lifetime. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: redirect_url, workspace_id and expiry_minutes are all documented in the schema, including defaults and the 1–30 minute range. The description adds no parameter meaning beyond that, so baseline 3 is correct when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Create a time-limited magic login link for the authenticated user.' That is unambiguous about what the tool produces. It does not distinguish itself from similar-sounding siblings such as get_add_card_login_link or get_sender_connect_link, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, and no prerequisites or exclusions. 'For the authenticated user' implies the caller context but doesn't tell the agent when this is the right choice over sibling link-generators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_add_card_login_linkGet Add Card Login LinkBInspect
Get Add Card Login Link - Generate a magic login link to add a payment card
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only, not destructive, and not open-world. The description adds the domain-specific purpose of adding a payment card, but does not disclose token expiry, one-time use, permission requirements, or other behavioral details an agent might need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with no extraneous sentences. It does repeat the title almost verbatim, which is slightly redundant but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a non-read-only link-generation tool, the description lacks usage guidance and key behavioral context such as link lifetime or security constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single workspace_id parameter is fully described in the schema, including behavior when omitted. The description does not add any parameter semantics, but with 100% schema coverage 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: generating a magic login link to add a payment card. It is clear enough to distinguish from many siblings, though it does not explicitly contrast with nearby tools like generate_login_link or get_remove_card_login_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the link is used to add a card, but gives no explicit guidance on when to use this tool versus generate_login_link, get_remove_card_login_link, or related login-link tools. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_foldersGet All FoldersARead-onlyInspect
Get All Folders - Retrieve all folders. The type filter supports 'all', 'general', and 'email-sender'. General folders (created without a type) hold lists, templates, and sequences; email-sender folders hold email senders only.
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of folders to skip for pagination (default: 0) | |
| type | No | Folder type filter. 'all' returns every folder (default), 'general' returns non-email-sender folders, 'email-sender' returns email-sender folders only. | |
| limit | No | Maximum number of folders to return (default: 100) | |
| search | No | Search query to filter folders | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds domain context about what each folder type contains, but nothing about pagination behavior, result size, or how search interacts with the type filter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, and no filler. The folder-taxonomy sentence is useful but partially duplicates the enum description already present in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema, 100% parameter coverage, and complete annotations, the description supplies enough context to call the tool correctly. Only minor gaps remain around search/filter interaction and pagination guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 a small amount of meaning beyond the schema by explaining that general folders hold lists, templates, and sequences, but the enum semantics it describes are already in the schema's 'type' documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Retrieve all folders') and explains the folder taxonomy, which helps distinguish it from siblings like get_all_lists and get_all_senders. It stops short of naming those siblings or explicitly saying when to prefer them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: it says the tool retrieves all folders and that a type filter exists, but gives no guidance on when to use this versus get_all_lists/get_all_senders or when to paginate. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_listsGet All ListsARead-onlyInspect
Get All Lists - Retrieve all contact lists with optional filtering. Note: boolean filters (starred/archived) are unreliable. Supported filters: folder, search, sortBy, sortType, integration. Each list includes a fields array — the list's columns in snake_case (e.g. first_name, email, lead_score).
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of lists to skip for pagination (default: 0) | |
| limit | No | Maximum number of lists to return (default: 100) | |
| folder | No | Filter by folder ID | |
| search | No | Search query to filter lists by name | |
| sortBy | No | Sort field | |
| sortType | No | Sort direction: asc or desc | |
| integration | No | Filter by integration | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive annotations, it discloses a non-obvious caveat: boolean starred/archived filtering is unreliable, which prevents a plausible agent failure. It also describes the shape of the returned data (a `fields` array of snake_case column names), adding useful read-side context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: purpose, caveat, return shape — the most decision-relevant item (filter reliability) is placed before the filter inventory. Nothing superfluous beyond the mild title echo at the start.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 optional params, an output schema present, and safe read annotations, the description covers what the agent needs: filter semantics, a reliability warning, and return field format. Minor gaps are pagination defaults and the valid sortBy/sortType values, though those are already documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real value by naming the exact supported filter set (folder, search, sortBy, sortType, integration) and flagging that boolean filters are not reliable — information the schema's field descriptions do not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Retrieve) and resource (all contact lists) plus the filtering capability, so the agent knows exactly what it returns. It does not differentiate from the sibling get_list (single list) or from create/update/archive_list, leaving that inference to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Enumerating the supported filters implies the browse/discovery use case and the "Note: boolean filters (starred/archived) are unreliable" line steers away from a failing path. However, it never says when to prefer this over get_list for a single record, nor any preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_sendersGet All SendersARead-onlyInspect
Get All Email Senders - Retrieve all email sender accounts (flat list, not grouped by folder)
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | 0-based page number (default: 0). The server converts this to skip × limit as the database offset. | |
| limit | No | Maximum number of senders to return (default: 100) | |
| filter | No | Filter senders by status | |
| folder | No | Filter by email-sender folder ID (UUID) | |
| search | No | Search query to filter senders | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the useful behavioral detail that results are a flat list rather than grouped by folder, but it does not mention pagination behavior, default limit, or workspace scoping beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. The key resource and the flat-list distinction are stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and parameter semantics are fully documented, so the description does not need to explain return values. The only minor gap is that “Retrieve all” could imply an unpaginated complete list, while the schema shows default limit and pagination behavior; the description does not mention this caveat.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so skip, limit, filter, folder, search, and workspace_id are already documented in the input schema. The description does not add meaning beyond the schema, which matches the baseline of 3 when structured parameter documentation is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: retrieve email sender accounts. It also clarifies the result shape as a flat list not grouped by folder, which helps distinguish it from folder-oriented listing tools. It does not explicitly name a sibling alternative, so it falls short of the highest clarity tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase “Retrieve all email sender accounts” implies the tool is for listing senders, and “flat list, not grouped by folder” gives useful scope context. However, there is no explicit when-to-use guidance, no when-not-to-use guidance, and no named alternative such as get_sender_health or get_all_folders for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_sequencesGet All SequencesARead-onlyInspect
Get All Sequences - Retrieve all sequences with optional filtering. Note: boolean filters (starred/archived) and owned_by are unreliable. Supported filters: search, status, folder, sortBy, sortType, sendAll.
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of sequences to skip for pagination (default: 0) | |
| limit | No | Maximum number of sequences to return (default: 100, max 100) | |
| folder | No | Filter by folder ID | |
| search | No | Search query to filter sequences by name | |
| sortBy | No | Sort field | |
| status | No | Filter sequences by status: running, paused, completed, or needs-attention | |
| sendAll | No | Include both archived and active sequences | |
| sortType | No | Sort direction: asc or desc | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely non-obvious behavioral context: that boolean filters (starred/archived) and owned_by are unreliable — information an agent could not get from any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded, zero filler. Mild redundancy in restating the tool title as the opening clause, but the warning is placed where an agent will see it immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape need not be explained, and all nine parameters are documented in the schema. The description covers the one thing the schema cannot: filter reliability. A note on how 'Supported filters' relates to pagination params would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 earns above baseline by flagging filter reliability and enumerating supported filters, but its list omits skip, limit, and workspace_id — arguably pagination rather than filtering, yet it leaves the reader to infer that relationship.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve all sequences') with the scoping qualifier 'with optional filtering'. The word 'all' implicitly separates it from the single-item get_sequence sibling, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Supported filters' list tells the agent which parameters are meaningful, and the reliability note steers it away from broken filters. However, there is no explicit guidance on when to prefer this tool over get_sequence or get_sequence_leads, so routing is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_templatesGet All TemplatesBRead-onlyInspect
Get All Templates - Retrieve all email templates with optional filtering. Note: boolean filters (starred/archived) are unreliable. Supported filters: folder, type, taskType, search, sortBy, sortType.
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of templates to skip for pagination (default: 0) | |
| type | No | Filter by template type | |
| limit | No | Maximum number of templates to return (default: 100, max 100) | |
| folder | No | Filter by folder ID | |
| search | No | Search query to filter templates by name | |
| sortBy | No | Sort field | |
| sortType | No | Sort direction: asc or desc | |
| taskType | No | Filter by task type | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The note that boolean filters (starred/archived) are unreliable is genuine behavioral disclosure that annotations do not and cannot carry, which is valuable. However, those filters do not exist in the schema (additionalProperties: false, 9 params, none named starred/archived), so the warning is partly moot and risks confusing the agent. Nothing is said about the 100-result cap or what happens beyond it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose front-loaded and the caveat following immediately. There is minor redundancy between the title echo 'Get All Templates' and 'Retrieve all email templates', but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the schema covers pagination parameters. Still missing is any mention of the silent 100-result ceiling that would tell an agent to paginate with skip, and the filter caveat references parameters that do not exist. Adequate but with a real gap for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 nine parameters including defaults and the max limit. The description only restates a subset of filter names (folder, type, taskType, search, sortBy, sortType) and omits skip, limit, and workspace_id, adding no syntax or semantics beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: retrieve all email templates with optional filtering. An agent can distinguish this from get_template (single fetch), but the description never names that sibling to make the distinction explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'retrieve all ... with optional filtering' and the list of supported filters. There is no explicit statement of when to use this versus get_template, nor any guidance on prerequisites or workspace scoping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_usersGet All UsersARead-onlyInspect
Get All Users - Retrieve all users in the account. Note: pagination and filtering parameters are accepted for compatibility but currently have no effect — the endpoint returns every user in the account with no pagination or filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so credit goes to the added caveat that the endpoint ignores pagination and filtering and returns the entire user set — a real behavioral trait (result size, no batching) an agent needs. The value is slightly undercut because it describes parameters that do not exist in the schema, which can mislead.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key constraint is front-loaded in a single short 'Note:' sentence and nothing is padded. Minor waste in restating the title verbatim before the useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers the main surprise (no pagination or filtering despite parameters). A brief note on workspace scoping or result size expectations would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single workspace_id parameter is fully documented there, so baseline 3 applies. The description adds no meaning to workspace_id and instead references pagination/filtering parameters that are absent from the schema, which is neutral-to-confusing rather than additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve all users in the account') and emphasizes scope with 'every user in the account', which implicitly separates it from the singular get_user sibling. It never names get_user explicitly, so the differentiation is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the word 'all' — an agent can infer this is the list-everything path versus get_user for a single record, but the description never says when to prefer one over the other or what prerequisites (e.g. admin permissions) apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_workspacesGet All WorkspacesBRead-onlyInspect
Get All Workspaces - Retrieve all accessible workspaces (owner only)
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description usefully adds the owner-only authorization constraint. It does not explain why a 'get all' operation takes a workspace_id scope, which leaves the caller's effective scope ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the scope qualifier front-loaded and no filler. The only waste is the leading 'Get All Workspaces -' prefix, which merely restates the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full annotation coverage and a fully documented single parameter, the structural burden is low and mostly met. The remaining gap is routing: nothing in the description lets an agent separate this tool from its near-identical sibling list_my_workspaces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one optional parameter, so the schema itself explains workspace_id and the default-workspace fallback. The description adds nothing on top of it, which is the baseline for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb and resource (retrieve workspaces) and a scope qualifier ('all accessible', 'owner only'). However, it never distinguishes itself from the sibling list_my_workspaces, which reads as the same operation, so an agent cannot tell which one to pick from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'(owner only)' is a genuine usage precondition that narrows who should call it. Beyond that there is no guidance on when to prefer this over list_my_workspaces, select_workspace, or create_workspace; the choice is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analytics_dailyGet Analytics DailyCRead-onlyInspect
Get Daily Analytics - Day-wise overall stats
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date timestamp (Unix ms) | |
| from | No | Start date timestamp (Unix ms) | |
| timezone | No | IANA timezone | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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. Beyond that, the description adds nothing: it doesn't say what a 'day' bucket covers, what the default time window is if from/to are omitted, or how aggregation works across workspaces. For a reporting tool with zero required params, that default behavior is exactly what needs disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short phrase with no filler and the key idea (day-wise stats) is front-loaded. It is underspecified rather than bloated, so brevity here is not penalized heavily.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the input schema is fully documented. But the description leaves the crucial ambiguity unresolved: how this differs from get_analytics_overall and what happens with no date range, which matters for a tool where every parameter is optional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (to, from, timezone, workspace_id) are documented in the schema itself. The description adds no extra meaning about the timestamp format, timezone effect on day bucketing, or the workspace fallback, so it stays at the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns day-wise overall stats, which is slightly more specific than the title and hints at daily granularity. However, it never distinguishes itself from the many analytics siblings (get_analytics_overall, get_analytics_lead_stats, get_analytics_mailbox_stats), so an agent cannot tell which one to pick from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus get_analytics_overall or the other analytics tools, and no mention of defaults when from/to are omitted (all parameters are optional). The agent must infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analytics_lead_statsGet Analytics Lead StatsCRead-onlyInspect
Get Lead-level Analytics - Lead-level stats
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date timestamp (Unix ms) | |
| from | No | Start date timestamp (Unix ms) | |
| skip | No | Number of results to skip | |
| limit | No | Maximum number of results | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of aggregation granularity, whether results are paginated, or how the date range interacts with lead scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but that brevity comes from under-specification, not economy — it is two near-duplicate fragments separated by a dash. Nothing is front-loaded beyond the redundant name echo.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description still fails to tell the agent what distinguishes this engagement-level analytics endpoint from its many siblings. For a zero-required-param analytics query in a crowded namespace, that leaves the agent without the context needed to select it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all five parameters (from/to/skip/limit/workspace_id) documented in the schema. The description adds no meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get Lead-level Analytics - Lead-level stats' is a tautology that merely restates the tool name and title. It never says what a 'lead stat' contains (opens, clicks, replies, per-lead aggregates) or how it differs from the many sibling analytics tools such as get_analytics_overall, get_analytics_daily, get_analytics_mailbox_stats, or get_sequence_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of the adjacent analytics siblings an agent must choose between. An agent has no basis from the description for preferring this tool over get_analytics_overall or get_sequence_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analytics_mailbox_statsGet Analytics Mailbox StatsCRead-onlyInspect
Get Mailbox Analytics - Overall mailbox stats
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date timestamp (Unix ms) | |
| from | No | Start date timestamp (Unix ms) | |
| skip | No | Number of results to skip | |
| limit | No | Maximum number of results | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds nothing beyond that: no indication of what 'overall' aggregates, over what default period when from/to are omitted, or whether skip/limit meaningfully paginate an aggregate result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the two halves say the same thing, so the second clause does not earn its place. Brevity here reflects thin content rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the schema fully documents the parameters. The remaining gap is disambiguation from the sibling analytics tools, which the description should supply but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all five parameters, so the schema carries parameter meaning and a baseline 3 applies. The description contributes no semantics of its own, notably nothing about the default time window when from/to are absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a verb and a resource (mailbox analytics), so the basic purpose is intelligible, but the second clause ('Overall mailbox stats') merely restates the first. It gives no basis for choosing between this and the sibling analytics tools get_analytics_overall, get_analytics_daily, or get_analytics_lead_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to any alternative. With three sibling analytics tools in the list, an agent is left to guess which one answers a given question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analytics_overallGet Analytics OverallCRead-onlyInspect
Get Overall Analytics - Overall stats across all sequences
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date timestamp (Unix ms) | |
| from | No | Start date timestamp (Unix ms) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 fully covered. The description adds only that stats span all sequences; it says nothing about date-range defaults or aggregation behavior, so it adds limited value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded with the resource name, but it is so terse that the second half ('Overall stats across all sequences') mostly restates the title. It is concise but under-informative rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values need not be described, and annotations cover safety. What is missing is differentiation from the crowded analytics sibling set, which is the main thing an agent needs in order to choose this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (from, to, workspace_id) are documented in the schema with formats. The description adds no parameter-level meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('Get Overall Analytics') and scopes it to 'across all sequences', which partly separates it from get_sequence_stats. However, 'Overall stats' is vague about what metrics are actually returned, and it does not clearly distinguish itself from the many other analytics siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of get_analytics_daily, get_analytics_lead_stats, get_analytics_mailbox_stats, or get_sequence_stats. The 'all sequences' scope implies a difference but the agent must infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_key_page_linkGet API Key Page LinkARead-onlyInspect
Get API Key Page Link - Returns a magic login link to the API keys page where the user can create a new API key.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, non-destructive, closed-world behavior, so the safety profile is covered. The description adds that the return value is a magic login link, which is useful behavioral context, but says nothing about link expiry, sensitivity, or whether requesting it has 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the key information front-loaded and no filler. It only mildly wastes space by restating the tool title before the dash.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details need not be described, and annotations cover the safety profile. For a simple link-retrieval tool this is nearly complete, though a note on link lifetime or the distinction from the refresh-link sibling would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sole workspace_id parameter is fully documented there, including the default-workspace fallback. The description adds no parameter guidance beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific artifact (a magic login link to the API keys page) and its intended use (so the user can create a new API key). It is distinguishable from get_api_keys and delete_api_key, though it never explicitly contrasts itself with the similarly named get_api_key_refresh_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'where the user can create a new API key', which gives the agent a reasonable trigger condition. It does not state when to prefer this over get_api_key_refresh_link or generate_login_link, nor any prerequisite or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_key_refresh_linkGet API Key Refresh LinkBRead-onlyInspect
Get API Key Refresh Link - Returns a magic login link to the API keys page where the user can refresh an existing API key.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds genuinely useful context that the output is a 'magic login link', but omits whether the link is single-use, expiring, or requires auth, which matters for a credential-bearing URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler. It echoes the tool title at the start ('Get API Key Refresh Link -'), which is mild redundancy but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, and the param is fully covered. The remaining gap is disambiguation from near-identical siblings (get_api_key_page_link, generate_login_link), which the description leaves entirely unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single workspace_id parameter is fully documented in the schema, including default-workspace behavior when omitted. The description adds nothing beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb-plus-resource statement: it returns a magic login link to the API keys page for refreshing an existing API key. However, it never distinguishes itself from close siblings such as get_api_key_page_link, generate_login_link, or get_add_card_login_link, which sound interchangeable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'where the user can refresh an existing API key', but there is no explicit when-to-use, when-not-to-use, or pointer to the obvious alternative get_api_key_page_link. The agent must guess which link tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_keysGet API KeysARead-onlyInspect
Get API Keys - Retrieve all API keys for the account. For security, returned keys are masked (only the first and last 3 characters are shown, e.g. 'abc...xyz') — full key values are never exposed by this tool. To view or copy a full key, the account holder must use the API-key management page in the SalesBlink app (see get_api_key_page_link/get_api_key_refresh_link for a login link).
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description still adds substantive behavior: keys are masked to first/last three characters and full values are never returned. That is exactly the kind of constraint that prevents an agent from calling this tool expecting exportable credentials.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the masking warning follows immediately. The second sentence is long and carries a parenthetical cross-reference, but every clause (masking rule, example, no full keys, alternative path) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape needn't be explained; the description instead covers the non-obvious part an agent cannot get from the schema — that returned keys are masked and where to obtain full values. Adequate for a zero-required-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional workspace_id is fully documented in the schema, so baseline 3 applies. The description adds no additional semantics about workspace scoping or what 'all keys' means per workspace.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve all API keys for the account') and immediately scopes the result set. An agent can distinguish it from delete_api_key or get_api_key_page_link without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when this tool is insufficient ('full key values are never exposed by this tool') and routes the agent to the correct alternative tools (get_api_key_page_link / get_api_key_refresh_link) plus the manual path. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blocklistGet BlocklistCRead-onlyInspect
Get Blocklist - List blocked emails and domains
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of results to skip — must be a multiple of limit (e.g. with limit=50 use skip=0, 50, 100, ...); non-multiples are rejected with a 400 error | |
| type | No | Filter by entry type: email or domain | |
| limit | No | Maximum number of results (default: 50, capped at 100) | |
| search | No | Search query | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 fully covered structurally. The description adds essentially nothing beyond that — no mention of pagination behavior, default page size, or what a returned entry looks like — so it contributes little new 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded line with zero filler or repetition. It is not padded, though it is so terse that it borders on restating the title rather than informing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists and parameter coverage is complete, the description need not explain returns or fields. However, for a list tool sitting among several blocklist-related siblings, the missing disambiguation of when to call this versus check_blocklist leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: skip, type, limit, search, and workspace_id are all documented, including the skip/limit multiple rule and the 100 cap. The description adds no parameter meaning on top of the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Get/List) and resource (blocklist) plus the entry types returned (blocked emails and domains). It does not explicitly distinguish itself from close siblings like check_blocklist, add_to_blocklist, or remove_from_blocklist, so the agent must infer that this is a read of the full list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative to check_blocklist (single-value lookup) or get_leads. The agent is left to infer usage purely from the tool name and the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bulk_senders_upload_linkGet Bulk Senders Upload LinkARead-onlyInspect
Get Bulk Senders Upload Link - Returns a magic login link to the email-sender connection page where the user can upload senders in bulk via CSV.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuinely useful context beyond that: the output is a 'magic login link', i.e. a sensitive credential-like artifact routed to an external UI page. It does not mention link expiry, one-time use, or auth requirements, which matter for a magic link.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the returned artifact and its destination, with no filler. Minor redundancy in restating the tool title verbatim as a prefix, but the cost is small.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is not required, and the description nonetheless identifies the key returned artifact concept. For a zero-required-parameter link getter with full annotation coverage, the definition is complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter (workspace_id) with 100% schema description coverage, so the schema already carries the meaning, including the default-workspace fallback. The description adds nothing further about parameter behavior, which matches the baseline for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get Bulk Senders Upload Link') and explains the outcome: a magic login link to the email-sender connection page for bulk CSV uploads. It is distinguishable from get_sender_connect_link by the 'bulk CSV upload' framing, though it never names that or any other sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the stated outcome (user wants to upload senders in bulk via CSV), which is enough to infer intent. There is no explicit guidance on when to prefer this over get_sender_connect_link, generate_login_link, or get_all_senders, and no prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clicks_activityGet Clicks ActivityCRead-onlyInspect
Get Clicks Activity - Get list of link clicks
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| since | No | Filter events since timestamp (Unix ms) | |
| per_page | No | Number of results per page (max 100) | |
| sequence_id | No | Filter by sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| recipient_email_address | No | Filter by recipient email |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already fully define the tool as a read-only, non-destructive operation. The description adds no extra contextual behavioral traits beyond repeating the function name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely concise, but the structure is redundant ('Get Clicks Activity - Get list of link clicks'). It could be improved by front-loading the scope instead of repeating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the API and the large number of 'get' activity tools in the sibling list, a single, brief sentence is insufficient. It provides almost no context on what the resulting list contains or how it differs from related endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema coverage is 100%, the baseline score of 3 applies. The description adds no semantic value or special constraints to the parameters that are not already defined in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool fetches a list of link clicks, which is clear. However, it is highly generic and does not distinguish how this activity relates to other similar tools in the sibling list, such as those focused on 'opens' or 'sent' activity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It simply defines the resource it handles without providing context on scope or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_domainsGet Custom DomainsBRead-onlyInspect
Get Custom Domains - Retrieve custom tracking domains for the workspace (including unverified domains with DNS setup instructions and status tags)
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of domains to skip for pagination | |
| limit | No | Maximum number of domains to return | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds useful behavioral context by noting that unverified domains are included along with DNS setup instructions and status tags. However, it does not discuss pagination behavior, workspace access assumptions, or other operational details beyond what annotations and schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence and front-loads the core retrieval purpose. The only minor waste is the redundant 'Get Custom Domains -' prefix, which largely restates the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool with complete schema descriptions, read-only annotations, and an output schema, the description supplies enough context about what is returned, including unverified domains and DNS setup details. Usage guidance remains the main gap, but the definition is otherwise complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so skip, limit, and workspace_id are already documented in the input schema. The description only indirectly reinforces the workspace scope and adds no new semantics for pagination or workspace selection. Baseline 3 is appropriate when the schema fully carries parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Retrieve custom tracking domains for the workspace.' It also clarifies that unverified domains and DNS setup/status details are included, which makes the scope more precise. It does not explicitly differentiate from any sibling, though none of the listed siblings appears to cover custom domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool retrieves but gives no guidance on when to use it, when not to use it, or which alternatives to prefer. The implied use case is clear only because the tool name is self-explanatory, not because the description provides usage rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inbox_placement_testsGet Inbox Placement TestsBRead-onlyInspect
Get Inbox Placement Tests - Retrieve all deliverability tests
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of tests to skip for pagination | |
| limit | No | Maximum number of tests to return | |
| owned_by | No | Filter by owner (admin/owner only) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds only the 'deliverability tests' gloss and nothing about pagination behavior, workspace scoping, or which tests are returned (e.g. all workspaces vs current), so it contributes almost nothing beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, and the distinguishing read-all scope comes first. It is efficient, though its brevity borders on under-specification rather than tight conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, all four parameters are documented in the schema, and annotations cover the safety profile, so the description does not need to explain return values. What is missing is any routing guidance among the four inbox-placement sibling tools, but for a simple read-list tool this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with skip, limit, owned_by, and workspace_id all documented in the schema, so the baseline of 3 applies. The description adds no additional parameter meaning, such as that owned_by requires admin/owner rights or how pagination should be driven.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Retrieve all') and resource ('Inbox Placement Tests'), and the gloss 'deliverability tests' tells an agent what these tests actually are. It distinguishes itself from siblings like create_inbox_placement_test and delete_inbox_placement_test by being the read-all operation, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus create_inbox_placement_test, pause_inbox_placement_test, or delete_inbox_placement_test, and no exclusions or prerequisites. An agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inbox_threadsGet Inbox ThreadsARead-onlyInspect
Get Inbox Threads - Retrieve inbox threads with optional filtering. Note: only type, sequence, search, date, sender, limit, and skip are applied by the API.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date range as startTimestamp-endTimestamp | |
| skip | No | Number of threads to skip for pagination (default: 0) | |
| type | No | Type of threads to retrieve. When omitted, replies are returned (the default). | |
| limit | No | Maximum number of threads to return (default: 10, max 100) | |
| search | No | Search in body, subject, or email address | |
| sender | No | Filter by sender ID | |
| sequence | No | Filter by sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a safe, non-destructive, closed-world read, so the bar is lower. The description adds a genuinely non-obvious behavioral fact outside the schema: only eight parameters are actually applied by the API, implicitly warning that workspace_id is silently ignored. It stops short of saying what happens if an unapplied parameter is supplied, or how the results are ordered/paginated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action before the caveat, with no filler. The leading repetition of the tool name is slightly redundant but costs almost nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the parameter surface is fully documented in the schema. The remaining gap is behavioral precision around the ineffective workspace_id parameter and no disambiguation from sibling message-retrieval tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline would be 3; the note earns an upgrade because it flags that a documented parameter (workspace_id) has no effect at the API layer, which the schema does not reveal. It still does not explain the accepted timestamp format for date or the semantics of sender IDs beyond what the schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve inbox threads') plus a modifier ('with optional filtering'), so the action is unambiguous. It does not, however, distinguish this from close siblings such as get_thread_messages, get_lead_messages, or fetch_sender_messages, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no named alternative, despite several plausibly overlapping siblings in the same inbox/message space. The only usage-adjacent signal is the note about which filters are honored, which is a constraint rather than a selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lead_activity_by_emailGet Lead Activity By EmailARead-onlyInspect
Get Lead Activity by Email - Retrieve activity for a lead using an email address instead of a lead ID.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date timestamp (Unix ms) | |
| from | No | Start date timestamp (Unix ms) | |
| skip | No | Number of results to skip | |
| Yes | The lead email address | ||
| limit | No | Maximum number of results (max 500) | |
| sequence_id | No | Filter by sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds no extra behavioral context such as pagination behavior, default result ordering, or what happens when the email matches no lead. Modest value given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the key differentiation front-loaded. The title text is echoed at the start, which is slightly redundant but overall efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the schema documents all 7 parameters. For a filtered read tool, the description plus structured fields cover what an agent needs, though it could note the email-vs-id resolution behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter (from, to, skip, limit, sequence_id, workspace_id, email) is documented in the schema itself. The description adds nothing beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (retrieve) and resource (lead activity), and explicitly distinguishes itself from the sibling get_lead_activity_by_id by noting it keys off an email address instead of a lead ID. An agent can route correctly without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'using an email address instead of a lead ID' tells the agent the key selection condition versus the id-based sibling. It stops short of explicit exclusions or prerequisite/handling advice but the selection context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lead_activity_by_idGet Lead Activity By IdCRead-onlyInspect
Get Lead Activity by ID - Activity of a lead via lead ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The lead ID | |
| to | No | End date timestamp (Unix ms) | |
| from | No | Start date timestamp (Unix ms) | |
| skip | No | Number of results to skip | |
| limit | No | Maximum number of results (max 500) | |
| sequence_id | No | Filter by sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds nothing beyond that: it does not say what 'activity' comprises (opens, clicks, replies, sends), whether results are paginated or time-bounded, or how the date range defaults behave.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short and front-loaded, but the second clause merely repeats the first ('by ID' / 'via lead ID') rather than earning its place with new information. It is under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, but for a 7-parameter tool with date-range, pagination, sequence and workspace filters, the description says nothing about filtering or result scope. With a sibling that is one word away in name, the description leaves too much to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all 7 parameters are documented in the schema, including Unix-ms timestamps, the 500 max limit, and workspace defaulting. The description adds no parameter meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb (get) and resource (lead activity) keyed by lead ID, so the basic operation is inferable. However, it essentially restates the tool name and title, and it does not distinguish itself from the near-identical sibling get_lead_activity_by_email, which differs only in the lookup key.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus get_lead_activity_by_email, get_leads, or get_lead_messages, all of which live in the same lead-data cluster. An agent must infer the choice purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lead_messagesGet Lead MessagesCRead-onlyInspect
Get Lead Message History - Message history for a lead in a sequence
| Name | Required | Description | Default |
|---|---|---|---|
| lead_id | Yes | The lead ID | |
| sequence_id | Yes | The sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds only the lead-and-sequence scope and says nothing about ordering, pagination, or which message types are included, making it nearly a restatement of the title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but 'Get Lead Message History - Message history' is redundant and the brevity comes at the cost of useful context. It is concise but under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details need not be repeated, and the annotations cover safety. Still, for a read tool with three parameters and many siblings, the description omits selection guidance and behavioral context that would make invocation reliable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so lead_id, sequence_id, and workspace_id are already documented. The description implies the lead and sequence are the lookup keys but adds no format or semantic detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Get Lead Message History') and scopes it to 'a lead in a sequence,' so the core operation is clear. It does not, however, distinguish this tool from closely named siblings such as get_thread_messages or get_replies_activity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. Given the many message- and lead-related siblings, the agent is left to infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_leadsGet LeadsARead-onlyInspect
Get Leads in a List - Retrieve all leads/contacts in a specific list. Supported filters: search, archived, sort, sequence, status.
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of leads to skip for pagination | |
| sort | No | Sort order by creation date | |
| limit | No | Maximum number of leads to return (max 100) | |
| search | No | Search query to filter leads by name/email | |
| status | No | Filter by lead status (not_contacted, contacted, opened, clicked, replied, bounced, unsubscribed). Works with or without `sequence`; without it, the status matches across all sequences (e.g. replied = replied in any sequence). Omit to return the full list. | |
| list_id | Yes | The list ID to get leads from | |
| archived | No | Filter by archived status (truthy only; false is unreliable) | |
| sequence | No | Filter by sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds the enumerable filter set, but says nothing about pagination behavior, result caps, or permissions; with annotations carrying the burden, a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the verb and resource. Minor waste in the redundant 'Get Leads in a List - Retrieve all leads/contacts in a specific list' restatement, but nothing bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema, complete parameter documentation and safety annotations, the definition covers what an agent needs to invoke it correctly. The remaining gap is routing guidance versus look-alike siblings such as get_sequence_leads.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, including detailed notes on status semantics and the archived 'truthy only' caveat, so the schema does the heavy lifting. The description's filter list (search, archived, sort, sequence, status) merely echoes parameter names and adds no syntax or interaction detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: retrieve all leads/contacts in a specific list, plus the filter surface. It does not, however, distinguish itself from close siblings like get_sequence_leads or get_lead_activity_by_id, which an agent must pick between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'in a specific list' – an agent can infer this is the list-scoped lead reader, but there is no explicit statement of when to prefer it over get_sequence_leads (which also filters leads) or get_all_lists. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listGet ListARead-onlyInspect
Get a Specific List - Retrieve details of a specific contact list. The response includes a fields array — the list's columns in snake_case (e.g. first_name, email, lead_score).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The list ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds a note about the `fields` array and its snake_case naming, which is useful context, but since an output schema exists this partially duplicates structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, no filler. The first sentence restates the title before delivering the actual verb phrase, a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A simple read-only tool with two fully documented parameters, annotations, and an output schema. The description covers purpose and hints at the response shape, leaving nothing an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both `id` and `workspace_id` are already documented in the schema. The description adds no meaning beyond that — it never mentions the required list identifier or the workspace scoping behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Retrieve details of a specific contact list.' The word 'specific' implicitly distinguishes it from get_all_lists, but that sibling is never named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'specific list' — an agent can infer this is the single-record counterpart to get_all_lists, but the description never states when to choose one over the other or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opens_activityGet Opens ActivityCRead-onlyInspect
Get Opens Activity - Get list of email opens
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| since | No | Filter events since timestamp (Unix ms) | |
| per_page | No | Number of results per page (max 100) | |
| sequence_id | No | Filter by sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| recipient_email_address | No | Filter by recipient email |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds nothing beyond that — no note about pagination limits, result volume, sorting, or the workspace scoping behavior that matters for a 6-parameter list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the second clause is pure duplication of the title with no new information. Two sentences' worth of tokens deliver one sentence of content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety, so the largest burdens are handled elsewhere. Still, for a filtered, paginated activity feed the description gives no orientation on what the filter combination means or how this feed differs from sibling activity feeds, leaving it merely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (page, per_page, since, sequence_id, workspace_id, recipient_email_address) is already documented inline. The description contributes no additional parameter meaning, which is acceptable given full schema coverage but earns only the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (email opens) and implies a list operation, so an agent can tell roughly what comes back. However, it essentially restates the tool name and title, and gives no signal distinguishing it from the closely related siblings get_clicks_activity, get_replies_activity, and get_sent_activity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool versus the other activity tools, no mention of prerequisites, and no exclusions. The agent must infer that 'opens' means this tool rather than a general activity or analytics endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_remove_card_login_linkGet Remove Card Login LinkBInspect
Get Remove Card Login Link - Generate a magic login link to remove a saved payment card
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (not read-only, not open-world, not destructive), and the description usefully clarifies that the tool only *generates a link* rather than deleting anything itself. It says nothing about link expiry, required permissions, or whether the link is single-use, which matters for a credential-producing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler beyond restating the title verbatim at the start. Efficient, though the title repetition is mildly wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and the parameter is documented, so the structured fields carry most of the load. However, the description never explains how the specific card is identified (there is no card ID parameter), leaving the 'remove a saved payment card' scope ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional parameter and schema coverage is 100%, with the workspace_id fallback behavior fully documented in the schema. The description adds no parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (generate a magic login link) and its downstream purpose (removing a saved payment card), which tells an agent what the tool produces. The 'remove card' vs sibling 'get_add_card_login_link' distinction is implicit rather than stated, so an agent still has to infer the pairing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of the two obvious alternatives that sit right next to it in the tool list: generate_login_link (general login) and get_add_card_login_link (add-card flow). The agent is left to guess whether this is the right link generator for a given user request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_replies_activityGet Replies ActivityCRead-onlyInspect
Get Replies Activity - Get list of email replies
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| since | No | Filter events since timestamp (Unix ms) | |
| per_page | No | Number of results per page (max 100) | |
| sequence_id | No | Filter by sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| recipient_email_address | No | Filter by recipient email |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 fully covered by structured fields. The description adds nothing about pagination behavior, filtering semantics, or return contents. It does not contradict annotations, but it adds no behavioral value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no fluff, though it wastes a few characters restating the title ('Get Replies Activity -'). It is front-loaded and appropriately sized for the amount of information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Annotations cover safety. However, for a tool with six optional filters and several overlapping activity siblings, the description provides no routing guidance or scoping context, leaving the agent to infer selection from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (page, since, per_page, sequence_id, workspace_id, recipient_email_address) are already documented in the schema. The description contributes no additional parameter meaning, which is acceptable at baseline 3 when the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get list of email replies' states a verb (get) and resource (email replies), but it essentially restates the name/title 'Get Replies Activity' with only slight clarification that replies are emails. It does not distinguish this tool from siblings like get_lead_messages, get_thread_messages, get_inbox_threads, or get_sent_activity, which all sound like they return email data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The sibling set contains several overlapping retrieval tools (get_lead_activity_by_email, get_thread_messages, get_sent_activity) with no stated differentiation. The description gives no context about when this activity-feed view is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reportsGet ReportsCRead-onlyInspect
Get Reports - Retrieve activity reports with date filtering
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date timestamp (Unix ms) | |
| from | No | Start date timestamp (Unix ms) | |
| skip | No | Page number (0-based). The server converts this to skip × limit as the database offset. | |
| limit | No | Maximum number of reports to return | |
| owned_by | No | Filter by owner (admin/owner only) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, destructive=false and closed-world, so the safety profile is covered. The description adds only 'date filtering', saying nothing about pagination behavior (skip is a page number, not an offset), the 100-item limit cap, or the admin/owner restriction on owned_by that are material to calling it correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single low-waste sentence with the resource front-loaded after the name restatement. The brevity is not the problem; the sentence simply carries little information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully described, so return values and parameters need not be explained. However, for a six-parameter reporting tool surrounded by overlapping analytics siblings, the description leaves the core question — what data this returns and how it differs — unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented, including the skip-as-page-number conversion and the limit maximum. The description contributes only a generic reference to date filtering, adding no syntax or semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb+resource ('retrieve activity reports') and a scope hint ('date filtering'), but 'activity reports' is vague next to siblings like get_analytics_daily, get_analytics_overall, get_clicks_activity and get_sent_activity. An agent cannot tell from the description whether this returns report objects, analytics aggregates, or activity logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of any alternative. Among a dozen report-adjacent siblings, nothing indicates why or when an agent should pick this tool over get_analytics_* or get_*_activity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sender_connect_linkGet Sender Connect LinkARead-onlyInspect
Get Sender Connect Link - Returns a magic login link to the email-sender connection page where the user can connect a Gmail, Outlook, or SMTP/IMAP sender.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, and the description is consistent with that. It adds that the output is a 'magic login link', which is useful behavioral context, but omits security-relevant traits such as expiry, single-use, or which user the link is bound to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One efficient sentence that front-loads the purpose. The leading 'Get Sender Connect Link -' restates the tool name and is mildly redundant, but everything after it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the safety profile and an output schema covering the return value, the description only needs to state what the link is for, which it does. The remaining gap is routing guidance versus the OAuth-init and reconnect siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single optional workspace_id whose description explains the default-workspace fallback. The description adds no additional meaning about that parameter, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and concrete resource ('magic login link to the email-sender connection page'), and names the exact channels involved (Gmail, Outlook, SMTP/IMAP). It clearly separates it from other link tools like generate_login_link or get_api_key_page_link, though it doesn't say so explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is for letting a user connect a sender, but there is no explicit 'use when…' statement and no mention of alternatives such as initialize_google_oauth, initialize_outlook_oauth, or reconnect_sender, which a reader might confuse with this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sender_healthGet Sender HealthCRead-onlyInspect
Get Sender Health - Get sender health and reputation score
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sender ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds nothing beyond them: no indication of what the health/reputation score means, its scale, freshness, or whether it can be unavailable for unverified senders.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but half of it is a redundant repetition of the title before the actual content. Nothing is front-loaded beyond the name; the one useful phrase ('reputation score') is buried at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and both parameters are documented in the schema. The remaining gap is conceptual: what 'health' comprises and how it differs from sibling sender-metrics tools, which the description never addresses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' (sender ID) and 'workspace_id' (default workspace fallback) documented in the schema. The description contributes no additional parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text repeats the title verbatim and then restates it as 'Get sender health and reputation score'. It does add that a reputation score is returned, but it is essentially a tautology of the tool name and gives no distinguishing detail versus siblings such as get_sender_warmup_stats or get_all_senders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites (e.g. a valid sender ID from get_all_senders), and no mention of the closely related get_sender_warmup_stats tool. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sender_warmup_statsGet Sender Warmup StatsBRead-onlyInspect
Get Sender Warmup Stats - Date-wise warmup stats (sent, sent_replies, received, received_replies, spam_to_inbox) plus per-ESP breakdown (esp_info: google/outlook/others with totalCount and spam_to_inbox)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sender ID | |
| days | No | Number of days (max 90) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds the shape of the returned data (sent, replies, spam_to_inbox, ESP split), but that partly duplicates the output schema and omits freshness, retention window, or behavior for senders with no warmup data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with no wasted clauses. It is slightly front-loaded with a restatement of the title, and the parenthetical field enumeration is the bulkiest part of the sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the description did not need to enumerate return fields, yet that is where nearly all of its text goes. The genuinely missing context is sibling differentiation and edge-case behavior, so it is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id, days (max 90) and workspace_id semantics are already fully documented in the schema. The description adds no parameter-level detail such as defaults or what happens when days is omitted, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (sender warmup stats) with a verb (Get) and clarifies scope as date-wise plus a per-ESP breakdown, which goes slightly beyond the title. It does not differentiate from closely related siblings such as get_sender_health, get_warmup_links, or the get_analytics_* family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. An agent must infer from the name alone that this is the per-sender warmup view rather than the health or analytics views.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sent_activityGet Sent ActivityCRead-onlyInspect
Get Sent Activity - Get list of sent emails
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| since | No | Filter events since timestamp (Unix ms) | |
| per_page | No | Number of results per page (max 100) | |
| sequence_id | No | Filter by sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| recipient_email_address | No | Filter by recipient email |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. Beyond that, the description adds nothing — no scope (account-wide vs workspace), no pagination behavior, no mention that results are filtered by the optional params, and no indication of what 'sent activity' contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses with no padding, but the first is pure title duplication. It is concise without being informative — brevity that comes from omission rather than editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained. However, for a read tool with six optional filters and several overlapping siblings, the description omits the filtering semantics and sibling differentiation an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters including since, sequence_id, recipient_email_address and workspace_id are documented in the schema. The description adds no additional meaning, so it sits at the baseline 3 for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name/title almost verbatim ('Get Sent Activity - Get list of sent emails'), adding only that the resource is a list of sent emails. That is minimally informative but does not distinguish it from siblings like get_lead_messages or fetch_sender_messages, which also return sent email data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named. The sibling set contains several overlapping email-retrieval tools (get_lead_messages, fetch_sender_messages, get_thread_messages), yet the description gives no criteria for choosing this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sequenceGet SequenceCRead-onlyInspect
Get a Specific Sequence - Retrieve details of a specific sequence
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 covered. The description adds nothing beyond that — no note on pagination, error behavior for a missing ID, or workspace scoping implications — so it misses the (lower) bar for annotated tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the two halves say the same thing ('Get a Specific Sequence' / 'Retrieve details of a specific sequence'), so half the sentence is wasted repetition rather than useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the schema fully documents both parameters, so the description is not expected to explain return values or parameter formats. The only real gap is sibling differentiation, which structured fields cannot supply, keeping it below a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the required 'id' and the optional 'workspace_id' are already documented with meaningful descriptions. The description adds no extra parameter meaning, which is acceptable given full schema coverage but not a value-add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name and title almost verbatim ('Get a Specific Sequence - Retrieve details of a specific sequence') without adding substance. It never distinguishes the tool from close siblings such as get_all_sequences, get_sequence_stats, or get_sequence_leads, leaving an agent to infer the difference from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives. With siblings like get_all_sequences (listing) and get_sequence_leads (leads of a sequence) present, explicit routing guidance would have been valuable, but none is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sequence_leadsGet Sequence LeadsARead-onlyInspect
Get Sequence Leads - List leads in a sequence. Supported filters: status. not_contacted/contacted are evaluated on the lead's first-outreach task (first email not yet sent / sent); opened/clicked/replied/bounced/unsubscribed match engagement recorded on any step of the sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sequence ID | |
| skip | No | Number of leads to skip | |
| limit | No | Maximum number of leads | |
| status | No | Filter by lead status: not_contacted/contacted are evaluated on the lead's first-outreach task (first email not yet sent / sent); opened/clicked/replied/bounced/unsubscribed match engagement on any step of the sequence | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint/destructiveHint/openWorldHint already covering the safety profile, the description adds genuinely new behavioral context: how each status value is evaluated (first-outreach task vs. any sequence step). It does not document pagination defaults or whether results are ordered, which keeps it short of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose before the filter detail. The second sentence is long and largely duplicates the enum description, so it is slightly redundant but still earns its place as the core disambiguation for status values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and all five parameters are documented in the schema. For a read-only filtered list operation, the description plus structured fields cover everything an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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's explanation of status semantics is verbatim identical to the enum's schema description, so it adds no information the schema does not already carry; skip/limit/workspace_id are entirely left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List leads in a sequence") with the required sequence ID scope implied, which is clearly distinct from mutation siblings like update_sequence or unsubscribe_lead_from_sequence. It does not explicitly differentiate from get_leads or export_sequence_leads, which is the only gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention of "Supported filters: status" implies how the tool is used for segmentation, but there is no explicit guidance on when to choose this over get_leads, get_sequence_stats, or export_sequence_leads. Nothing is misleading, but the agent must infer the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sequence_statsGet Sequence StatsCRead-onlyInspect
Get Sequence Stats - Retrieve statistics for a specific sequence
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 fully covered elsewhere. The description adds nothing beyond that — no mention of what statistics are returned, whether the sequence must exist, error behavior, or aggregation scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the leading 'Get Sequence Stats -' repeats the tool name verbatim, so the only substantive clause is still a restatement. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema explanation is needed since one exists, and the two parameters are documented in the schema. However, for a tool sitting in a dense cluster of sequence- and analytics-related siblings, the description does not tell an agent enough to select it confidently or know what class of metrics it yields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('The sequence ID' and workspace resolution behavior), so the schema carries the semantics. The description contributes no additional meaning about the id or workspace_id, which is the expected baseline when coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a near-verbatim restatement of the name and title: 'Get Sequence Stats - Retrieve statistics for a specific sequence'. It confirms the resource but offers no differentiation from the many adjacent analytics/getter siblings such as get_sequence, get_sequence_leads, or get_analytics_lead_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. An agent cannot tell from the text whether to call this or get_sequence / get_sequence_leads / get_analytics_* for sequence-level metrics, nor are any prerequisites or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_signaturesGet SignaturesCRead-onlyInspect
Get Email Signatures - Retrieve all email signatures
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of signatures to skip for pagination | |
| limit | No | Maximum number of signatures to return | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 fully covered structurally. The description adds nothing beyond that — it doesn't mention pagination behavior, workspace scoping, or result ordering, which would be the value-add here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the two clauses ("Get Email Signatures" and "Retrieve all email signatures") are near-duplicates. Only one sentence carries information, and the duplication wastes space without harming clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and all three parameters documented in-schema, the structural data is complete. The description itself is minimal but sufficient for a simple read-only list endpoint; nothing critical is missing, though nothing extra is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with skip, limit, and workspace_id each fully documented in the schema. The description adds no parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Retrieve all email signatures"), which is unambiguous. It doesn't distinguish from any sibling, but no sibling in the list covers signatures, so the risk of misselection is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives. The agent must infer usage entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templateGet TemplateARead-onlyInspect
Get a Specific Template - Retrieve details of a specific email template. Template tests are included when includeTests is true.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The template ID | |
| includeTests | No | Include template tests when true | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 fully covered elsewhere. The only added behavior is the includeTests toggle, which restates the schema rather than disclosing anything new like error behavior for a missing ID or cross-workspace access rules.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and followed by the one notable option. Slight redundancy between the 'Get a Specific Template' title prefix and the following sentence keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-by-ID tool, annotations cover safety, the output schema covers return values, and the schema fully documents parameters. Only minor gaps remain, such as what happens when the ID is unknown or not in the active workspace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (id, includeTests, workspace_id) are already documented with their defaults. The description only echoes the includeTests behavior and adds no format or constraint detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve details of a specific email template'), which is unambiguous on its own. It does not explicitly name get_all_templates as the alternative, so the single-vs-list distinction is only implied by 'specific'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: fetch one template by ID rather than a list. There is no explicit when-to-use/when-not guidance, no mention of prerequisites (e.g., needing a workspace or permissions), and no routing to the sibling get_all_templates or update_template.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_thread_messagesGet Thread MessagesCRead-onlyInspect
Get Thread Messages - Retrieve all messages in a specific thread
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | The message ID of the thread | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, and an output schema exists. The description adds no behavioral context beyond that — no note on ordering, pagination, or what happens with an invalid messageId — so it contributes nothing the structured fields don't already cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is front-loaded with the action and object, with no wasted text. It is appropriately terse, though it is terse because it says little rather than because it is tightly edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given annotations and a full output schema, the description is adequate to call the tool correctly, but it omits ordering/pagination expectations and any disambiguation from sibling message-retrieval tools, leaving a gap for a low-complexity but crowded namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (messageId, workspace_id) are fully documented in the schema. The description only alludes to 'a specific thread' and adds no format or default semantics beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb ('Retrieve') and resource ('all messages in a specific thread'), which is clearer than the bare name, but it essentially rephrases the title and gives no way to distinguish it from siblings like get_inbox_threads, get_lead_messages, or fetch_sender_messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling retrieval tools (get_inbox_threads, get_lead_messages, fetch_sender_messages). The agent must infer selection criteria entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_userGet UserARead-onlyInspect
Get a Specific User - Retrieve a specific user by ID from the account user list. The public API only exposes GET /users, so the tool fetches the full list and returns the matching user.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The user ID to look up | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint=true and destructiveHint=false, the description adds meaningful behavioral context: the tool fetches the full user list and returns the matching user because the public API lacks a direct GET /users/{id} endpoint. It does not describe not-found behavior or pagination, but the implementation caveat is a useful disclosure 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with the primary action front-loaded, followed by necessary implementation context. There is no filler and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has complete schema descriptions, and includes an output schema, so the description does not need to explain return values. It covers the key implementation caveat, though it could mention not-found behavior or workspace scoping more explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and workspace_id parameters are already documented in the input schema. The description reinforces that lookup is by user ID but adds no syntax or workspace-scoping details beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Retrieve a specific user by ID') and clearly scopes it to a single user from the account user list, distinguishing it from the sibling get_all_users tool. An agent can immediately tell this is for ID-based lookup rather than listing all users.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly indicates use for retrieving one user by ID and explains that the public API only exposes GET /users, implying the full-list fallback. However, it does not explicitly name get_all_users as the alternative for listing users, so the when-not condition is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warmup_linksGet Warmup LinksCRead-onlyInspect
Get Warmup Links - Retrieve all warmup link configurations for sender warmup
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of warmup links to skip for pagination | |
| limit | No | Maximum number of warmup links to return | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 fully covered by structured data and the description adds nothing beyond it. Worse, "Retrieve all" is mildly misleading given skip/limit pagination with a default limit of 100, which the description ignores.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the resource is front-loaded. It is efficient, though it is efficient partly because it says so little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and parameters are fully covered by the schema. What is missing is the operational context: what a warmup link is used for and why an agent would fetch them, leaving the definition minimally adequate for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (skip, limit, workspace_id) are documented in the schema, so the description need not repeat them. It adds no meaning beyond the schema, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource is identifiable ("Retrieve ... warmup link configurations"), but the phrase largely restates the title and adds only the words "for sender warmup." Nothing distinguishes it from nearby siblings like get_sender_warmup_stats or get_all_senders, so an agent cannot tell from the description alone which of these to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative. The description never says how this differs from get_sender_warmup_stats, which an agent would plausibly confuse it with.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initialize_google_oauthInitialize Google OAuthBInspect
Initialize Google OAuth - Return the Google authorization URL for connecting a Gmail or Google Workspace sender.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the safety profile is mostly covered. The description adds the key behavioral fact that the call yields an authorization URL rather than performing the connection, but it leaves open whether OAuth state is persisted, whether an existing sender connection is affected, and what the caller must do with the URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and immediately followed by the outcome. The leading 'Initialize Google OAuth -' restates the name and title before the useful clause, which is minor waste but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A one-optional-parameter tool with an output schema, so return-shape explanation is rightly omitted; the description still adds the meaningful fact that the return is a URL. The remaining gap is how this fits with initialize_outlook_oauth and sender reconnect flows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single optional workspace_id, including the default-workspace behavior, so the schema carries the load. The description adds nothing about workspace scoping, which is the correct baseline for a fully documented single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Initialize) and resource (Google OAuth) and adds the concrete effect: returns a Google authorization URL for connecting a Gmail/Workspace sender. The platform naming implicitly separates it from initialize_outlook_oauth, but it never explicitly addresses that sibling or the other link-generating tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no exclusions. An agent cannot tell from the text whether to call this versus initialize_outlook_oauth, reconnect_sender, get_sender_connect_link, or get_add_card_login_link, all of which sit in the same sibling namespace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initialize_outlook_oauthInitialize Outlook OAuthAInspect
Initialize Outlook OAuth - Return the Microsoft authorization URL for connecting an Outlook sender.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds that the call returns an authorization URL, which is useful context, but says nothing about the OAuth flow lifecycle (redirect/callback handling, whether state is persisted on the server, or expiry of the returned URL).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that names the action and its concrete output with zero filler. Nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value structure needn't be explained, and the description still states the key return (authorization URL). For a one-parameter, non-destructive initializer this is nearly complete; only the post-call flow expectations are unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single workspace_id parameter is fully documented in the schema, including the default-workspace behavior. The description does not reference the parameter at all, so baseline 3 applies – the schema carries the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (initialize) and resource (Outlook OAuth) and, critically, clarifies the return value: a Microsoft authorization URL for connecting an Outlook sender. This distinguishes it from the sibling initialize_google_oauth by provider, though the differentiation is implicit in the provider name rather than explicit routing language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose ('connecting an Outlook sender') implies the use case, but there is no explicit when/when-not guidance, no mention of prerequisites (e.g. that the sender must exist first or that a callback/exchange step follows), and no explicit routing away from initialize_google_oauth.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_my_workspacesList My WorkspacesBRead-onlyInspect
List My Workspaces - Return every SalesBlink workspace available to the authenticated user, including its ID, name, and role.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, destructive=false, openWorld=false, so the safety profile is covered. The description adds the useful scoping detail that results are limited to workspaces the authenticated user can access, but says nothing about ordering, pagination, or behavior with zero workspaces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the resource and return fields front-loaded. The only waste is restating the tool name verbatim in the leading clause, which the title already conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only list tool with a full output schema, complete annotations, and 100% parameter documentation needs little prose, and what is here covers scope and result fields. The one missing piece is disambiguation from get_all_workspaces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single workspace_id parameter is optional, so the schema already explains defaulting to the current workspace. The description ignores the parameter entirely, adding no semantics beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (return every SalesBlink workspace for the authenticated user) plus the returned fields (ID, name, role), so the outcome is unambiguous. However, it never distinguishes itself from the very similar sibling get_all_workspaces (or select_workspace), leaving the agent to guess which listing tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this rather than get_all_workspaces, select_workspace, or create_workspace when none exists. The 'my' in the name hints at user-scoped listing, but the description never states an exclusion or precondition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_leadMove LeadCDestructiveInspect
Move Lead to Another List - Move a lead from one list to another
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The lead ID to move | |
| list_id | Yes | Destination list ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is known. The description repeats the mutation ('move') without adding anything the annotations lack — no note on whether the lead is removed from the source list, whether membership data/suppression state is preserved, or whether cross-workspace moves behave differently.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the two halves are the same statement restated ('Move Lead to Another List' / 'Move a lead from one list to another'). Minimal, but the second clause earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, but this is a destructive list-membership operation with no annotation-supplementing context: no error behavior, no side effects on sequences or suppression status, no cross-workspace caveat. The description is not complete enough for an agent to predict outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (id, list_id, workspace_id) are documented in-schema with default-workspace semantics. The description adds nothing beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (move) and resource (lead) plus the scope change (from one list to another), which distinguishes it from update_lead. It does not explicitly name that sibling as an alternative, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus update_lead, what preconditions apply (e.g., whether the lead must already exist in a source list), or what happens if the lead is already in the destination. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_inbox_placement_testPause Inbox Placement TestCInspect
Pause Inbox Placement Test - Pause an active deliverability test
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The test ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds nothing beyond that: it does not say whether pausing is reversible (no resume sibling exists in the tool list), whether it stops data collection, or what state the test ends in. For a mutation tool it leaves the meaningful behavior undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so nothing is padded, but the leading 'Pause Inbox Placement Test -' duplicates the title and consumes half the text. The one substantive detail ('active', 'deliverability') is tacked on at the end rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: two params at full schema coverage, an output schema, and clear annotations, so most of the burden is already carried elsewhere. Still, an agent calling a pause operation would benefit from knowing the required test state and whether the action can be undone, neither of which appears.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both the test id and the workspace_id fallback behavior are fully documented in the schema. The description only reiterates that the id refers to a deliverability test, adding no syntax, format, or edge-case detail beyond the structured fields. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (pause) and resource (Inbox Placement Test) and adds the qualifier 'active deliverability test', which tells the agent the target must be running. However, the first clause simply restates the tool title verbatim, and there is no differentiation from nearby siblings such as delete_inbox_placement_test or get_inbox_placement_tests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pause versus delete or create a test, no mention of prerequisites (the test must be active), and no note on what happens afterward. The 'active' qualifier is the only implied usage condition, and the agent must infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconnect_senderReconnect SenderCInspect
Reconnect Sender - Reconnect a failed sender
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sender ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is partially covered. What the description does not disclose is meaningful: whether reconnect triggers a new OAuth/IMAP authorization handshake, whether it requires a prior get_sender_connect_link step, whether existing credentials are invalidated, or whether it is rate-limited by the provider. For a state-changing sender operation, those are exactly the facts an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short with no filler, but that brevity comes from under-specification rather than tight editing, and the name is redundantly repeated before the dash. There is no structure beyond a single clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and annotations exist, so return values and safety are partly covered. However, the description leaves the core mechanic of "reconnect" unexplained — whether it is an automatic retry, a re-authorization flow, or a token refresh — which is the single most important thing for an agent deciding to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, workspace_id) are documented in the schema, including the default-workspace fallback behavior. The description adds nothing on top of that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a near-verbatim restatement of the tool name and title: "Reconnect Sender - Reconnect a failed sender". The only added information is the precondition that the sender is in a failed state. Nothing distinguishes it from related siblings such as get_sender_connect_link, get_sender_health, or update_sender.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus get_sender_connect_link (which appears to be the link-generation counterpart) or update_sender. The word "failed" hints at a precondition but no exclusions, prerequisites, or alternative paths are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_contactRemove ContactADestructiveInspect
Remove a Contact from a List - Remove a single contact from a list by email
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address of the contact to remove | ||
| list_id | Yes | The list ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false. The description adds useful scope by clarifying that the removal is list-specific, single-contact, and email-based, but it does not explain permanence, whether the contact remains elsewhere, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action. It is slightly redundant, repeating "Remove a Contact from a List" as "Remove a single contact from a list by email," but the repetition is minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich input schema, an output schema, and destructive annotations already present, the description provides the essential scope and identifier needed to call the tool. The remaining gap is the lack of clarity about how this differs from archive or global unsubscribe operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 email, list_id, and workspace_id. The description only restates that removal is by email from a list, adding no meaningful semantics beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("Remove a Contact") with clear scope ("from a List") and identifier ("by email"). It is distinguishable from generic deletion, but it does not explicitly differentiate itself from nearby siblings such as archive_contact or unsubscribe_lead_globally.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "Remove a single contact from a list by email" implies the use case: removing one list membership by email. However, it gives no explicit when-not guidance and does not name alternatives such as archive_contact, unsubscribe_lead_globally, or remove_from_blocklist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_from_blocklistRemove From BlocklistADestructiveInspect
Remove from Blocklist - Remove a single email/domain from the blocklist. Only one entry per call, and requires explicit user confirmation, since the removed address becomes eligible for outreach again.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The single email or domain to remove from the blocklist | ||
| confirm | Yes | Must be true — confirms the account holder explicitly approved removing this entry from the suppression list | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, so the safety profile is known; the description adds genuinely new behavior — that the removed address becomes eligible for outreach again, and that explicit user confirmation is mandatory before the call. That downstream consequence is exactly the kind of context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the core action front-loaded and no filler. It is efficient, though the trailing clauses are packed together rather than separated for scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers the action, the one-per-call limit, the confirmation gate, and the consequence. The only real gap is the lack of guidance relative to delete_blocklist_entry, which shares nearly the same surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters including the confirm flag are fully documented in the schema. The description reinforces the single-entry nature of 'email' and the confirmation requirement but adds no syntax, format, or validation detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Remove a single email/domain from the blocklist", plus the single-entry scope. However, it never differentiates itself from the very similarly named sibling delete_blocklist_entry, which an agent would need to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the operative constraint (one entry per call, explicit user confirmation required) which implies when it applies, but names no alternatives and no exclusions — nothing tells the agent why to pick this over delete_blocklist_entry, add_to_blocklist, or check_blocklist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_workspaceSelect WorkspaceAInspect
Select Workspace - Set the SalesBlink workspace used by subsequent actions in this session. When omitted, the account's default workspace is used.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations say readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the agent knows this writes but doesn't destroy. The description adds genuinely non-derivable context: the effect is session-scoped, affecting 'subsequent actions', and omitting it falls back to the account default. It omits failure behavior for an invalid or inaccessible workspace_id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the effect scope front-loaded and the default-fallback rule second. The only waste is the leading 'Select Workspace -' label that repeats the tool name/title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter tool with a 100% documented schema and an output schema, the description covers what an agent needs: what the call changes, how long it applies, and what happens when it is skipped. The notable remaining gap is where valid workspace IDs come from, given the many workspace-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema description already says omission means 'current or default workspace', so the description's parallel statement largely restates it. With one optional parameter and full schema documentation, the baseline 3 applies; no syntax or ID-provenance guidance is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and goes beyond the name by explaining the effect scope: the workspace is set for 'subsequent actions in this session'. It does not distinguish itself from workspace siblings like get_all_workspaces, list_my_workspaces, create_workspace, or update_workspace, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'used by subsequent actions in this session' plus the fallback rule when omitted, which tells the agent it can legitimately skip the call. There is no explicit routing guidance such as 'use get_all_workspaces to discover IDs' or 'do not use this to modify workspace settings (use update_workspace)'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_replySend ReplyBDestructiveInspect
Send a Reply - Send a reply to a specific message thread. Attachments are not supported on this connector — to send files, attach them via the SalesBlink web app.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC email address | |
| bcc | No | BCC email address | |
| tzMode | No | Timezone mode: 'sequence' uses the sequence timezone, 'custom' uses selectedTimezone | |
| content | Yes | HTML content of the reply | |
| messageId | Yes | The message ID to reply to | |
| attachments | No | NOT supported on this connector — providing file paths returns an error. Attach files via the SalesBlink web app instead. | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| scheduled_time | No | Unix timestamp in ms to schedule the reply. If omitted or in the past, the reply is sent after a short delay. | |
| selectedTimezone | No | IANA timezone to use when tzMode='custom' |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, openWorldHint=true, and destructiveHint=true, so the agent knows this is a mutating external-facing action. The description adds a valuable connector-specific limitation: attachments are unsupported and must be sent via the web app. However, it does not disclose irreversibility, scheduling behavior, or authentication requirements beyond what the annotations and schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core operation. The only minor inefficiency is the redundant 'Send a Reply - Send a reply...' phrasing, but otherwise every sentence carries useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter mutating tool with full schema coverage, existing annotations, and an output schema, the description covers the key operational caveat about attachments. It does not explain scheduling, timezone behavior, or reply threading semantics, but those are either covered by the schema or the output schema, so the remaining gap is modest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all nine parameters, including cc, bcc, tzMode, scheduled_time, and the attachments limitation. The description does not add parameter semantics beyond restating the attachment restriction already documented in the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Send a reply to a specific message thread.' That clearly identifies the operation and distinguishes it from read-oriented siblings like get_thread_messages. It does not explicitly contrast with forward_inbox_message or other reply-adjacent tools, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but provides no guidance on when to use it versus alternatives such as forward_inbox_message, nor does it state prerequisites or constraints beyond the attachment limitation. The attachment caveat is useful but is not usage segmentation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signupSignupARead-onlyInspect
Signup for SalesBlink - Returns a magic sign-up link where a new user can create an account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 the output is a magic sign-up link for new users, but does not discuss link expiry, prerequisites, or whether existing users are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It states the action and return value efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with an output schema and read-only annotations, the description is largely complete: it explains what the tool returns and who the link is for. Minor omissions around link lifetime or account prerequisites are acceptable given the available structured context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to explain beyond the schema baseline. A 4 is appropriate under the provided scoring rule for 0-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and outcome: signup for SalesBlink and returns a magic sign-up link for a new user to create an account. It distinguishes itself implicitly from login-link and add-user siblings, though it does not name alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for new-user signup and returns a link rather than creating the account directly. It gives useful context but does not explicitly say when to use it versus add_user, generate_login_link, or verify_account.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unsubscribe_lead_from_sequenceUnsubscribe Lead From SequenceCDestructiveInspect
Unsubscribe Lead from Sequence - Unsubscribe a lead from a specific sequence
| Name | Required | Description | Default |
|---|---|---|---|
| lead_id | Yes | The lead ID | |
| sequence_id | Yes | The sequence ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, but the description adds nothing beyond that: it does not say whether sequence history/progress is discarded, whether the removal is reversible, or what happens to in-flight emails. For a destructive mutation, the description carries little of the remaining burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, but the title is duplicated verbatim before a near-identical clause, so the second half earns its place only marginally. It is brief without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema coverage, an output schema, and annotations covering the safety profile, the structured data is rich enough that the sparse description is not crippling. However, for a destructive tool with a closely related sibling, the missing side-effect and sibling-routing information leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so lead_id, sequence_id and workspace_id are already documented, including the workspace defaulting rule. The description adds no additional meaning such as ID formats or cross-workspace constraints, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb and resource ('Unsubscribe a lead from a specific sequence'), so the action is identifiable, but it essentially restates the tool name and title. It does not call out how it differs from the sibling unsubscribe_lead_globally, even though 'specific sequence' hints at it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus unsubscribe_lead_globally, no prerequisites, and no mention of consequences such as whether the lead can be re-added to the sequence. The agent must infer selection criteria from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unsubscribe_lead_globallyUnsubscribe Lead GloballyADestructiveInspect
Unsubscribe Lead Globally - Unsubscribe a lead from all sequences
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The lead ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered upstream. The description's only added behavioral signal is blast radius ('all sequences'), which is genuinely useful; it says nothing about reversibility, whether the lead is also blocklisted, or per-workspace effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, with the scope qualifier arriving immediately. The opening 'Unsubscribe Lead Globally -' redundantly restates the title, which is the only wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and annotations carry the destructive/safety profile, so the definition is broadly sufficient. The remaining gap is that a destructive, global-scope action should hint at irreversibility or recovery paths, which is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both id and workspace_id fully documented, and the schema explains the workspace fallback behavior. The description contributes nothing beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with an important scope qualifier: 'Unsubscribe a lead from all sequences'. The 'all sequences' phrasing implicitly distinguishes it from the sibling unsubscribe_lead_from_sequence, though it never names that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the word 'Globally' and 'all sequences'; an agent can infer this is the broad-scope variant, but the description never states when to prefer it over unsubscribe_lead_from_sequence or whether prerequisites/confirmations apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_leadUpdate LeadADestructiveInspect
Update a Lead - Update lead/contact properties including custom fields. All field names use snake_case (e.g. first_name, company_name, lead_score). The starred boolean is a contact setting and is not added as a list column. Contact archiving is handled by archive_contact.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The lead/contact ID | |
| No | Lead's email address | ||
| phone | No | Lead's phone number | |
| starred | No | Mark/unmark the lead as starred. This is a contact setting, not a data field/column. | |
| job_title | No | Lead's job title | |
| last_name | No | Lead's last name | |
| first_name | No | Lead's first name | |
| company_name | No | Lead's company name | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the safety profile is covered structurally. The description adds useful behavioral detail that `starred` is a contact setting not a list column and that archiving lives elsewhere, but says nothing about permission requirements, reversibility of overwritten field values, or partial-update semantics for a destructive mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with no filler, and the core action is front-loaded. The opening 'Update a Lead - Update lead/contact properties' is mildly redundant with itself but does not waste meaningful space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covered well for a 9-parameter mutation with full schema coverage and an output schema, especially since naming convention and field-vs-setting distinctions are spelled out. The main residual gap is behavioral: overwrite vs merge semantics and permission expectations are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline would be 3; the description adds genuine value by stating that all field names use snake_case with examples (first_name, company_name, lead_score), which matters because additionalProperties is false and custom fields are not enumerated in the schema. It reinforces the `starred` semantics but adds nothing on `workspace_id` defaulting beyond what the schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update a Lead - Update lead/contact properties including custom fields') and explicitly routes archiving to the archive_contact sibling. It does not distinguish itself from other lead-mutating siblings such as move_lead or unsubscribe_lead_from_sequence, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit exclusion boundary: 'Contact archiving is handled by archive_contact,' which tells the agent when not to use this tool. It also clarifies that `starred` is a setting rather than a column, but provides no positive guidance on when to prefer this over other lead tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_listUpdate ListBDestructiveInspect
Update a List - Update list properties. Archiving is handled by archive_list.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The list ID | |
| name | No | New name for the list | |
| folder | No | General folder ID to move the list into. Must be a folder created without a type (i.e., not an email-sender folder). | |
| starred | No | Star or unstar the list | |
| verification | No | Enable verification (IRREVERSIBLE) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| archive_risky | No | Archive risky emails (IRREVERSIBLE) | |
| archive_invalid | No | Archive invalid emails (IRREVERSIBLE) | |
| duplicate_removal | No | Remove duplicate contacts from this list | |
| duplicate_removal_team_list | No | Remove contacts that exist in team members lists | |
| duplicate_removal_other_list | No | Remove contacts that exist in other lists |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is known; the description adds the archive-routing note, which is useful context. However, it never mentions that several parameters (verification, archive_risky, archive_invalid) are irreversible or that contacts may be permanently deleted by the duplicate_removal flags — that disclosure exists only in the schema property descriptions. The phrase "Archiving is handled by archive_list" is also mildly ambiguous next to the archive_risky/archive_invalid params, though it refers to the list itself and therefore does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero padding, with the disambiguation front-loaded after the verb. The first clause restates the tool name/title redundantly, which is the only waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and full annotation coverage present, the description doesn't need to explain return values or safety hints. But for an 11-parameter mutation tool that can irreversibly archive emails and strip contacts from lists, the description is thin: it doesn't summarize the scope of changes or warn that omitted fields are left untouched, leaving the agent to reconstruct intent entirely from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters, including the required id and the irreversible booleans, are already documented in the schema. The description adds no parameter-level meaning (no examples, no interaction rules between duplicate_removal_* flags, no folder constraints), so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Update a List - Update list properties") and explicitly carves out archiving as a separate operation performed by archive_list. The second half is somewhat tautological with the title, and it doesn't indicate which properties are updatable, but an agent can distinguish it from archive_list and from create_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
One explicit exclusion is given ("Archiving is handled by archive_list"), which routes the agent correctly for that one case. Beyond that there is no guidance on when to call update_list versus update_workspace, move_lead, or other mutations, and no prerequisites or side-effect warnings are stated, so most usage must be inferred from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_mail_stateUpdate Mail StateCDestructiveInspect
Update Mail State - Mark emails as read/unread or update outcome
| Name | Required | Description | Default |
|---|---|---|---|
| unread | No | Mark as read (false) or unread (true) | |
| outcome | No | Set the outcome (e.g., 'positive') | |
| messageId | Yes | The message ID | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose a non-read-only, destructive mutation, and the description adds nothing beyond restating the fields, so the agent learns nothing about whether marking read is reversible, what 'outcome' values exist, or what permissions are needed. For a destructiveHint=true tool, the unclear semantics of 'outcome' is a real gap the description should have closed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the operation front-loaded and no filler. It is efficient, though the leading title repetition is mild redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the four params are covered by the schema. Still, the loosely defined 'outcome' field and the absence of any note on scope or side effects leave the agent under-informed for a destructive mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so messageId, unread, outcome, and workspace_id are already fully documented; the description only repeats the unread/outcome operations. It does not clarify what valid 'outcome' strings are or whether both fields can be set in one call, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Mark emails as read/unread or update outcome" states a specific verb and resource with the two supported field operations, so an agent knows exactly what it mutates. It loses the top score only because it largely echoes the title and gives no signal for separating it from siblings like update_lead or forward_inbox_message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names the operations but never says when to reach for this tool versus alternatives such as forward_inbox_message or send_reply, and gives no prerequisites (e.g., whether the message must belong to the selected workspace). Usage is only inferable from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_senderUpdate SenderCDestructiveInspect
Update Sender - Update email sender settings (warmup, inbox, signature, tracking domain, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sender ID | |
| folder | No | Email-sender folder ID to move the sender into. Must be a folder created with type 'email-sender'. An empty string removes the sender from its current folder. | |
| reply_to | No | Reply-to email address | |
| open_rate | No | Target open rate percentage | |
| signature | No | Signature ID or name | |
| spam_path | No | Spam folder path | |
| inbox_path | No | Inbox folder path | |
| warmup_urls | No | Warmup link URLs | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| inbox_enabled | No | Enable inbox monitoring | |
| read_emulation | No | Read emulation level | |
| warmup_enabled | No | Enable/disable warmup | |
| warmup_keyword | No | Warmup keyword/tag | |
| dkim_identifier | No | DKIM identifier | |
| spam_protection | No | Spam protection level | |
| tracking_domain | No | Tracking domain ID | |
| warmup_templates | No | Warmup template IDs | |
| ramp_up_frequency | No | Ramp-up increment | |
| max_daily_frequency | No | Max daily warmup emails | |
| auto_ramp_up_enabled | No | Enable auto ramp-up | |
| starting_warmup_frequency | No | Starting warmup frequency | |
| sequence_ramp_up_frequency | No | Sequence ramp-up increment | |
| use_custom_tracking_domain | No | Use custom tracking domain | |
| sequence_max_daily_frequency | No | Max daily sequence sends | |
| sequence_auto_ramp_up_enabled | No | Enable sequence auto ramp-up | |
| sequence_initial_daily_frequency | No | Initial daily sequence sends | |
| pause_cold_emails_when_health_low | No | Pause cold emails when health is low | |
| pause_cold_emails_health_threshold | No | Health threshold to pause at |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true and readOnlyHint=false, so the description must add nuance — but it does not say whether this is a partial/PATCH-style update or a full replacement of warmup config, nor what a 'destructive' update can wipe out. It also omits whether warmup changes take effect immediately or reset sender health, which matters for a settings mutation with 28 fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded and easy to scan, but the opening clause 'Update Sender -' merely restates the name and title before any content, so a meaningful fraction of the text is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 28-parameter mutation with only 'id' required and an output schema present, the critical missing piece is update semantics: are omitted fields left untouched? Is 'folder' emptied differently than other fields? The annotations carry the safety profile and the schema carries field meaning, but the partial-update contract an agent needs before calling is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 28 parameters is already documented in the schema; the description only echoes a handful of field areas (warmup, inbox, signature, tracking domain). It adds no semantics such as how arrays like warmup_urls or warmup_templates replace existing values, or how the folder/workspace_id scoping interacts with the update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Update) and resource (email sender settings) and enumerates representative field areas — warmup, inbox, signature, tracking domain — which maps well to the largest parameter clusters in the schema. Sibling tools with similar nouns (get_all_senders, update_sequence, reconnect_sender) are implicitly distinguished by the verb, but the description never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus get_all_senders, get_sender_health, reconnect_sender, or update_workspace. There are no stated prerequisites (e.g. needing the sender id, permissions, or workspace scoping) and no exclusions or warnings despite destructiveHint being true.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_sequenceUpdate SequenceADestructiveInspect
Update Sequence Properties and State. Archiving is handled by archive_sequence. Recipients must be the account holder's own contactable audience and suppression/blocklist is always enforced. Changing launch settings to start sending emails must only happen after explicit user confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sequence ID | |
| bcc | No | BCC email address for all outgoing emails | |
| name | No | Sequence name | |
| lists | No | Array of list UUIDs to associate with sequence | |
| steps | No | Modify sequence steps. Each email step must be {type: 'email', template_id: 'public-template-uuid'} with optional send_as: 'new' | 'followup' (followup replies in the existing thread; ignored on the first email step, which always starts a new thread). Each delay step must be {type: 'delay', days: number}. When provided, the entire steps array replaces the existing flowchart. | |
| folder | No | General folder ID to move the sequence into. Must be a folder created without a type (i.e., not an email-sender folder). | |
| paused | No | Pause or resume the sequence. Setting false resumes sending emails to recipients and requires confirm: true as the account holder's explicit approval. | |
| confirm | No | Required when paused is false — confirms the account holder explicitly approved resuming the sequence | |
| delayTo | No | Maximum delay in minutes | |
| senders | No | Comma-separated sender UUIDs | |
| starred | No | Star the sequence | |
| skip_esg | No | Skip ESG detection | |
| timezone | No | IANA timezone for sending emails, e.g. 'Asia/Calcutta' or 'America/New_York' | |
| delayFrom | No | Minimum delay in minutes | |
| evergreen | No | Enable evergreen sequence | |
| plainText | No | Send as plain text email | |
| auto_reply | No | Enable auto-reply detection | |
| riskyEmail | No | Send to contacts with risky email status | |
| validEmail | No | Send to contacts with valid email status | |
| scheduledAt | No | Launch time. UTC milliseconds OR an ISO 8601 datetime with timezone offset, e.g. '2026-07-08T16:30:00+05:30' for 4:30 PM IST. | |
| delayEnabled | No | Enable sending delay | |
| invalidEmail | No | Send to contacts with invalid email status | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| matchProvider | No | Match email provider when sending | |
| checkEmailOpen | No | Check if recipient opened previous email | |
| checkEmailClick | No | Check if recipient clicked a link in previous email | |
| checkEmailReply | No | Check if recipient replied to previous email | |
| launchTimingMode | No | Launch timing mode | |
| emailSendingHours | No | Custom email sending hours for each day of the week (Monday-Sunday). Must include all 7 days if provided. | |
| stopWhenReplyRecieved | No | Stop sequence when recipient replies | |
| checkEmailBeforeSending | No | Verify email before sending. When enabled user must approve email before they can be sent | |
| sendToOnlyVerifiedEmail | No | Only send to verified emails | |
| stopWhenReplyRecievedWhen | No | When to stop sequence on reply: 'contact' = stop for this contact only, 'contact-with-same-domain' = stop for all contacts sharing the same domain |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and openWorldHint=true, so the bar is lower; the description still adds real behavior: recipient eligibility is limited to the account holder's own contactable audience and suppression/blocklist is always enforced regardless of parameters. It does not warn that a supplied steps array wholesale replaces the flowchart, though the schema does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with purpose, then scope exclusion, then constraints. No filler, though given 33 parameters the text is on the thin side rather than excessive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 33 params, an output schema, and rich field descriptions, the description sensibly focuses on guardrails and sibling routing rather than repeating fields. It could state partial-update semantics (which fields are optional vs. full replacement) to be fully complete for a destructive mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across 33 parameters, so the schema carries parameter meaning. The description contributes only one cross-parameter rule (recipient eligibility plus always-on blocklist enforcement) and otherwise adds nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Update Sequence Properties and State" names a specific verb and resource, and the very next sentence excludes archiving by naming archive_sequence. The word "State" stays slightly vague (pause/launch/status overlap with update_sequence_status), so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes archiving to archive_sequence and states a hard precondition for the launch/resume path (explicit user confirmation). It does not address when to use this vs update_sequence_status, which is a sibling that also touches sequence state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_sequence_statusUpdate Sequence StatusADestructiveInspect
Update Sequence Status - Start, pause, stop, or archive a sequence. Setting status to ACTIVE starts sending emails to recipients and requires explicit user confirmation from the account holder.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sequence ID | |
| status | Yes | Target status | |
| confirm | No | Required when status is ACTIVE — confirms the account holder explicitly approved launching the sequence | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is partly covered. The description adds important behavioral context: setting status to ACTIVE starts sending emails and requires explicit account-holder confirmation. It does not explain the side effects of pause, stop, or archive, so it stops short of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with the key consequence of ACTIVE front-loaded. The leading title repetition is slightly redundant but does not undermine the conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and annotations covering safety and openness, the description provides enough context for an agent to invoke the tool correctly, especially around ACTIVE confirmation. The main gap is the lack of guidance relative to sibling archive/update tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 id, status, confirm, and workspace_id. The description reiterates the ACTIVE/confirm relationship but adds little semantic detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb and resource and enumerates the four target statuses (start, pause, stop, archive). It does not explicitly distinguish this tool from sibling tools such as archive_sequence or update_sequence, which limits it to a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by listing status transitions and notes the special confirmation requirement for ACTIVE. However, it does not state when to use this tool instead of archive_sequence or update_sequence, nor does it describe exclusions or prerequisites beyond the ACTIVE confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_templateUpdate TemplateADestructiveInspect
Update a Template - Update an existing email template. Attachments are not supported on this connector — to send files, attach them via the SalesBlink web app.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The template ID | |
| name | No | New name for the template | |
| folder | No | General folder ID to move the template into. Must be a folder created without a type (i.e., not an email-sender folder). An empty string removes the template from its folder. | |
| content | No | New HTML content | |
| starred | No | Star or unstar the template | |
| attachments | No | NOT supported on this connector — providing file paths returns an error. Attach files via the SalesBlink web app instead. | |
| subject_line | No | New subject line | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. | |
| remove_attachments | No | Array of existing attachment names to remove |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is known. The description usefully adds a connector-level limitation (attachment operations fail; use the web app), but it does not clarify the most important behavioral question for an update tool: whether omitted fields are left untouched or cleared, nor whether changes are reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the connector limitation; nothing is buried. Minor waste in the redundant 'Update a Template - Update an existing email template' opening.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich schema descriptions, an output schema, and annotations covering the destructive profile, the description does not need to restate parameters or return values. Only the partial-update semantics for a 9-parameter mutation are left unaddressed, which is a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each of the nine parameters carries a detailed description (including the folder empty-string behavior and the workspace default). The description adds only the attachments restriction, which the schema already states verbatim, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update an existing email template'), which clearly separates it from create_template, get_template, and archive_template. The first clause merely restates the title, and no sibling is named explicitly, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the verb and the required 'id'; there is no statement of prerequisites, when to prefer create_template vs. this tool, or what happens on partial input. The one concrete guideline given is a constraint — attachments cannot be sent through this connector and must go through the web app.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_userUpdate UserCDestructiveInspect
Update a User - Update user properties
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The user ID | |
| name | No | User's display name | |
| role | No | User role | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the description's job is to add context — e.g. whether this is a partial patch or full replace, whether role changes require admin rights, or whether omitted fields are preserved. It adds none of this; "Update user properties" conveys nothing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not front-loaded with information — the two clauses are near-duplicates of each other and of the title. Brevity here comes from under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with four parameters, the description says nothing about what is overwritten, permission requirements, or whether name/role are individually optional. The output schema covers return values, but the behavioral picture an agent needs before invoking a destructive write is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so id, name, role, and workspace_id are already documented, including the enum values and the workspace fallback behavior. The description contributes no additional parameter semantics, which puts it at the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name twice ("Update a User - Update user properties") without identifying which properties are mutable or what the operation means. It does not distinguish this tool from siblings like update_lead, update_workspace, or update_sender beyond the resource noun.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus get_user, add_user, or update_workspace, and no stated preconditions. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workspaceUpdate WorkspaceBDestructiveInspect
Update Workspace - Update workspace name (owner only)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The workspace ID | |
| name | Yes | New name for the workspace (min 4 characters) | |
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, so the write/destructive nature is known. The description adds the owner-permission requirement, which is genuine context beyond the annotations, but it does not clarify why a rename carries a destructive hint or what side effects (links, uniqueness) a rename may have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A short, front-loaded sentence with no filler. The 'Update Workspace - ' prefix restates the title and is the only wasted token.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complete schema, an output schema, and annotations, most needs are covered. The description still omits what a rename affects externally and how owner-only failure surfaces, leaving the agent to infer consequences of a destructive-hinted operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented structurally (id, name with min length, workspace_id fallback). The description only echoes the 'name' concept and adds nothing about id vs workspace_id resolution, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update Workspace') and narrows the scope to a single field ('workspace name'), which distinguishes it from create_workspace and get_all_workspaces. The leading phrase duplicates the title, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'(owner only)' gives a real prerequisite for calling it, which is more than most siblings offer. However, there is no explicit guidance on when to use this versus select_workspace or create_workspace, and no note on what happens if a non-owner calls it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_accountVerify AccountCRead-onlyInspect
Verify Current Account - Return information about the currently selected SalesBlink workspace account.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID this action applies to. When omitted, the current or default workspace is used. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The raw result returned by the SalesBlink tool. |
TDQS
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 only the 'current account' scope and does not explain what 'verify' actually does (auth check? account echo?), what happens if no workspace is selected, or any failure behavior — despite 'verify' implying a validation semantic not supported by any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with no filler. The leading 'Verify Current Account -' duplicates the title and slightly re-introduces the verb ambiguity rather than front-loading the actual behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and the tool is a simple parameterless read. Still, the description does not resolve the central ambiguity of what verification means or what 'currently selected' implies when no workspace has been chosen.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single optional workspace_id is fully documented in the schema, including the default-to-current-workspace behavior. The description's phrase 'currently selected' is consistent but adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does state a resource — the currently selected SalesBlink workspace account — and the scope qualifier 'currently selected' helps separate it from get_all_workspaces/list_my_workspaces. But the verb is muddled: the name says 'verify' while the description says 'return information', and 'information' is left generic, so an agent cannot tell whether this validates credentials or just echoes the account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this rather than get_user, list_my_workspaces, get_all_workspaces, or select_workspace. There are no exclusions and no prerequisites stated, so routing must be inferred from the sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
88 tool updates
- First observed
add_contacts - First observed
add_to_blocklist - First observed
add_user - First observed
archive_contact - First observed
archive_list - First observed
archive_sequence - First observed
archive_template - First observed
check_blocklist - First observed
clone_sequence - First observed
create_folder - First observed
create_inbox_placement_test - First observed
create_list - First observed
create_sequence - First observed
create_template - First observed
create_workspace - First observed
delete_api_key - First observed
delete_blocklist_entry - First observed
delete_inbox_placement_test - First observed
export_sequence_leads - First observed
fetch_multiple_sender_messages - First observed
fetch_sender_messages - First observed
forward_inbox_message - First observed
generate_login_link - First observed
get_add_card_login_link - First observed
get_all_folders - First observed
get_all_lists - First observed
get_all_senders - First observed
get_all_sequences - First observed
get_all_templates - First observed
get_all_users - First observed
get_all_workspaces - First observed
get_analytics_daily - First observed
get_analytics_lead_stats - First observed
get_analytics_mailbox_stats - First observed
get_analytics_overall - First observed
get_api_key_page_link - First observed
get_api_key_refresh_link - First observed
get_api_keys - First observed
get_blocklist - First observed
get_bulk_senders_upload_link - First observed
get_clicks_activity - First observed
get_custom_domains - First observed
get_inbox_placement_tests - First observed
get_inbox_threads - First observed
get_lead_activity_by_email - First observed
get_lead_activity_by_id - First observed
get_lead_messages - First observed
get_leads - First observed
get_list - First observed
get_opens_activity - First observed
get_remove_card_login_link - First observed
get_replies_activity - First observed
get_reports - First observed
get_sender_connect_link - First observed
get_sender_health - First observed
get_sender_warmup_stats - First observed
get_sent_activity - First observed
get_sequence - First observed
get_sequence_leads - First observed
get_sequence_stats - First observed
get_signatures - First observed
get_template - First observed
get_thread_messages - First observed
get_user - First observed
get_warmup_links - First observed
initialize_google_oauth - First observed
initialize_outlook_oauth - First observed
list_my_workspaces - First observed
move_lead - First observed
pause_inbox_placement_test - First observed
reconnect_sender - First observed
remove_contact - First observed
remove_from_blocklist - First observed
select_workspace - First observed
send_reply - First observed
signup - First observed
unsubscribe_lead_from_sequence - First observed
unsubscribe_lead_globally - First observed
update_lead - First observed
update_list - First observed
update_mail_state - First observed
update_sender - First observed
update_sequence - First observed
update_sequence_status - First observed
update_template - First observed
update_user - First observed
update_workspace - First observed
verify_account
Related MCP Connectors
Manage contacts, campaigns, senders, and deliverability via SuperSend API
Cold email API for AI agents: connect mailboxes, warm up, run campaigns and handle replies.
Cold email: campaigns, leads, mailboxes, warmup and inbox replies.
Manage sequences, contacts, and outreach statistics on Reply.io's sales engagement platform.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceGenerate hyper-personalized cold email sequences per lead via AI. List campaigns, generate emails for individual leads or batches, and export results as CSV or JSON.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive email marketing automation through the Cakemail API, including campaign management, transactional emails, contact list operations, template design with BEEeditor, detailed analytics, and multi-account enterprise management.4 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to programmatically manage email outreach campaigns, leads, domains, senders, and webhook events, as well as send emails, through the Model Context Protocol over HTTP.-
- AlicenseNot gradedqualityFmaintenanceMCP server for managing cold email campaigns, leads, email accounts, sequences, analytics, webhooks, and client sub-accounts via the Smartlead API.12 npm8MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.