Shopify
OAuth
Products, orders, customers, inventory, and shipping — via GraphQL and REST.
- List & search products
- Fetch order by ID
- Customer lookup
- Inventory levels
- Shipping zones
Connect Shopify, WooCommerce, Airtable, Supabase, Google Sheets — or any REST API. Agents read live data and take actions mid-conversation, so every reply is sourced from your actual systems, not guessed at.
Each built-in connector ships with a pre-wired tool pack. Connect your store and endpoints are auto-configured — no JSON editing, no docs to read.
Shopify
OAuth
Products, orders, customers, inventory, and shipping — via GraphQL and REST.
WooCommerce
OAuth
Products, orders, and customers over the WooCommerce REST API.
Airtable
OAuth with PKCE
Browse your bases, read records, and search within any table.
Google Sheets
OAuth with PKCE
List spreadsheets, read cell ranges, and search within sheets.
Supabase
Service role key
PostgREST queries against any table — reads and writes.
Any REST API
Generic connector
Paste an OpenAPI spec, a cURL command, or build endpoints manually. Supports all 5 auth modes.
When a customer message matches a scenario, the agent checks which tools are in scope, calls them with AI-inferred parameters, and uses the live data to compose a precise reply. No hallucinating. No stale answers.
Customer sends a message
Arrives via WhatsApp or email.
Scenario matches
Agent identifies the intent and loads its tool set.
Tool called
e.g. shopify.get_order(#12345) — parameters inferred by Claude.
Live data returned
Status, tracking, ETA — fetched from the source.
Reply composed
Grounded in real data, sent in < 1 second.
Inbound · WhatsApp
"Hi — did my order already ship? It was order #12345."
Scenario matched: order-status
tools in scope: shopify.get_order
tool call
shopify.get_order("#12345")
→ status: shipped · 2026-05-22
→ carrier: USPS · ETA May 24
→ tracking: 9400 1110 2070 4837 5566
→ cache: MISS · fetched live
Reply drafted · 0.8s
"Your order shipped Thursday via USPS — expected Saturday. Tracking: 9400 1110 2070 4837 5566. Anything else?"
Not on the built-in list? Point at any HTTP endpoint. Paste a spec or a cURL, define your parameters, choose an auth mode — and you have a tool the agent can call.
Open endpoints — no credentials required.
Key injected as a request header (e.g. X-API-Key).
Standard Authorization: Bearer <token> flow.
Username and password encoded in the Authorization header.
Server-to-server OAuth — client ID + secret exchanged for an access token automatically.
Paste a spec URL or upload a JSON/YAML file — endpoints are auto-generated. Schema, parameters, descriptions: all imported instantly.
# paste your spec URL
https://api.yourstore.com/openapi.json
# or upload JSON / YAML
→ 14 endpoints imported
Paste a cURL from DevTools and the endpoint editor auto-fills. Then define path, query, body, and header params with types, defaults, and descriptions.
# paste from DevTools
curl 'https://api.store.com/orders/12345' -H 'Authorization: Bearer tk_xxx'
→ method, URL, auth pre-filled
Choose how each tool's response gets handed to the agent — from raw pass-through to fully canonicalized schema.
HTTP response returned as-is. Claude interprets the structure directly.
Claude Haiku reads the response and extracts the relevant fields into a clean, structured shape.
Dedicated adapter converts to a known schema — NormalizedProduct, NormalizedOrder, etc. Fastest for the main agent to consume.
Every connector starts read-only. You choose when to give an agent write permissions — and which scenarios get access to which tools. The refund agent doesn't need the customer list. The after-hours agent doesn't need Stripe.
Per-connector read/write switch. Merchants explicitly opt in before any AI can create, update, or delete records.
Choose exactly which tools each scenario can call. Principle of least privilege — applied to AI agents.
Every tool description is prefixed [READ], [WRITE], or [DELETE] so Claude knows the impact before calling it.
Claude Haiku auto-classifies new endpoints as read, write, update, or delete when you import an OpenAPI spec.
Two-layer cache — Redis for hot reads, Postgres for durable TTL records. Per-capability TTLs mean product lists cache for minutes while order statuses always fetch live. Writes automatically invalidate related reads.
Test-call mode supports a "force fresh fetch" bypass when you're debugging an endpoint.
| Endpoint | TTL | Reason |
|---|---|---|
| Product lookup | 5–10 min | Warm cache on repeat questions. |
| Order status | No cache | Always live — customers expect accurate ETAs. |
| Shipping zones | 1 hour | Changes rarely; safe to cache aggressively. |
Error rate, p50 and p95 latency, cache hit rate, and estimated AI cost per endpoint. Switch between 24-hour, 7-day, and 30-day windows. Export any window as CSV.
Credentials are encrypted with AES-256-GCM (via Supabase Vault) immediately on save. They're never logged, never cached in plaintext, and never surfaced in the UI after the initial save. Not even we can read them.
AES-256-GCM encryption
Industry-standard symmetric encryption at rest via Supabase Vault.
Never logged
Request traces never capture credential values — only that auth was present.
Never cached
Secrets are fetched per-request from the vault; no in-memory copies.
Hidden after save
Once saved, the UI shows only a masked placeholder. No retrieval endpoint exists.
More plan = more tools defined and more parallel calls per reply. Scale up as your use-cases grow.
16
tool definitions
3
calls per reply
32
tool definitions
6
calls per reply
64
tool definitions
10
calls per reply
Tool slots = total defined endpoint tools across all your connectors. Calls per reply = how many tool calls Claude can chain in a single response.
One-click OAuth for Shopify, WooCommerce, Airtable, and Google Sheets. Paste an OpenAPI spec for everything else. Your agent has live data before the first real customer message.
7-day free trial. Cancel anytime. Set up in 10 minutes.
7-day free trial. Connect your channels, write your first scenarios, and have your agent answering customers within the hour.