Every part of a conversation, covered
Knowing the answer is the easy part. TIA also has to find the right product, take the action in the right order, know when to fetch a human, file the work nobody can finish today, and put all of it into the systems you already run. Here is how each piece works.
An agent per job, each with its own brain and face
Create as many agents as your storefront needs: pre-sales, support, wholesale, a second brand. Each carries its own instructions, personality, knowledge, tools, theme, and public embed.
- System prompt, tone, and guardrails per agent
- Welcome message and suggested prompts to start the conversation
- Widget theming that inherits your brand, isolated in a shadow DOM
- Public access toggle and per-origin allow-list for every agent
TIA Concierge
Online · replies instantly
Trained on what you publish, not what a model guessed
Point TIA at your sitemap and it crawls, chunks, and embeds every page. Upload the PDFs your policies actually live in. Write Q&A pairs for the answers that must be word-perfect.
- Sitemap when you have one, same-origin link crawling when you do not
- Include and exclude path rules, so the catalog cannot drown the policies
- PDF, DOCX and plain-text uploads, plus hand-written Q&A pairs
- Hybrid vector and keyword retrieval for precision on product names
yourstore.com
Sitemap · 146 pages
shipping-and-returns.pdf
18 chunks embedded
Sizing Q&A
24 question / answer pairs
help.yourstore.com
Crawling · 32 of 88 pages
Agents that do the thing, not just describe it
Register any HTTP endpoint as a tool with typed inputs and a description of when to use it. The agent decides when to call it mid-conversation, and you see the trace.
- Typed input schemas so the model cannot invent parameters
- Encrypted secrets injected server-side at call time
- Dry-run a tool from the dashboard before an agent ever uses it
- SSRF protections and allow-listed hosts on every outbound call
{
"method": "GET",
"url": "https://api.carrier.com/v2/track/{{tracking_id}}",
"headers": { "authorization": "Bearer {{secrets.CARRIER_KEY}}" },
"input": {
"tracking_id": { "type": "string", "required": true }
}
}Secrets are stored encrypted and injected server-side. The browser and the model never see the value.
Steps it cannot skip, because the tool is not there
Every platform lets you describe a workflow in a prompt and hope the model follows it. Here each step declares which tools it may use, and the runtime hands the model only those. During a 'verify the order' step, the refund tool does not exist.
- Ordered steps with branches, so real policies fit
- Per-step tool scoping enforced before the model is called
- Handoff and abandon always survive, so nobody gets trapped
- Every run records the path actually walked, branch choices included
Current step
Ask for the order number and look it up.
The agent's full toolset — try any of them
Nothing tried yet. Start with issue_refund — it is three steps away, and the runtime will not let you.
The escape hatch that makes automation safe to ship
Refunds, complaints, edge cases, VIPs. When the agent should not be the one answering, your team joins the same live conversation and the customer never notices a seam.
- Real-time inbox showing which conversations are waiting
- Join, reply, and hand control back to the agent in one click
- Full transcript, page context, and order data preloaded
- Browser notifications so a waiting shopper is never forgotten
Conversation #4821
I was charged twice for the same order…
Conversation #4820
Does the blazer run true to size?
Conversation #4818
Can I change my delivery address?
Transcript, page URL, cart contents and order history are attached before you type a word.
For everything that outlives the conversation
Not every problem is solvable while someone is on the page. The agent raises a ticket with the conversation attached, tells the visitor you will follow up, and your team works it from one org-wide queue. Nobody has to be online.
- Statuses that say who the ticket is waiting on, kept accurate automatically
- Replies reach the customer as properly threaded email, with the ticket number in the subject
- Delivery is recorded — a reply that failed to send is flagged, not silently lost
- Balanced or round-robin routing, capacity caps, availability, and saved views
TKT-1042Lens cracked on arrivalOn youReturns · urgent · Sam P.
TKT-1041Wrong size shippedOn customerReturns · high · Ada K.
TKT-1039Invoice for order 8821NewBilling · medium · Unassigned
TKT-1036Bulk order enquiryOn holdSales · low · Ada K.
The same agent, out loud — in the widget or on the phone
Voice is not a separate product with a separate knowledge base. Switch it on and shoppers can talk to the agent they were already typing to, with the same tools and the same handoff path.
- Real-time speech with low latency, powered by LiveKit
- Live captions and a readable transcript in the widget
- Shares one conversation with chat, so you switch modes without losing context
- Answers a real phone number too — bring your own Twilio account and keep your numbers
- Escalates to a human, or transfers a caller to a real phone number
Live captions
Shopper: “I need a gift for my dad, under a hundred.”
TIA: “Two people buy for exactly that: the merino scarf at $72, or the leather card holder at $59.”
It knows your catalog, your carts, and your orders
Connect Shopify with OAuth and the storefront tools switch on instantly, or bring a non-Shopify catalog through the generic commerce layer. Either way the agent works with live data, not a stale export.
- Shopify OAuth connection and theme app embed install
- Product search, detail, and recommendations as first-class tools
- Cart building and checkout links inside the conversation
- Order status lookups for post-purchase questions
searchProductsQuery the catalog by intent, not keywordproductDetailVariants, stock, and pricing in real timerecommendationsRelated and complementary productsaddToCartBuild a cart inside the conversationorderStatusFulfilment and tracking for an ordercheckoutLinkHand the shopper a ready checkoutEvery lead and ticket, in the tools you already run
Six events — leads, form submissions, and four ticket events — leave TIA the moment they happen. Point them at Zapier, Make, n8n, or your own endpoint. Emission never blocks a visitor: if every one of your endpoints is down, the lead still saves.
- HMAC-signed payloads with the timestamp inside the signed material, so replays are rejectable
- Retry backoff, auto-disable, and a per-subscription delivery log you can read yourself
- The target host is re-checked before every delivery, not just at subscribe time
- A Zapier app with five instant triggers, two actions, and two searches
lead.created→ HubSpot · via Zapierticket.created→ Slack #supportticket.assigned→ https://ops.acme.co/hooksform.submitted→ Airtable · via Makex-tia-signature: t=1786...,v1=9f3c...Build on it, not just around it
A REST admin API covers agents, sources, tools, and secrets. An integration API covers leads, form submissions, tickets, and webhook subscriptions. A public streaming endpoint powers the widget, and can power your own interface just as easily.
- Organization-scoped API keys, re-verified server-side on every request
- Streaming chat responses for custom front ends
- Manage knowledge sources, tools, and subscriptions programmatically
- Consistent envelopes and typed errors across every surface
curl -X POST https://tia.tdccommerce.com/api/acme/agents \
-H "x-api-key: $TIA_API_KEY" \
-H "content-type: application/json" \
-d '{
"name": "Storefront Concierge",
"modelType": "claude-haiku-4.5"
}'{ "success": true, "data": { "agent": { "publicSlug": "agt_pub_…" } } }
Autonomy you can actually sign off on
Giving an AI agent access to your storefront and your APIs is a trust decision. TIA is built so the answer can be yes.
Origin allow-lists
A public agent only answers on the domains you name. Anyone who copies your snippet gets nothing.
Encrypted secrets
API tokens for your tools are stored encrypted and injected at call time, never exposed to the browser or the model.
Guarded outbound calls
Custom tools run through SSRF protections and schema validation, so an agent cannot be talked into hitting internal hosts.
Organizations and roles
Multi-tenant workspaces with invitations and owner/admin/member permissions across agents, billing, and the inbox.
Scoped API keys
Issue and revoke keys per organization. Admin endpoints require an owner or admin key; public endpoints never touch them.
Grounded answers
Retrieval is anchored to the sources you upload, so the agent talks about your policies instead of improvising them.
See it answer your own questions
Create an agent, point it at your site, and ask it the three questions your customers ask most. That is the whole evaluation.
Free plan available · One script tag to install