Campaign delivery
Workbench manages delivery campaigns (email, SMS, WhatsApp, schedules, and agent-assisted outreach). That layer is separate from Runtime scoring campaigns (campaign / subcampaign on POST /invocations).
| Layer | What it is | Typical API |
|---|---|---|
| Delivery campaign | Business overlay: audience, channels, content, schedules, runs | Workbench /api/v1/campaigns and Public API — Campaigns |
| Scoring deployment | Predictor pushed to Runtime | POST /invocations → POST /response on the Runtime host |
Runtime channel values such as app, web, or api describe the scoring context. Delivery channel catalog entries (email providers, WhatsApp, …) live on the Workbench campaign document.
Operator surfaces
| Surface | Use for |
|---|---|
| Campaign manager (Intelligent Sales) | Edit campaign documents, channels, schedules, and triggers |
| Custom Forms | Capture structured inputs linked to campaign workflows |
| Data Management & Campaign | Join audience data with campaign entities |
| Time Process Campaign | Time-based process steps on a campaign graph |
| Campaign Management service | Agentic campaign ops when ecosystem-campaign-management is deployed — see Claude Agent — Campaign Management |
| Campaign Outreach Agent | Build/configure/run outreach via MCP tools (sample_run, test_target_email) — Workbench MCP |
Campaign process workflow
A typical end-to-end campaign process (business overlay + technical execution) looks like this:
- Plan audience, content, and channels on the campaign document (or with the Campaign Agent / Outreach Agent where enabled).
- Wire delivery channels —
GET /public/v1/campaigns/channel-catalog, then set selection withPUT …/channel-selection(Public API). - Validate before live send — prefer a dry or sample run first:
- Outreach MCP:
run_outreach_campaignwithsample_runand optionaltest_target_email(MCP tool table). - Inspect
GET /public/v1/campaigns/runs/{run_id}/progressbefore promoting to production traffic.
- Outreach MCP:
- Trigger with
POST /public/v1/campaigns/{campaign_id}/triggeror arm schedules viaPOST …/schedules/sync. - Monitor runs (
GET …/runs,GET …/runs/{run_id}) and stop if needed (POST …/runs/{run_id}/stop). - Where a deployment is linked, closed-loop scoring still uses Runtime
POST /invocationsthenPOST /response.
Changing delivery schedules does not replace pushing or testing a deployment. Use Deployment Test or Runtime Testing for predictor behaviour.
HTTP API summary
Full tables: Public API — Campaigns. Private /api/v1/campaigns mirrors campaign CRUD, _generate helpers, and operator triggers (Private APIs).
Entity collection name on the public gateway: campaigns (see Entity collections).
Related
- Claude Agent — Campaign Management profile and CM MCP bridge
- Deployment Test — closed-loop test for a pushed deployment
- Simulations — volume traffic against a deployment
- Ontology for agents — grounding agent tools before API calls