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.

Acme Storefront · Support
ResolveIQ agent

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.

orders.lookup_by_id · liveShipping policy · KB
Answered in chat from a live database row — no ticket needed

How it works

Safe by construction: the agent never writes SQL and never replies without grounding.

  1. 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. 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. 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 ready

    Hi Maya — your refund of $42.10 was issued yesterday and should reach your card in 3–5 business days.

    refunds.status · live
    Approve & sendEdit

Safe by design

Production access your security team will approve

Giving an AI agent your database is scary — so 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.

Runtime decision
  • “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 — customers only ever see their own rows.

Visitor identity
  • 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.

Query audit logread-only session
  • 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 the answer — grounded in your docs and live data — and 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.
Resolution queue
62% sent without edits
  • Refund hasn't arrived

    #3182 · draft ready

    Approve & send
  • Change billing email

    #3181 · sent · unedited

  • Duplicate charge

    #3179 · escalated to human

The AI drafts. A person sends. Edits are measured, not assumed.

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.app/embed.js"
  data-agent-id="…" data-mode="inline"
  data-target="#ask-hr" async></script>
Acme · People Portal
internal
HomeBenefitsAsk HR

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.

hr.leave_balance · livePTO policy · KB
jordan@acme.com · HMAC verified — sees only their own rows

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.

Put your production data to work on your support queue

Start free