Skip to main content
INIT / INTEGRATIONS

Execute actions

Run canonical actions through REST, the SDK, or MCP with the right idempotency rules.

Agent markdown

Canonical actions are defined once in contracts and exposed through REST, the SDK, and MCP. Pick a connection and an action ID from the catalog—do not invent action names or copy schemas into your app.

Choose connection and action

  1. Confirm the connection is ready (and tested) for the provider you need.
  2. Open the provider in the catalog, then its actions index (for example Slack actions).
  3. Use the action ID and input shape from that action page (for example messages.post).

Setup and scope notes for a provider live on its overview and setup guide.

Execute through REST, SDK, or MCP

All three surfaces call the same action definition:

  • RESTPOST /v1/tenants/{tenant_id}/connections/{connection_id}/actions/{action_id}:execute with a JSON input body.
  • SDK — the typed client wraps the same execute path and schemas.
  • MCP — write tools map to the same executor; supply connectionId and, for writes, idempotencyKey in tool arguments.

Prefer documented action IDs over raw provider proxy calls when a canonical action exists.

Idempotency for write and destructive actions

Read actions do not require an idempotency key. Write and destructive REST executes require an Idempotency-Key header. MCP write tools require idempotencyKey in the tool arguments—the same key enters Fuse’s action idempotency scope.

Reuse the exact key and body for safe retries. Changing the body under the same key fails. After an ambiguous result on an unsafe write, do not blindly retry—reconcile with the provider or your own records first.

Action pages document each action’s risk and idempotency metadata. Follow that metadata when choosing retry policy.