Quickstart
NONE
| ON_START
| ON_TOOL_CALL
(defaults to NONE
).
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
Go to integrations
Enable an integration (or upload a custom integration) - For this demo we recommend "Google Calendar" or "Outlook Calendar"

Get your API key
Head over to API keys section in console
Generate an API key

Copy and Save the API key

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
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