Skip to content

Leads actions

3 actions. Every field marked Required must be sent; account, dryRun, idempotencyKey, confirmCredits and quoteId are the control fields every surface adds.

leads.list · read

Leads found by the account’s Signals agents, hottest first, with why each one fits.

  • MCP tool: get_leads. Loaded by default in MCP clients.
  • REST: GET /v1/leads/list
  • CLI: xholic leads list
  • Scope: read
  • Plan: Pro plan or higher
  • Cost: Free.
  • Rate limit bucket: read

Input

Field Type Required Description
agentId string (uuid) No
status “ALL” \ “COLLECTED” \ “CONTACTED” \
limit integer 1–20 No Default: 10.
account string ≤ 64 chars No X account to act on, as @handle. Leave it out to use the connection’s default account.

leads.set_status · write

Mark a lead COLLECTED (keep), CONTACTED (reached out) or DISMISSED (not now). Pass suppress true with DISMISSED to never surface this person again. Call it only when the user asked for this in the conversation; never on your own initiative.

  • MCP tool: set_lead_status. Loaded by default in MCP clients.
  • REST: POST /v1/leads/set-status
  • CLI: xholic leads set-status
  • Scope: write
  • Plan: Pro plan or higher
  • Cost: Free.
  • Rate limit bucket: write

Input

Field Type Required Description
id string (uuid) Yes Lead id from get_leads.
status “COLLECTED” \ “CONTACTED” \ “DISMISSED”
suppress boolean No Never show this person as a lead again.
account string ≤ 64 chars No X account to act on, as @handle. Leave it out to use the connection’s default account.
dryRun boolean No Return exactly what would happen without doing it.
idempotencyKey string ≤ 200 chars No A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice.

leads.rate · write

Mark a lead as a FIT or NOT_FIT, with an optional short reason, so the Signals agent learns who to find. Pass verdict null to clear the rating. Call it only when the user asked for this in the conversation; never on your own initiative.

  • MCP tool: rate_lead. Loaded by default in MCP clients.
  • REST: POST /v1/leads/rate
  • CLI: xholic leads rate
  • Scope: write
  • Plan: Pro plan or higher
  • Cost: Free.
  • Rate limit bucket: write

Input

Field Type Required Description
id string (uuid) Yes Lead id from get_leads.
verdict “FIT” \ “NOT_FIT” or null Yes
reason string ≤ 200 chars or null No
account string ≤ 64 chars No X account to act on, as @handle. Leave it out to use the connection’s default account.
dryRun boolean No Return exactly what would happen without doing it.
idempotencyKey string ≤ 200 chars No A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice.