Skip to main content
Glama

Import a finite HubSpot won-deal report by close-date range in UTC

native.genads_import_crm_outcomes
DestructiveIdempotent

Import a finite HubSpot won-deal report by close-date range in UTC. Requires separate won-deal permission. Saved amounts are CRM deal values, not received payments, verified sales or advertising attribution. Reuse operationId after uncertainty; read or recover the original CRM request.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "work_id": "<work_id>",
      "arguments": "<arguments>",
      "expected_catalog_version": "<expected_catalog_version>",
      "read_skills": "<read_skills>",
      "request_key": "<request_key>"
    },
    "name": "native.genads_import_crm_outcomes"
  }
}

Input Schema

NameRequiredDescriptionDefault
work_idYes
argumentsYes
read_skillsYesExact required native skills and their dependencies, copied from the accepted session bootstrap's skills array. Include only entries in that array. General mcp.* guides and native.{studio}.instructions are guidance, not native skill proofs.
request_keyYes
publication_proposal_idNoFor native Social scheduling, the exact server-approved publication proposal. This identifier cannot confer approval by itself.
expected_catalog_versionYesFor a new session, read a studios/{studio}/native/{pack} child toolset and copy invocation.catalog_version from a native tool descriptor. Do not use the top-level library version. For calls in an existing session, use that session proposal's catalog_version.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so the safety bar is lower. The description still adds genuinely new behavioral context: a separate permission gate, the idempotency mechanism (operationId reuse after uncertainty), and a data-interpretation warning that saved amounts are CRM deal values rather than received payments or verified attribution. It stops short of explaining what the destructiveHint actually destroys or what limits apply to the import.

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

Conciseness4/5

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

Four tight sentences, front-loaded with purpose and then layered with constraint, caveat and recovery advice; no filler. The amounts caveat is the only sentence that could be trimmed, though it guards against a real misreading of the returned data.

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

Completeness3/5

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

An output schema exists, so return values need not be described, but the tool has six parameters in a nested schema and five required. The description covers purpose, permission, semantics of the imported amounts, and retry behavior, yet leaves work_id, request_key and expected_catalog_version entirely to the schema, and never states row limits or the effect of maximumRows on a 'finite' import.

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

Parameters3/5

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

Schema description coverage is 50%, and three parameters (read_skills, publication_proposal_id, expected_catalog_version) already carry their own schema text. The description adds meaning for the nested query.from/to as a close-date range in UTC and for operationId as the idempotent retry key, but says nothing about work_id, request_key, maximumRows, or the connectionId that ties the import to a HubSpot connection.

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

Purpose4/5

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

The description gives a specific verb and resource ('Import a finite HubSpot won-deal report') plus a scoping predicate ('by close-date range in UTC'), which is far more than a restatement of the name. It does not distinguish this tool from close siblings such as native.genads_crm_request, native.genads_refresh_crm, or native.genads_recover_crm, so the 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.

Usage Guidelines3/5

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

It supplies a real prerequisite ('Requires separate won-deal permission') and an uncertainty protocol ('Reuse operationId after uncertainty; read or recover the original CRM request'), which implies the recover path. However, it never names the sibling recovery tool explicitly nor states when to prefer refresh_crm or crm_request over this import, leaving the alternative selection implicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources