Skip to main content
sdk

@invokehq/sdk 0.1.0

The agent-facing SDK: give Invoke an action, and it comes back safe, attributable, observable and verifiable.
  • One call. Invoke.fromEnv(), then invoke.call({ tool, params, agentId, idempotencyKey }). If it resolves, the action happened and you hold its receipt; a repeat returns that same receipt.
  • Errors that say whether it happened. DeniedError, ApprovalRequiredError, ToolError, OutcomeUnknownError, ConnectionError and ConfigError.
  • Agent keys. An agent’s own key is its identity, so a call made with it can’t be recorded as anyone else’s.
  • One governance for SDK and MCP. SDK calls and MCP tool calls go through the same checks and the same ledger.
  • Policies see tool arguments. Conditions such as amount > 5000 now apply to tool calls from the SDK and MCP.
  • Receipts survive key rotation. Each receipt records which key sealed it, so it stays verifiable after the signing key changes.
See the TypeScript SDK reference.
launch

Invoke is live

The execution layer between AI agents and real tools is now generally available. Invoke intercepts every tool call your agent makes — Stripe, CRMs, Slack, Linear, internal APIs — and prevents duplicate charges, wrong-entity writes, and unknown-outcome retries before they land.

New features

Execution runtime with four control primitives. Every tool call is classified, committed to a durable record, reconciled against live state when outcomes are unknown, and returned with a structured trace. Read How it works.Tool safety classes. Tools are labeled idempotent, write-once-checkable, irreversible, or approval-bound to control retry and gating behavior. See Tool safety classes.Reconciliation. When an attempt returns an unknown outcome, Invoke checks live source-of-truth state before allowing a retry and blocks duplicate side effects automatically. See Reconciliation.Approvals. Pause approval-bound actions for human review and revalidate state between approval and execution so stale approvals never fire. See Approvals.Execution records and traces. Every call writes a durable record before any side effect and returns structured proof of every decision, attempt, and policy gate. See Execution records and Traces.TypeScript SDK. Install @invokehq/sdk, instantiate a client, and replace direct API calls with invoke.call(). No framework changes required. See the TypeScript SDK.CLI. Authenticate, scaffold projects, deploy to the runtime, and call tools from your terminal with @invokehq/cli. See the CLI reference.REST API. Reconcile outcomes and verify state directly over HTTP. See /outcomes/reconcile and /state/verify.

Guides

Walkthroughs for the most common integrations:
  • Payments — safe retries for Stripe and other write-once charges
  • CRM updates — prevent wrong-entity writes
  • Slack approvals — route approval-bound actions to reviewers
  • Linear issues — idempotent issue creation and updates
  • Webhooks — verify state before acting on webhook payloads