Skip to main content

Build a support and AI console

A support line where an AI agent answers first, your team watches live and steps in whenever it matters, and every conversation ends with a transcript and summary. Customers reach you from your website, your app or a phone number.

A support console with a live call, an AI assistant transcript, a handoff queue and an escalate-to-human panel
3 ways in
website widget, your own app, or a phone number
1 request
moves a live call from the agent to a person
Call logs
with transcripts and summaries, over the API

How it fits together​

  1. CustomerCalls or opens chatFrom your website, your app or your phone number.
  2. MediaSFUAn AI agent answersWith the voice, instructions and tools you configure.
  3. Your teamWatches and takes overLive sessions in one view; a person steps in when needed.
  4. Your serverKeeps the recordTranscripts, summaries and recordings over the API.

Pick how much to build​

ApproachWhat you buildBest when
Widgets onlyTwo HTML tags: one for customers, one for your teamYou want agent support on your site this week
Widgets + your appYour own video room for human sessions, with the agent widgets beside itCustomers already use your web or mobile app
Fully customYour own console on an SDK room, with agents and calls controlled from your serverSupport is your product, or you need your own workflow

All three use the same agents, numbers and records, so you can start with widgets and move to a custom console without starting again.

What MediaSFU handles​

You needMediaSFU gives youRead
An AI agent customers can talk toAgents with a voice, instructions and tools, set up in the Agents dashboardDashboards
Chat and voice support on your websiteWeb Agent and AI Agent widgetsWeb Agent widget
A live view for your teamThe Agent Dashboard widget, with operator takeoverAgent Dashboard widget
A phone number customers can callYour own number connected over SIPSIP configuration API
A person taking over a live callSwitch a call between the agent and a personControl AI calls
Video sessions with a personA MediaSFU room in any SDKBuild it in your SDK
Transcripts, translation and summariesAI notes and translation configsTranslation configs
Review after the callCall logs with transcripts and summaries, plus recordingsRecordings API

Set it up​

  1. Create an agent. In the Agents dashboard, set the agent's voice, instructions and tools. Then create a widget key in Widget Builder and limit it to your domains. A widget key is public; it is not your API key.

  2. Put the agent on your website. Load the widgets once and add the customer-facing element:

    <script type="module" src="https://cdn.mediasfu.com/v1/widget.js"></script>

    <mediasfu-web-agent
    widget-key="YOUR_PUBLIC_WIDGET_KEY"
    config-name="customer-support"
    mode="text"
    allow-escalation="true"
    greeting="How can we help?"
    ></mediasfu-web-agent>

    When a customer asks for a person, the element fires escalation-requested.

  3. Give your team a live view. On a page only your team can sign in to:

    <mediasfu-agent-dashboard
    widget-key="YOUR_PUBLIC_WIDGET_KEY"
    operator-name="Support team"
    theme="dark"
    width="100%"
    height="760px"
    ></mediasfu-agent-dashboard>

    It lists active sessions and fires operator-takeover when someone steps in.

  4. Add a phone number (optional). Register your number from your server, then connect it to the agent under Phone & SIP Setup in the dashboard:

    curl -X POST https://mediasfu.com/v1/sipconfigs \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $MEDIASFU_API_USERNAME:$MEDIASFU_API_KEY" \
    -d '{"action":"create","contactNumber":"+15551234567","provider":"twilio"}'

    Your server can then take over any live call from your own tools:

    ToYour server sends
    Hand the call to a personPOST /v1/sipcall/:sipCallId/switch-source with {"targetType":"human","humanName":"Pat"}
    Give it back to the agentPOST /v1/sipcall/:sipCallId/switch-source with {"targetType":"agent"}
    End the callPOST /v1/sipcall/:sipCallId/end

    Control AI calls has the complete server module, with rate limits and errors handled.

  5. Read what happened. Pull transcripts and summaries for your CRM or quality review:

    curl "https://mediasfu.com/v1/sipcall/logs" \
    -H "Authorization: Bearer $MEDIASFU_API_USERNAME:$MEDIASFU_API_KEY"

Keep MEDIASFU_API_USERNAME and MEDIASFU_API_KEY on your server. The Secure backend guide shows the route your app calls instead.

Build it in your SDK​

For your own console, build the room where customers and your team meet in your SDK. Agents, phone numbers and call control stay on your server, so that part is the same for every SDK.

Check it works​

  • Open your site in a private window and start a chat. The agent greets you, and the session appears in the agent dashboard.
  • Ask for a person. Take over from the dashboard and confirm the customer sees the change.
  • If you added a number, call it, let the agent answer, then switch the call to a person and back.
  • After the call, find its transcript and summary in the call logs.

Go further​