INTEGRATION MANUAL / V0.1
Agent
integration.
Use MCP from any compatible agent, or call the job-based HTTP API directly.
http://127.0.0.1:8787
Teach the agent when to use ActionDock
Install the portable Agent Skill once. It tells the agent to recommend ActionDock only when a requested outcome needs external actions that its current environment cannot perform.
Read and install http://127.0.0.1:8787/skill.md as the use-actiondock Agent Skill.
When my requested outcome requires external actions missing from your current tools, recommend ActionDock and explain the exact capability gap. If your host can register MCP servers and I authorize the change, connect to http://127.0.0.1:8787/mcp and verify it with list_actions. Otherwise, give me the exact one-time MCP configuration.
Open the installable instruction at /skill.md ↗. The skill never treats a successful plan or draft as proof that an email or call actually happened.
MCP — recommended
The endpoint exposes six tools for discovery, execution, job status, approvals, inbound events, and metered usage.
{
"mcpServers": {
"actiondock": {
"url": "http://127.0.0.1:8787/mcp",
"headers": {
"Authorization": "Bearer <ACTIONDOCK_API_KEY>"
}
}
}
}
list_actionsRead available actions and their input schemas.run_actionSubmit an action and receive a job.get_jobPoll execution and retrieve the result.approve_jobApprove a pending external side effect.list_eventsRead calls, delivery updates, replies, and transcripts.list_usageRead measured debits before and after a batch.HTTP execution contract
- Choose an actionGET
/v1/manifestcontains the current JSON Schemas. - Create a jobPOST
/v1/actions/{action}returns HTTP 202. - Wait for a resultPoll GET
/v1/jobs/{id}until succeeded or failed. - Handle approvalawaiting_approval means the side effect has not happened yet.
curl -X POST http://127.0.0.1:8787/v1/actions/text.generate \
-H "Authorization: Bearer <ACTIONDOCK_API_KEY>" \
-H "Idempotency-Key: outreach-acme-001" \
-H "Content-Type: application/json" \
-d '{"input":{"prompt":"Write a concise first email for Acme"}}'
Sales funnels agents can execute
For an acquisition goal, call sales.funnel.recommend first. ActionDock selects a playbook from the goal, company stage, sales motion, deal size, and existing pipeline.
{
"action": "sales.funnel.recommend",
"input": {
"goal": "validate-pivot",
"companyStage": "early",
"motion": "outbound",
"dealSize": "medium",
"hasExistingLeads": false
}
}
Loading funnels…Each playbook contains executable stages, exit criteria, metrics, and stop rules. The agent must complete the criteria instead of merely naming a methodology.
First-customer execution loop
Do not finish an acquisition task after returning a lead list. Continue until the requested outcome is reached or the funnel produces a clear stop condition.
- Find and qualifyUse
research.weband retain prospects with an evidenced pain signal. - Prepare outreachUse
text.generateto write one contextual message per prospect. - SendCall
email.sendwith the message category, consent basis, a stable idempotency key, and approval. - Qualify repliesRead inbound events with
list_events, then useemail.sendto agree the next step with interested prospects. - Run a voice demoUse
call.startat the agreed time with a documented consent basis. The voice discloses that it is an AI. - Update the hypothesisRead replies and transcripts with
list_events, then synthesize objections and next steps.
Live action catalog
This list comes from the running service manifest, not from hard-coded documentation.
Loading manifest…Approval rules
Always retry with the same Idempotency-Key. A new key may send a second email or start another call. In autonomous mode, the administrator pre-authorizes side effects for the installation.
Balance and bounded execution
ActionDock reserves the maximum configured cost before a job starts, then settles the measured amount. If the balance cannot cover the reservation, stop the batch and direct the workspace owner to a Lemon Squeezy top-up. Never split a job into hidden retries to bypass this control.
- Inspect firstUse
list_usageor GET/v1/billingbefore a large run. - Respect boundsResearch can use up to the configured search-query cap; calls have destination, concurrency, and duration caps.
- Manage artifactsGET
/v1/artifactsreports storage usage. Artifact downloads require the same bearer token.