Help
DevelopersReference

Actions

What a link, a button or a campaign arrival starts the agent on. Live on save, no publish needed.

Base URL https://api.showpilot.com/v1. Every call needs Authorization: Bearer <api key>; see Authentication.

The agent's Actions

GET /agents/{id}/actions

Scope: agents:read. Operation id: listActions.

Every Action on the agent, with how many times each fired in the last 7 days and its link. An Action opens the agent on a task you set; a click on the link, a data-showpilot-action button, or an arrival rule starts it. Read from the agent row: live on save.

Parameters

NameInTypeMeaning
idpathstringThe agent's UUID or public id.

Example request

curl "https://api.showpilot.com/v1/agents/2f7c1d4e-9b3a-4c6d-8e5f-0a1b2c3d4e5f/actions" \
  -H "Authorization: Bearer $SHOWPILOT_API_KEY"
Runs against your sandbox with a test key.

Response

The Actions, in the operator's order (arrival rules match in this order).

FieldTypeAlwaysMeaning
itemsarray of objectyes

Action

FieldTypeAlwaysMeaning
idstringyesWhat the page uses: data-showpilot-action, #action=.
namestringyes
taskstringyes
opensActionOpensyes
destinationstring or null (uri)yes
campaignContextstring or nullyes
enabledbooleanyes
arrivalobjectyes
linkstringyesThe link as the dashboard shows it: <destination>#action=<id>, or #action=<id> without a destination.

ActionOpens

What the agent opens as its first move. tour, experience, form and link carry their id or URL.

FieldTypeAlwaysMeaning
kindconversation · meeting · content · tour · experience · link · formyes
tourPublicIdstringno
experienceIdstringno
formIdstringno
urlstring (uri)no

Errors

StatusWhen
401No key, or an unknown or revoked key. Code unauthorized.
403A valid key without the operation's scope (code insufficient-scope), or a plan without API access (code plan-api-off).
404No object with that id in this workspace. Code not-found.
429The key's bucket is empty. Code rate-limited; wait the Retry-After seconds.

Create or replace an Action

PUT /agents/{id}/actions/{actionId}

Scope: agents:write. Operation id: putAction.

Creates the Action when the id is free (201), replaces it when it exists (200). The same validator as the dashboard form: the task is required, a form or tour target needs its id, a destination must be a full URL. Live as soon as it is saved. Requires Idempotency-Key.

Parameters

NameInTypeMeaning
Idempotency-KeyheaderstringAny unique string, up to 200 characters, chosen by the caller. A retry with the same key and the same request replays the stored response (with the header Idempotent-Replayed set to true); the same key with a different request is refused. Keys are remembered for 24 hours.
idpathstringThe agent's UUID or public id.
actionIdpathstringThe Action's id, as the page will use it: letters, numbers, dashes or underscores, up to 64.

Example request

curl "https://api.showpilot.com/v1/agents/2f7c1d4e-9b3a-4c6d-8e5f-0a1b2c3d4e5f/actions/request-a-quote" \
  -H "Authorization: Bearer $SHOWPILOT_API_KEY"
Runs against your sandbox with a test key.

Response

The Action, replaced.

Every field of Action, plus:

FieldTypeAlwaysMeaning
createdbooleanyes

Action

FieldTypeAlwaysMeaning
idstringyesWhat the page uses: data-showpilot-action, #action=.
namestringyes
taskstringyes
opensActionOpensyes
destinationstring or null (uri)yes
campaignContextstring or nullyes
enabledbooleanyes
arrivalobjectyes
linkstringyesThe link as the dashboard shows it: <destination>#action=<id>, or #action=<id> without a destination.

ActionOpens

What the agent opens as its first move. tour, experience, form and link carry their id or URL.

FieldTypeAlwaysMeaning
kindconversation · meeting · content · tour · experience · link · formyes
tourPublicIdstringno
experienceIdstringno
formIdstringno
urlstring (uri)no

Errors

StatusWhen
400A parameter is malformed, such as a cursor this API did not issue, a limit under 1, or an unknown status. Code invalid-request.
401No key, or an unknown or revoked key. Code unauthorized.
403A valid key without the operation's scope (code insufficient-scope), or a plan without API access (code plan-api-off).
404No object with that id in this workspace. Code not-found.
409The write cannot apply. Code conflict when the object's state refuses it (a follow-up already closed); code idempotency-mismatch when the Idempotency-Key was already used for a different request.
429The key's bucket is empty. Code rate-limited; wait the Retry-After seconds.

Remove an Action

DELETE /agents/{id}/actions/{actionId}

Scope: agents:write. Operation id: deleteAction.

Removes the Action. Links and buttons that still name it open the agent plainly. Requires Idempotency-Key.

Parameters

NameInTypeMeaning
Idempotency-KeyheaderstringAny unique string, up to 200 characters, chosen by the caller. A retry with the same key and the same request replays the stored response (with the header Idempotent-Replayed set to true); the same key with a different request is refused. Keys are remembered for 24 hours.
idpathstring
actionIdpathstring

Example request

curl "https://api.showpilot.com/v1/agents/2f7c1d4e-9b3a-4c6d-8e5f-0a1b2c3d4e5f/actions/request-a-quote" \
  -H "Authorization: Bearer $SHOWPILOT_API_KEY"
Runs against your sandbox with a test key.

Response

Status 204. Removed.

Errors

StatusWhen
401No key, or an unknown or revoked key. Code unauthorized.
403A valid key without the operation's scope (code insufficient-scope), or a plan without API access (code plan-api-off).
404No object with that id in this workspace. Code not-found.
409The write cannot apply. Code conflict when the object's state refuses it (a follow-up already closed); code idempotency-mismatch when the Idempotency-Key was already used for a different request.
429The key's bucket is empty. Code rate-limited; wait the Retry-After seconds.

GET /agents/{id}/actions/{actionId}/link

Scope: agents:read. Operation id: getActionLink.

The URL to put in an email, an ad or a CRM sequence. With a destination (yours here, else the Action's) it is a full URL carrying the utm tags and #action=<id>; without one it is the bare #action=<id>, which works on any page the agent is deployed on. Utm tags need a destination to ride on.

Parameters

NameInTypeMeaning
idpathstring
actionIdpathstring
destinationquerystring (uri)A full page URL on the site the agent runs on. Overrides the Action's own destination.
utm_sourcequerystring
utm_mediumquerystring
utm_campaignquerystring
utm_termquerystring

Example request

curl "https://api.showpilot.com/v1/agents/2f7c1d4e-9b3a-4c6d-8e5f-0a1b2c3d4e5f/actions/request-a-quote/link?destination=https://acme.com/pricing&utm_source=newsletter&utm_medium=email&utm_campaign=q4-launch" \
  -H "Authorization: Bearer $SHOWPILOT_API_KEY"
Runs against your sandbox with a test key.

Response

The link.

FieldTypeAlwaysMeaning
actionIdstringyes
urlstringyes

Errors

StatusWhen
400A parameter is malformed, such as a cursor this API did not issue, a limit under 1, or an unknown status. Code invalid-request.
401No key, or an unknown or revoked key. Code unauthorized.
403A valid key without the operation's scope (code insufficient-scope), or a plan without API access (code plan-api-off).
404No object with that id in this workspace. Code not-found.
429The key's bucket is empty. Code rate-limited; wait the Retry-After seconds.

On this page