Connect an AI agent
Oneblink exposes 36 tools over the Model Context Protocol. An agent can create campaigns, schedule posts, write comment automations, publish pages, and read leads and reports, without anyone opening the dashboard.
1. Create a token
Log in to Oneblink, open Akses AI, and create a token. Choose only the scopes the agent needs. The secret is shown once. A token can be revoked at any time, and revocation takes effect on the next call.
2. Point your agent at the endpoint
The transport is HTTP. The endpoint is:
https://app.oneblink.app/mcp
Authenticate with a bearer token:
Authorization: Bearer <your token>
For Claude Code:
claude mcp add --transport http oneblink https://app.oneblink.app/mcp \
--header "Authorization: Bearer <your token>"
There is no published npm package yet, so there is no one-line npx installer. The HTTP endpoint above is live and is what the tools below are served from.
3. Scopes
Each token carries explicit scopes. A tool called without its scope returns scope_denied with the required scope named, rather than failing quietly.
workspace:read, connection:write, flow:read, flow:write, flow:simulate, page:read, page:write, page:publish, lead:read, analytics:read, campaign:read, campaign:write, campaign:publish
4. The tools
| Tool | What it does |
|---|---|
analytics_get_funnel | Read the measured funnel, with unmeasured metrics returned as null |
audit_list | Read the audit trail of changes in the workspace |
campaign_cancel | Cancel a scheduled campaign before it publishes |
campaign_create | Create a campaign: media, caption, schedule, automation and page in one object |
campaign_get | Read one campaign |
campaign_list | List campaigns |
campaign_report | Read the evidence-based report for one campaign |
campaign_retry_automation | Retry binding the automation after a publish |
campaign_schedule | Schedule a campaign to publish at a given time |
campaign_set_automation | Attach or change the automation on a campaign |
campaign_update | Update a campaign draft |
connection_disconnect | Disconnect a social account and delete its stored token |
connection_list | List connected accounts and their health |
connection_start | Start the OAuth flow to connect an account |
conversation_list | Read conversations and their current step |
flow_create | Create an automation: trigger, keyword, messages, destination |
flow_get | Read one automation |
flow_list | List automations |
flow_set_live | Turn real sending on or off for an automation |
flow_set_status | Set an automation to draft, active, paused or archived |
flow_simulate | Run the whole conversation in simulation, sending nothing |
flow_update | Update an automation, creating a new version |
flow_version_get | Read one historical version of an automation |
flow_versions_list | List versions of an automation |
lead_export | Export leads as CSV |
lead_list | List leads with their consent records |
media_get | Read one uploaded media asset |
media_list | List uploaded media assets |
page_create_draft | Create a public page draft |
page_get | Read one page |
page_list | List pages |
page_preview | Get a signed preview of a page version |
page_publish | Publish a reviewed page version |
page_update_draft | Update a page draft |
simulation_get | Read a simulation run and its history |
workspace_get | Read the workspace and the scopes of the current token |
Honest limits
- Early release, no uptime commitment.
- Metrics that cannot be measured yet are returned as
null, not zero. "Accepted" means Instagram accepted the request, not that a person read it. - Keyword matching is exact and case-insensitive. A comment with extra words or punctuation does not match yet.
- Instagram is the only connected channel today.
flow_simulatesends nothing to Instagram. Use it to test a whole conversation safely.