Ask the strategist for a campaign
Starts the strategist agent for one opportunity. It proposes contacts, channels allowed in the company's country, and steps, and stores them as a campaign with status `proposed`. Nothing is sent until someone accepts it. At most one live proposal exists per opportunity. Signal processing does this automatically after outreach drafting.
Starts the strategist agent for one opportunity. It proposes contacts, channels allowed in the company's country, and steps, and stores them as a campaign with status proposed. Nothing is sent until someone accepts it. At most one live proposal exists per opportunity. Signal processing does this automatically after outreach drafting.
Authorization
bearerAuth A Supabase Auth user access token for the signed-in SignalDock user, sent as Authorization: Bearer <token>. Paste one from a signed-in session, or obtain one through the oauth2 scheme; the API accepts either.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/campaigns/proposals" \ -H "Content-Type: application/json" \ -d '{ "opportunityId": "3d9795f2-7722-4e1d-b41e-0c5d0c24a902" }'{ "runId": "string"}Enroll contacts POST
Enrolls up to 100 contacts and starts one durable sequence run per contact. Contacts without an address or with an invalid address are skipped for email sequences; risky addresses are enrolled but every email to them waits for review. A draft campaign becomes active.
Accept a proposed campaign POST
Turns an agent proposal into a campaign, enrolls the suggested contacts, and starts their sequences. Drafts still follow the campaign mode (review by default).