Skip to main content

Build a Call Center Agent

This tutorial walks you through building a fully functional call center agent interface. You’ll learn how to answer incoming calls, mute/unmute, and place calls on hold — the basics a real agent needs. Prerequisites:
  • Completed Make Your First Call
  • A Telnyx account with a Credential Connection and JWT set up
  • A phone number routed to your Credential Connection
What you’ll build: A browser-based agent dashboard that:
  • Receives incoming calls
  • Shows caller ID
  • Supports mute and hold
  • Tracks call duration
  • Handles multiple calls with hold/resume
This SDK is client-side only. The WebRTC JS SDK handles real-time audio in the browser — it connects agents to calls, manages call state, and streams media. To route calls, create dial plans, or implement IVR logic, you need a backend application using:
  • Programmable Voice (Call Control) — Build server-side call flows with the Telnyx API. Create calls, transfer, bridge, and play audio programmatically.
  • TeXML — Telnyx’s markup language for voice applications. Define call flows in XML with verbs for dial, gather, play, say, and more.
This tutorial assumes you already have a backend routing calls to your agents via one of these methods.

Step 1: Set Up the HTML

Create agent.html:

Step 2: Connect and Authenticate

Add a <script> tag and connect:

Step 3: Handle Incoming Calls


Step 4: Answer and Reject


Step 5: Call Controls


Step 6: Render the Active Calls UI


Step 7: Call Timer


Step 8: Cleanup


What’s Next?

You now have a working call center agent interface. Here are ways to extend it: Client-side (this SDK): Server-side (backend):

See Also