Share your agent with a link

About 5 minutesNo code neededUpdated July 2026

After this guide, you'll have a public link — and a QR code — that lets anyone chat or talk with your agent. No Qalyb account, nothing to install, no website required. Perfect for demos, testers, and pop-up support lines.

Before you start, make sure you have:
A Qalyb agent — if you don't have one yet, follow Create your first agent (5 minutes)
Note:
Creating a share link counts as deploying the agent, so it needs a paid plan — the Free plan is for testing in the playground only. An agent that's already deployed somewhere else can add more share links without using up another slot.

A share link is a public page at app.qalyb.ai/share/<slug>. Paste it into an email, a WhatsApp message, a Slack channel, or print the QR code on a poster — whoever opens it can start a conversation immediately. Use it when you don't have a page to embed into (or want a throwaway public URL); use the website widget when the agent should live inside your own site.

Open the agent's Share Links page

Open your agent in the dashboard and click Share Links in the top bar. This page lists every link the agent has, with its status, expiry date, last use, and how many conversations it has hosted.

app.qalyb.ai/agents/agt_abc123/share-links
Screenshot: the share links list for an agent showing Name, Status, Expires, Last used, Password, Outbound, and Sessions columns with Rotate and Disable actions
Each agent has its own Share Links page.
Create the link

Click Create share link and give it a name you'll recognize later — say "Investor demo" or "Eid support line". The name is just for you; visitors never see it.

app.qalyb.ai/agents/agt_abc123/share-links
Screenshot: the create share link modal with fields for Name, Expiry dropdown, optional Password, and an Allow outbound calls toggle
The create dialog: name, expiry, optional password, and the outbound-calls opt-in.
Choose how long it lives

Pick an expiry: 24 hours, 7 days, 30 days, or Never. After the link expires, the page stops accepting new conversations.

Optionally add a password and phone calls

Set a Password (4–256 characters) if the link is for a private audience — visitors unlock the page before they can talk. Toggle Allow outbound calls if visitors should be able to have the agent call their phone. Both are off unless you turn them on.

Heads up:
with outbound calls on, a visitor can type in any phone number and the agent will dial it — and your organization pays for the minutes. Leave it off unless the link goes to a trusted audience.
Share it

Click Create. You get the URL plus a ready-made QR code, with Copy, Open, Open HQ, and Email buttons. Open the link yourself to test it — you'll see exactly what your visitors see.

You're live:
every conversation on the link — chat and voice — is recorded on the link's page and in your analytics.

What visitors see

Opening the link lands the visitor on a public talk-to-your-agent page. If you set a password, they unlock it first; then they can chat or — if you enabled it — start a voice conversation. The Open HQ button shares a variant of the same page (?view=voice-widget) that opens straight into the cinematic voice orb — the same voice-first look as the voice widget, but as a full hosted page.

app.qalyb.ai/share/q7x2k9p4m1
The public page a visitor sees — no account needed.

Managing your links

From the Share Links list you can act on any link without recreating it:

  • Copy the URL or re-grab the QR code to share it again.
  • Rotate gives the link a brand-new URL and kills the old one instantly — use this if a link leaked or you want to cut off an old audience while keeping the same settings.
  • Disable / Enable turns the public page off or back on without losing the link or its history.
  • Edit the name, expiry, password, or outbound setting at any time.
  • Delete removes the link from the list and stops it working — the conversation history stays available in your analytics.

Click into any link to review its full conversation history — both voice and chat — and delete individual sessions or clear them in bulk.

Tip:
passwords are stored securely (hashed), and the public page never reveals whether a link or password exists — so guessing attacks learn nothing. Public share pages are also rate-limited automatically; there's nothing you need to configure.

For developers

Everything in the dashboard is available over the REST API. Share links belong to an agent, so the endpoints use the agents:read / agents:write permissions. Create a link:

curl · bash
curl -X POST https://api.qalyb.ai/agents/agt_abc123/share-links \
  -H "Authorization: Bearer sk-live-..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Ramadan campaign — public demo",
    "expiry": "7d",
    "password": "marhaba2026",
    "allowOutbound": false
  }'

List an agent's links:

curl · bash
curl https://api.qalyb.ai/agents/agt_abc123/share-links \
  -H "Authorization: Bearer sk-live-..."

Rotate the slug — issues a fresh URL and kills the previous one in one call:

curl · bash
curl -X POST https://api.qalyb.ai/share-links/sl_xyz789/rotate \
  -H "Authorization: Bearer sk-live-..."

Disable a link — set isActive to false to take the public page offline without deleting it:

curl · bash
curl -X PATCH https://api.qalyb.ai/share-links/sl_xyz789 \
  -H "Authorization: Bearer sk-live-..." \
  -H "Content-Type: application/json" \
  -d '{ "isActive": false }'
Method & pathDoesPermission
GET /agents/:agentId/share-linksList all links for an agentagents:read
POST /agents/:agentId/share-linksCreate a link (name 1–120 chars, expiry, password, allowOutbound)agents:write
GET /share-links/:idFetch one linkagents:read
PATCH /share-links/:idUpdate name, expiry, password, isActive, allowOutboundagents:write
POST /share-links/:id/rotateRotate the slug (old URL stops working)agents:write
DELETE /share-links/:idSoft-delete the linkagents:write
Note:
the public-facing routes under /share/by-slug/:slug/* (unlock, session init, chat, voice) are heavily rate-limited — unlock is capped at 10 requests/min and outbound voice at 3/min — and responses avoid leaking whether a link or password exists. You don't call these directly; the hosted public page does. On the Free plan, creating the first share link for a not-yet-deployed agent is rejected with 403 "Your plan is playground-only. Upgrade…".
Was this guide helpful?