Skip to main content
About this page · Updated 2026-11-05 16:07 UTC

What this page is: Webhook endpoints and their deliveries: every tool on the `webhooks` MCP server with its scope, inputs and an example call. A slice of the full MCP tool reference.

How far to trust this page: the build checked 0 names, paths, tools, scopes and error codes against the real product (0 do not match). Not yet reviewed claim by claim.

Updated 2026-11-05 16:07 UTCRecently updated pages

MCP tools: Webhooks

Webhook endpoints and their deliveries. This page is the slice of the full MCP tool reference for the webhooks server (the other servers are listed on the hosted servers page). The main server carries every tool, so these entries apply there too. Failures use the shape described in MCP errors.

motorical_whoami​

Who am I (account, plan, grant). Who this connection is acting for: the account (id, owner email, name), its plan (name, status, hasSubscription), account.billing (price amount in minor units + currency + interval, trial end, current period end / next renewal date, cancelAtPeriodEnd and endsAt, this month's sends against the plan cap, and paymentMethod.status ok or failing; never invoices, receipts or card details; a field it cannot resolve is null with its reason under billing.unavailable) and, for an OAuth connection, the grant: the client, the scopes it holds, the Motor Blocks it covers, when it was granted, and canAdd (permissions it could still be given, with available:false where the plan does not allow it) plus addInDashboard, the page where the person adds them. Account-scoped: no Motor Block needed. grant is null when the call is not made over an OAuth grant. Over OAuth it needs no scope, so any connection can ask what it holds, and every server lists it. Use it instead of inferring scopes from the tool list.

PropertyValue
Needs scopeNo scope: any OAuth connection can call it
Available onHosted servers: main, transactional, analytics, domains, sandbox, webhooks, motorBlocks, communications; the local server too
Acts onThe whole account (no Motor Block needed)
Not listedNever
REST routeGET /api/public/v1/account/whoami
BehaviourRead-only; safe to repeat
InputTypeRequiredMeaning
motorBlockIdstring (uuid)NoOptional. This operation acts on the whole account, so a Motor Block is never needed; pass one only to record which block the call was made on behalf of.

Returns the JSON of the REST route above.

Example arguments (placeholders in angle brackets, required inputs only):

{}

motorical_webhook_list​

List webhook endpoints. List webhook endpoints registered on one Motor Block. Requires OAuth scope: read:webhooks (see motorical_whoami for what it allows).

PropertyValue
Needs scoperead:webhooks
Available onHosted servers: main, webhooks; the local server too
Acts onOne Motor Block (the motorBlockId input)
Not listedWhen the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission")
REST routeGET /api/public/v1/motor-blocks/{id}/webhooks
BehaviourRead-only; safe to repeat
InputTypeRequiredMeaning
motorBlockIdstring (uuid)NoRequired when the authorization covers more than one Motor Block

Returns the JSON of the REST route above.

Example arguments (placeholders in angle brackets, required inputs only):

{}

motorical_webhook_create​

Create webhook endpoint. Register a new webhook endpoint on one Motor Block. The response includes the full signing secret exactly once — store it immediately, it is only masked on every later read. Requires OAuth scope: manage:webhooks (see motorical_whoami for what it allows).

PropertyValue
Needs scopemanage:webhooks
Available onHosted servers: main, webhooks; the local server too
Acts onOne Motor Block (the motorBlockId input)
Not listedWhen the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission")
REST routePOST /api/public/v1/motor-blocks/{id}/webhooks
BehaviourChanges data
InputTypeRequiredMeaning
motorBlockIdstring (uuid)NoRequired when the authorization covers more than one Motor Block
urlstringYesHTTPS endpoint that will receive webhook deliveries
eventsarray of stringNoEvent types to subscribe to; defaults to all event types when omitted
idempotencyKeystringNoOptional. Pass the same value on a retry to get the exact original response back, instead of a duplicate.

Returns the JSON of the REST route above.

Example arguments (placeholders in angle brackets, required inputs only):

{"url":"<url>"}

motorical_webhook_update​

Update webhook endpoint. Update a webhook endpoint's url, events, or enabled state. Only the fields you pass are changed. Requires OAuth scope: manage:webhooks (see motorical_whoami for what it allows).

PropertyValue
Needs scopemanage:webhooks
Available onHosted servers: main, webhooks; the local server too
Acts onOne Motor Block (the motorBlockId input)
Not listedWhen the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission")
REST routePUT /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}
BehaviourChanges data; safe to repeat
InputTypeRequiredMeaning
motorBlockIdstring (uuid)NoRequired when the authorization covers more than one Motor Block
webhookIdstringYesThe webhook endpoint id, from motorical_webhook_list or the create response
urlstringNo-
eventsarray of stringNo-
enabledbooleanNo-
idempotencyKeystringNoOptional. Pass the same value on a retry to get the exact original response back, instead of a duplicate.

