Skip to main content
| preview_people_import | contacts:read | Read-only CSV/XLSX preview with explicit mapping and fingerprint. | | import_people | contacts:write | Queue a confirmed import after preview; no campaign enrollment. | | list_people_import_rows | contacts:read, operations:read | Read bounded row outcomes and contact IDs; not the uploaded file. | | prepare_email_campaign | campaigns:generate | Create at most 500 isolated api_prepared contact-step tasks; no AI or sending. | | generate_email_previews | campaigns:generate | Generate content for 1–10 selected tasks with explicit AI-credit confirmation. | | list_email_messages | messages:read | Read a bounded page of saved message task metadata. | | get_email_message | messages:read | Read one exact saved message preview. | | edit_email_message | messages:write | Edit the exact preview using its ID and revision. | | approve_email_message | messages:approve | Approve one exact preview; approval does not launch. | | reject_email_message | messages:write | Reject one exact preview; later draft steps may be cancelled. | | review_email_campaign | campaigns:launch-email | Create a local readiness review; does not launch. | | launch_email_campaign | campaigns:launch-email | Explicitly schedule approved email messages within configured windows. | | get_email_campaign_progress | campaigns:read | Read saved task statuses; does not verify delivery. |

Inputs that matter

Every workspace operation requires workspace_id. Campaigns, inbox and reporting require channel: email or linkedin. Lists default to 25 records and accept limit from 1 to 100 plus an opaque cursor. All 18 write tools require an idempotency_key. An email draft accepts a name only. LinkedIn drafts support audience and existing step fields. pause_campaign reads current state first and cannot recall in-flight activity. The LinkedIn URL import accepts explicit HTTPS LinkedIn profile URLs for an eligible inactive manual draft; it is not a broad search and can use provider lookup quota. People import separately previews CSV/XLSX and saves contacts without enrollment. Email preparation, credit-confirmed generation, exact-message approval, reviewed launch, and confirmed inbox replies are separate actions. Email launch schedules within configured windows; it does not verify delivery. Inbox context may be incomplete or stale and does not refresh provider history. Unknown reply outcomes require reading the original operation; never retry automatically. See email execution, inbox replies, People import, and LinkedIn review and launch. Resume, reply drafts, deletion and broad inbox history refresh remain unavailable.

Typed results

Successful calls return typed data and meta, including request ID, HTTP status and replay status. Lists retain pagination. Errors have isError=true and a structured error; they are never simulated success. Results are capped at 512 KiB, and unexpected API fields fail contract validation rather than leaking through. Download the machine-readable tool catalog for exact schemas. Tool annotations describe effects; they do not replace a user’s authorization or live API permission checks.