Get Marketing Agent state
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Returns the Marketing Agent's plan for an app and the state of its latest run. That covers the setup step it's on, the channels, KPIs, and strategy it proposed, and the competitors it found.
The plan is shared by everyone who edits the app. An app that never used the Marketing Agent returns status of idle and setup_stage of not_started, rather than a 404.
Poll this while a run is working. The agent's replies appear in the app's chat, which you read with Read conversation messages.
This is limited to 120 requests a minute per app for each workspace's personal API keys, so every key in a workspace shares one allowance, across every Marketing Agent endpoint. Some workspaces have a different limit.
<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app and an editor role in its workspace. Read-only keys and workspace API keys are refused.</Note>
<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>
Path parameters
ID of the app.
ID of the app.
Response
Successful Response
Example response
{
"status": "ready",
"run_id": "68a1c9b7f0b3d9001a7e5d04",
"last_error": "The scan did not complete. Retry the setup.",
"setup_stage": "channels",
"channels": [
{
"name": "Reddit communities",
"why": "Freelancers already trade CRM tips in r/freelance.",
"tactics": [
"Share a build-in-public thread",
"Answer lead-tracking questions"
],
"priority": 5
}
],
"channels_revision_suggestion": "Swap LinkedIn for Product Hunt",
"kpis": [
{
"name": "Weekly signups",
"why": "Signups are the first sign the Reddit threads convert.",
"baseline": "About 10 a week",
"target": "50 a week in 90 days",
"targets": {
"mid": "50 a week in 90 days",
"none": "20 a week in 90 days"
},
"target_values": {
"mid": 50,
"none": 20
},
"metric": {
"template": "event_count",
"event_name": "lead_created",
"window_days": 7,
"n": 7
},
"instrument": {
"builder_prompt": "Track a lead_created event when a lead is saved on the Leads page.",
"where": "src/pages/Leads.jsx:42",
"requested_at": "2026-08-24T09:20:00+00:00"
}
}
],
"kpis_revision_suggestion": "Track paid conversions instead of signups",
"strategy": {
"summary": "Win early freelancers in the communities they already use, then turn them into referrals.",
"positioning": "The CRM for freelancers who never wanted a CRM.",
"channel_plan": [
{
"name": "Reddit communities",
"why": "Freelancers already trade CRM tips in r/freelance.",
"tactics": [
"Share a build-in-public thread",
"Answer lead-tracking questions"
],
"priority": 5
}
],
"key_metrics": [
"Weekly signups",
"Week-one retention"
],
"budget_fit": "Organic first, with $100 a month for Reddit promoted posts."
},
"suggestions": [
{
"id": "68a1d0c2f0b3d9001a7e5e10",
"title": "Add a referral link to the dashboard",
"builder_prompt": "Add a Refer a friend card to the dashboard with a copyable invite link.",
"category": "Referral",
"rationale": "Freelancers recommend tools to each other.",
"impact": "high",
"effort": "low"
}
],
"budget": {
"description": "$500 a month",
"band": "mid"
},
"competitor_research_opt_in": true,
"competitor_research_answer": true,
"competitors": [
{
"name": "HubSpot",
"url": "https://www.hubspot.com",
"angle": "A full CRM suite for sales teams.",
"gap": "Too heavy for a solo freelancer."
}
],
"competitor_scan_status": "done",
"cmo_agent_app_id": "68a1c2e4f0b3d9001a7e5c21"
}Changes
Changed in 1 of the 22 revisions of this API.1
- ○
endpoint added
endpoint-added
This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
Of the 22 revisions, 1 has no diff computed.