Returns the JSON of the REST route above.

Example arguments (placeholders in angle brackets, required inputs only):

{"webhookId":"<webhookId>"}

motorical_webhook_delete​

Delete webhook endpoint. Delete a webhook endpoint. Requires OAuth scope: manage:webhooks (see motorical_whoami for what it allows).

PropertyValue
Needs scopemanage:webhooks
Available onHosted servers: main, webhooks; the local server too
Acts onOne Motor Block (the motorBlockId input)
Not listedWhen the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission")
REST routeDELETE /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}
BehaviourDestructive: asks the person to confirm; safe to repeat
InputTypeRequiredMeaning
motorBlockIdstring (uuid)NoRequired when the authorization covers more than one Motor Block
webhookIdstringYesThe webhook endpoint id, from motorical_webhook_list or the create response
confirmbooleanNoRequired: true. Confirms this destructive action.

Returns the JSON of the REST route above.

Example arguments (placeholders in angle brackets, required inputs only):

{"webhookId":"<webhookId>"}

motorical_webhook_test​

Send test webhook delivery. Send a synthetic test delivery to a webhook endpoint. Requires OAuth scope: manage:webhooks (see motorical_whoami for what it allows).

PropertyValue
Needs scopemanage:webhooks
Available onHosted servers: main, webhooks; the local server too
Acts onOne Motor Block (the motorBlockId input)
Not listedWhen the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission")
REST routePOST /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}/test
BehaviourChanges data
InputTypeRequiredMeaning
motorBlockIdstring (uuid)NoRequired when the authorization covers more than one Motor Block
webhookIdstringYesThe webhook endpoint id, from motorical_webhook_list or the create response

Returns the JSON of the REST route above.

Example arguments (placeholders in angle brackets, required inputs only):

{"webhookId":"<webhookId>"}

motorical_webhook_get_deliveries​

Get webhook delivery attempts. Recent delivery attempts for one webhook endpoint. Requires OAuth scope: read:webhooks (see motorical_whoami for what it allows).

PropertyValue
Needs scoperead:webhooks
Available onHosted servers: main, webhooks; the local server too
Acts onOne Motor Block (the motorBlockId input)
Not listedWhen the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission")
REST routeGET /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}/deliveries
BehaviourRead-only; safe to repeat
InputTypeRequiredMeaning
motorBlockIdstring (uuid)NoRequired when the authorization covers more than one Motor Block
webhookIdstringYesThe webhook endpoint id, from motorical_webhook_list or the create response
limitintegerNoDefault 50, max 200

Returns the JSON of the REST route above.

Example arguments (placeholders in angle brackets, required inputs only):

{"webhookId":"<webhookId>"}

motorical_webhook_get_stats​

Get webhook delivery stats. Delivery success/failure counts and average latency for one webhook endpoint over a time window. Requires OAuth scope: read:webhooks (see motorical_whoami for what it allows).

PropertyValue
Needs scoperead:webhooks
Available onHosted servers: main, webhooks; the local server too
Acts onOne Motor Block (the motorBlockId input)
Not listedWhen the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission")
REST routeGET /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}/stats
BehaviourRead-only; safe to repeat
InputTypeRequiredMeaning
motorBlockIdstring (uuid)NoRequired when the authorization covers more than one Motor Block
webhookIdstringYesThe webhook endpoint id, from motorical_webhook_list or the create response
hoursintegerNoDefault 24, max 168 (7 days)

Returns the JSON of the REST route above.

Example arguments (placeholders in angle brackets, required inputs only):

{"webhookId":"<webhookId>"}