Have you ever been disconnected from a support call while being transferred to another support agent? Warm transfer eliminates this problem. Using Twilio powered warm transfers your agents will have the ability to conference in another agent in realtime.
-
First clone this repository and
cd
into it.git clone git@github.com:TwilioDevEd/warm-transfer-node.git cd warm-transfer-node
-
Copy the sample configuration file and edit it to match your configuration.
$ cp .env.example .env
You can find your TWILIO_ACCOUNT_SID
and TWILIO_AUTH_TOKEN
in your
Twilio Account Settings.
You will also need a TWILIO_NUMBER
, which you may find here.
- Install dependencies.
$ npm install
- Make sure the tests succeed.
$ npm test
- Run the application.
$ npm start
- Expose your application to the wider internet using ngrok. This step is important because the application won't work as expected if you run it through localhost.
$ ngrok http 3000
Once ngrok is running, open up your browser and go to your ngrok URL. It will look something like this:
http://9a159ccf.ngrok.io
You can read this blog post for more details on how to use ngrok.
- Configure Twilio to call your webhooks
You will also need to configure Twilio to call your application when calls are received on your TWILIO_NUMBER
. The voice URL should look something like this:
http://<your-ngrok-subdomain>.ngrok.io/conference/connect/client
- Check it out at http://localhost:3000.
That's it!
-
Navigate to
https://<your_ngrok_subdomain>.ngrok.io
in two different browser tabs or windows.Notes:
-
In one window/tab click
Connect as Agent 1
and in the other one clickConnect as Agent 2
. Now both agents are waiting for an incoming call. -
Dial your Twilio Number to start a call with
Agent 1
. YourTWILIO_NUMBER
environment variable was set when configuring the application to run. -
When
Agent 1
answers the call from the client, he/she can dialAgent 2
in by clicking on theDial agent 2 in
button. -
Once
Agent 2
answers the call all three participants will have joined the same call. After thatAgent 1
can drop the call and leave both the client andAgent 2
having a pleasant talk.
- No warranty expressed or implied. Software is as is. Diggity.
- MIT License
- Lovingly crafted by Twilio Developer Education.