Connects to Postgres, MySQL, and your knowledge base
AI support agent that intelligently resolves customer tickets
Your ResolveIQ agent answers customers from live rows in your production database, not a stale copy of your docs.
Free plan, no credit card. Database lookups start at $29 a month, cancel anytime.
Hi, where’s my order #4821? It was supposed to arrive yesterday.
Sorry for the delay! Your order shipped Tuesday via UPS and is out for delivery today. It should arrive by 6 pm. Here’s your tracking link.
How it works
Safe by construction: the agent never writes SQL and never replies without grounding.
- 1
Connect your data
Upload docs, crawl your help site, and connect Postgres or MySQL over a read-only connection.
Data sources- production-dbread-only
- help.acme.com214 pages
- refund-policy.pdfindexed
- 2
Approve lookup templates
You define a reviewed set of parameterized queries. At runtime the agent picks a template and fills in the parameters; it never writes SQL.
Lookup templates- orders.lookup_by_id(order_id)approved
- subscriptions.by_email(email)approved
- refunds.status(order_id)in review
- 3
Resolve with live context
The agent drafts answers grounded in your docs and live data. Your team approves in one click, or the ticket escalates to a human.
Ticket #3182draft readyHi Maya, your refund of $42.10 was issued yesterday and should reach your card in 3–5 business days.
refunds.status · liveApprove & sendEdit
The answer is alreadyin your database.Your customer should nothave to wait for it.
Safe by design
Production access your security team will approve
Giving an AI agent your database is scary. That is why we designed the scary parts out. Three guarantees hold on every single lookup.
The agent never writes SQL
At runtime the model can only pick one of your reviewed lookup templates and fill in its parameters. There is no code path where model-written SQL reaches your database.
- “Where’s my order #4821?”
- orders.lookup_by_id(4821)approved template
- SELECT * FROM orders WHERE…no SQL authoring
Tenant isolation is cryptographic
Identity-scoped lookups run only for visitors your server signed (HMAC). An unsigned chat can never fill an identity parameter, so customers only ever see their own rows.
- maya@acme.comHMAC verified
- subscriptions.by_email(email)from verified identity
- Unsigned visitoridentity params withheld
Read-only, allowlisted, audited
Connections run in read-only sessions against tables you allowlisted, and every query is logged with parameters, timing, and row count.
- orders.lookup_by_id1 row · 38 ms
- refunds.status1 row · 41 ms
- subscriptions.by_email2 rows · 45 ms
- Read-only enforced per session
- Credentials encrypted at rest
- TLS verification, bring your own CA
- Row caps and query timeouts
Honest AI
Your team approves every resolution
We don’t auto-close tickets on an uncalibrated confidence score. The AI drafts an answer grounded in your docs and live data. A person sends it.
- Drafts are grounded in your knowledge base and live database rows, with the sources shown on every draft.
- Your team approves in one click, edits before sending, or escalates; nothing reaches a customer unapproved.
- Every edit is tracked, so you can watch the share of drafts sent untouched climb before trusting more automation.
- Approve & send
Refund hasn't arrived
#3182 · draft ready
Change billing email
#3181 · sent · unedited
Duplicate charge
#3179 · escalated to human
Inline chat block
Drop the agent into any page, not just a corner bubble
The same agent that answers your support widget embeds as a block element: an Ask HR desk in your intranet, a help block in your docs, or front and center on your landing page.
- One script tag with data-mode=“inline”; no SDK, no build step, sized to fit its container.
- Signed visitor identity works the same everywhere: an employee asking about PTO only ever sees their own rows.
- Floating bubble, standalone help page, inline block, REST API: one agent, every surface.
<div id="ask-hr"></div> <script src="https://resolveiq.co/embed.js" data-agent-id="…" data-mode="inline" data-target="#ask-hr" async></script>
How many PTO days do I have left this year?
You have 15 of 24 PTO days left this year. Heads-up: 5 of those are carried over and expire Sep 30. Here’s the request form if you want to book them.
Everything a support team needs
From first connection to resolved ticket, with a human in the loop the whole way.
Live database answers
Answers “where's my order?” from the actual row in your database, not a stale doc.
Grounded in your docs
Upload files, crawl your site, or add Q&A pairs to build the agent's knowledge base.
Human-in-the-loop drafts
The AI drafts the resolution; your team reviews and sends. Nothing goes out unapproved.
Read-only and audited
Read-only connections, table allowlists, and an audit log of every query the agent runs.
Escalation built in
When the agent isn't confident, it hands off to a human with full conversation context.
Deploy anywhere
Floating bubble, inline chat block, standalone help page, or the REST API: one agent, every surface.
Questions
What security teams ask before they say yes
Something still unclear? Ask the agent at the bottom of this page. It answers from these same docs.
Do you need write access to my database?
No. Every connection runs in a read-only session against only the tables you allowlist, with a 5 second statement timeout and a cap of 20 rows per query. Each query is written to an audit log with its parameters, timing, and row count.
Can the agent write its own SQL?
No. You review and approve a set of parameterized query templates. At runtime the model can only choose one of those templates and supply its parameters. There is no code path where model authored SQL reaches your database.
How do you stop one customer from seeing another customer's data?
Identity scoped lookups run only for visitors your own server has signed with an HMAC SHA256 token. An unsigned visitor can never fill an identity parameter, so an anonymous chat cannot ask for someone else's order or subscription.
Which databases can I connect?
Postgres and MySQL. TLS is configurable per connection, including full certificate verification against a root CA you supply. Stored credentials are encrypted at rest.
Does the agent reply to customers on its own?
In the chat widget it answers visitors live, grounded in your knowledge base and your database. Ticket resolutions work differently: the agent writes a draft and a person on your team approves, edits, or escalates it before anything is sent. Every edit is tracked, so you can watch how often drafts go out untouched before trusting more automation.
What happens when the agent does not know the answer?
It escalates instead of guessing. Answers come from retrieved knowledge base passages and template results, and when neither grounds a reply the conversation hands off to a human with the full context attached.
Are our conversations used to train AI models?
No. We use model providers under terms that prohibit them from training on your data. You choose the model per agent: GPT-4o, GPT-4o Mini, or Claude Sonnet 4.
What does it cost, and do I need a credit card to start?
No card to start. The free plan is $0 for as long as you want it: 50 messages a month, 1 agent, and a knowledge base. Live database lookups begin on Starter at $29 a month with 1 connection, Pro at $99 with 5, and Business at $299 with 10. You can cancel from the billing portal at any time.
What does setup actually involve?
Three steps, and the first one already ships something. Upload your docs or point the crawler at your help site, which is enough to put a grounded agent on your page. Then create a read-only database user scoped to the tables you want reachable. Then review the query templates the agent is allowed to run.
Put your production data to work on your support queue
Start free- 50 free messages every month
- No credit card to start
- Cancel from the billing portal anytime
- Disconnect your database whenever you want
Questions? Ask below. This is the same inline chat block you can drop into your own pages, answered live by ResolveIQ for ResolveIQ.