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. |
Mark a lead
Section titled “Mark a lead”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. |
Rate a lead
Section titled “Rate a lead”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. |
