Quickstart

NONE | ON_START | ON_TOOL_CALL (defaults to NONE).

Check out the Mental Model and Core Objects to make your life easier

Prerequisites

  • API key with access to your workspace (x-api-key).

  • At least one integration enabled (managed or custom). For first runs, prefer a managed and read-only integration.

Enable an integration

  1. Enable an integration (or upload a custom integration) - For this demo we recommend "Google Calendar" or "Outlook Calendar"

Get your API key

  1. Head over to API keys section in console

  2. Generate an API key

  1. Copy and Save the API key

  1. Export the api Key

export TR_API_KEY="sk_live_..."  
export TR_API_URL="https://api.toolregistry.ai"

Create your first Run

A Run is the execution of an intent with guardrails.

Request Fields

Field
Type
Required
Notes

intent

String

What outcome you want (natural language).

context

String

Hidden, technical details (timezone, constraints). Keep sensitive data here; don’t show to end users.

userId

String

Identity whose tokens/permissions apply (act‑as‑user).

selectedCustomerIntegrationIds

string[]

Allow‑list of connections, or ["*"] for all active.

approvalStrategy

enum

-

NONE | ON_START | ON_TOOL_CALL (defaults to NONE).

Example intent (declarative, long‑form)

Book a meeting in Google or Outlook calendar for next thursday at 12:00 - Name "Lunch  with myself without a screen".

Create the run (cURL):

RUN_PAYLOAD='{
"intent": "Book a meeting in Google or Outlook calendar for next thursday at 12:00 - Name "Lunch  with myself without a screen",
"context": "timezone=Europe/Copenhagen; window=next_week; one_per_day=true; stage=Proposal Made; staleness_days=14; meeting_time=12:00; slack_channel=#demo-update",
"userId": "user-123",
"selectedCustomerIntegrationIds": ["*"]
}'


curl -s -X POST "$TR_API_URL/v1/runs" \
-H "x-api-key: $TR_API_KEY" \
-H "Content-Type: application/json" \
-d "$RUN_PAYLOAD"

Watch the live execution

RUN_ID="<uuid-from-create>"
curl -N -H "x-api-key: $TR_API_KEY" \
"$TR_API_URL/v1/runs/$RUN_ID/sse"

Inspect the Run and result

curl -s -H "x-api-key: $TR_API_KEY" \
"$TR_API_URL/v1/runs/$RUN_ID" | jq

Production tips

  • Intent: be outcome-focused and testable. Prefer declarative language (what), let the system decide (how).

  • Context: keep sensitive details here; do not surface to end users.

  • Approvals: start with ON_TOOL_CALL for writes for your agent; ON_START if you need human to review the plan.

  • Least privilege: choose a userId with only the permissions needed.

  • Scoping: For QuickStart user ["*"] for integrations to select all that have been enabled

  • Observability: use SSE in staging/early prod to watch real behavior.

Last updated