Chat & voice agents · live in one script tag

The support agent that knows your product on day one

Upload your docs, paste one script tag, and Semolina answers on chat and voice — looking up real orders and invoices, and handing the thread to a human the moment it should.

actions
Connect Shopify, Stripe, Slack, and Vapi, then embed the widget with one script tag — HTML, React, Next.js, or plain JavaScript.

Embeds anywhere · acts through the tools you already run

ShopifyStripeSlackVapiHTMLReactNext.jsJavaScript
The platform

Four screens do the whole job

Knowledge base, widget, inbox, and actions — the entire product, not a roadmap.

KNOWLEDGE BASE

Train the agent on what you already have

Drop in PDFs, docs, and text files, or point Semolina at a URL and let it crawl. Turn auto-retrain on and every edit to a source rebuilds the agent.

refund-policy.pdfTrained
shipping-faq.mdTrained
semolina.com/docsCrawling
WIDGET

A chat widget you configure, not rebuild

Greeting, suggested questions, launcher icon, colour, and position — edited in a form with a live preview, deployed to your site without a release.

Hi! How can I help you?
Where is my order?I need a refund
Order #4821 is out for delivery today
CONVERSATIONS

One inbox, and a human takeover that actually works

Chat and voice threads land in the same place. Filter by unresolved, escalated, or resolved, jump in mid-thread, and mark it done.

Where is my order #4821?Unresolved
Refund for a duplicate chargeEscalated
ACTIONS

An agent that can do things, not only answer

Connect Shopify, Stripe, Slack, or Vapi and the agent looks up an order, checks an invoice, pings a channel, or picks up the phone.

→ knowledge.search("refund policy")
→ shopify.getOrder("4821")
→ slack.alert(#support-escalations)
→ reply sent · 320ms
Go live

One script tag. No package, no build step.

The dashboard hands you the snippet already filled in with your organization ID, with copy-ready variants for HTML, React, Next.js, and plain JavaScript.

HTMLReactNext.jsJavaScript
<script
  src="https://semolina-v2-widget.vercel.app/widget.js"
  data-organization-id="org_2f8Kd..."
></script>
ECOMMERCE

Order status, delivery updates, and refunds answered from your live Shopify data — not a canned macro.

Browse ready-made agents
SAAS

Invoice lookups and payment questions resolved against Stripe, with anything ambiguous escalated to a human.

Browse ready-made agents
SERVICES

Inbound and outbound voice through Vapi, with bookings handed off to your appointment link.

Browse ready-made agents
Semolina AI

You can see exactly what the agent is doing

Resolution rate, call success rate, and monthly campaign spend are on one screen — no dashboard to wire up, no events to instrument. It fills in from the first conversation.

app.semolina.com/dashboard/analytics
Semolina
Customer Support
Overview
Analytics
Conversations
Call Campaigns
Configurations
Knowledge Base
Widget customization
Integrations
Actions
Marketplace
Insights
Analytics
Conversations
1,284+12%
Campaigns
9+2
Call Success Rate
87%+4%
Resolved Rate
96%+3%
Spend
Monthly campaign cost
USD
Mar
Apr
May
Jun
Jul
Aug
CampaignStatusScheduledCompleted
Renewal remindersActive420318
Abandoned cart follow-upCompleted260260
NPS check-inIn queue1800

Grounded in your sources, not the open web

Every answer is retrieved from the files and pages you uploaded. Change a source, retrain, and the agent is current the same minute.

It resolves, escalates, or calls

The agent takes the action itself where it can — order lookup, invoice status, booking link — and hands the thread to a human the moment it can't.

Chat and voice from one workspace

The widget on your site and the phone line through Vapi share the same knowledge base, the same actions, and the same inbox.

From an empty workspace to a live agent in an afternoon

No implementation project, no professional services quote. Three steps in the dashboard — sources, agent, script tag — and you are answering real customers.

STEP 1

Feed it your knowledge

Upload PDFs, docs, and text files, or add a website to crawl
Watch each source move to Trained in the dashboard
Leave auto-retrain on so edits never go stale
STEP 2

Shape the agent

Write the greeting and the three suggested questions
Set colour, launcher, and position with a live preview
Connect Shopify, Stripe, Slack, or Vapi under Actions
STEP 3

Paste one script tag

Copy the snippet for HTML, React, Next.js, or plain JavaScript
Deploy — no package to install, no build step to change
Answer the first real conversation from your inbox
Core capabilities

Everything the agent needs, already in the box

Chat and voice, a knowledge base with auto-retrain, outbound call campaigns, and analytics that populate themselves. Nothing here is an add-on you have to go configure elsewhere.

Chat and voice, one knowledge base

The widget on your site and the phone line through Vapi answer from the same sources, run the same actions, and land in the same inbox.

Widget on your siteChat
Inbound and outbound callsVoice
Alert when a human is neededSlack

Analytics with nothing to instrument

Conversation volume, resolved rate, call success rate, and campaign spend — all read straight from the workspace.

Call campaigns

Schedule outbound calls, then track scheduled versus completed per campaign.

Auto-retrain

Sources re-index on change, so the agent never quotes a policy you already rewrote.

Escalation to Slack

The moment a thread needs a person, the channel you picked gets the alert.

Agent marketplace

Install a ready-made support agent instead of writing the prompt yourself.

Start free, grow into voice and campaigns

One website and the chat assistant are free forever. Voice, knowledge base files, and widget customization come with a paid plan; campaigns come with Pro.

Accounts
Overview
Analytics
Knowledge Base
Plans & Billing
Marketplace
Plans and billing

Your current plan, usage, and invoices — billed through Dodo Payments.

Pro · monthly · campaigns and voice included
ActiveCustomer portalInvoices

Organization workspaces

Sign-in and roles run on Clerk, so teammates join an organization instead of sharing a login.

Self-serve billing

Upgrade, downgrade, and pull invoices from the Dodo Payments customer portal inside the dashboard.

Enterprise scoping

White labeling, higher limits, a customized dashboard, and a security review are scoped on a call.

Install an agent, or connect the tools you already run

Install a ready-made agent

The marketplace is full of support agents built by people who do this for a living. Install one into your workspace and skip the prompt writing.

Go to marketplace

Publish your own

Built an agent that works? List it in the marketplace from the creator dashboard and let other teams install it.

Become a creator
Vapi
Voice calls, phone numbers, outbound calling, workflows
Shopify
Retrieve and display orders, delivery updates
Stripe
Invoice lookup, payment status, invoice links
Slack
Escalation alerts in the channel of your choice
Website crawl
Point at a URL and keep every page indexed
File uploads
PDFs, Markdown, and text as first-class sources

Straight answers about your data

Where your conversations live, who can reach them, and who handles the money. No badges we have not earned.

Your data stays scoped to your workspace

Every conversation, file, and setting is keyed to your organization, and the widget only ever reads the sources you added.

Read the privacy policy

Managed auth and billing

Sign-in runs on Clerk with organization-level roles. Payments and invoices run through Dodo Payments — we never store card details.

See pricing

Enterprise review on request

White labeling, higher limits, custom dashboards, and a security review are scoped on an enterprise plan.

Your agent can be answering customers tonight