Documentation Index
Fetch the complete documentation index at: https://docs.getcitable.com/llms.txt
Use this file to discover all available pages before exploring further.
What it does
Emits an outreach action: validates persona-intent, creates or updates the social-reply row for the target thread, and records the action so its 30-day citation impact can be measured. Today this fully wires the social-listening channels (Reddit, Hacker News, X, LinkedIn listening). Cold email and LinkedIn DM channels returnstatus: 'pending_connector' until those connectors are available — the action is still recorded so the intent appears in your history.
When to use
- The user wants to reply to a Reddit / Hacker News / X / LinkedIn thread that’s queued for response.
- An ingested conversation is ripe for a follow-up reply (pair with the
source_ref_idof the thread).
When not to use
- The outreach is broad content publishing — use
emit_content. - The outreach is a paid placement — use
emit_paid.
Inputs
persona_id(number, required) — persona the reply speaks as.intent('engagement'|'commercial', required) —engagementbuilds relationships;commercialpitches or converts.channel('reddit'|'hn'|'twitter'|'linkedin_listening'|'gmail'|'linkedin_dm', required) — first four are fully wired; last two returnpending_connector.reply_text(string, 1–4000 chars, required) — body of the reply.source_ref_id(number, required for social channels) — the thread id this responds to.source_url(string URL, optional) — source thread URL for audit.brand_account_id(number, optional) — the account this reply posts as.scheduled_for(YYYY-MM-DD, optional) — lands on the calendar at a specific date instead of'queued'.target_prompt_ids(number[], optional) — tracked prompts the reply is meant to win citations on.override_reason(string, ≥8 chars, optional) — bypass block-severity violations with audit.
Response
gmail, linkedin_dm):
Persona-intent validation
Outreach almost always touches a persona, so the validation matrix fires on every emit. Block-severity rules halt unlessoverride_reason ≥ 8 chars is supplied. For pending_connector channels the matrix still runs, but a failure doesn’t suppress the pending_connector response — you need to know which connector is missing more than you need an action record.