Developer Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Event Reference

This is a reference of RealTime events that you may receive on your event streams. Event names are listed in topic format. These RealTime events are officially supported and are guaranteed to remain stable. You may see other events, but beware: The use of any events that are not in this list is not supported. Unsupported events may change without notice, or may disappear completely.

Think of an event as something that happened: We received a call, somebody answered a call, a number on your account received a text message. Events are not directly coupled to event streams. Streams only dictate why or how you will receive events, depending on the nature of the stream: Your user, entire account, etc.

Voice Events

Voice events represent various call activities that occur on your account. Each one of these will have a property called trackingId. You can use this to track call progress from start to finish to monitor calls in real time.

Some events will also have a property called uniqueId. This is also known as the report id, or call id value in the REST API and possibly other places. It represents the individual call.

Event Name Description
voice.incoming.start An incoming call has reached your account. We’ve begun to process it.
voice.incoming.answer Someone or some thing has answered an incoming call. This doesn’t mean a human answered. It could be a voicemail system, some other PBX, so on.
voice.incoming.end An incoming call has ended.
voice.outgoing.start A user has has placed an outgoing call using a SIP device (phone or app). If a call was made using the originate REST API, that will also generate this event. However, voice.originate.start happens first in that case.
voice.outgoing.answer Someone or some thing has answered an outgoing call. This doesn’t mean a human answered. It could be a voicemail system, some other PBX, so on.
voice.outgoing.end An outgoing call has ended.
voice.internal.start A call between two internal users has started on your account.
voice.internal.answer Someone has answered the internal call.
voice.internal.end An internal call has ended.
voice.originate.start We just received a REST API request to originate a call, and we’re calling the originating caller.
voice.originate.answer The originating caller has answered (it could be voicemail, beware). Next, look for voice.outgoing.start which represents the call to the callee. Keep following the outgoing events with the trackingId.
voice.originate.end The voice origination has ended. Use this to get an data on the originating caller leg of the call. If we started calling the callee, you’ll also get a voice.outgoing.end event.
voice.callconfirm.start The leg of the call has call confirmation enabled and we’re playing a message to confirm the call. Even though something answered, a human now has to press a key on their phone to accept the call before we connect the parties together.
voice.callconfirm.acceptcall The call leg was confirmed by a pressing a key to accept it. We will now connect the two parties together and disconnect any other potential parties that have yet to confirm.
voice.callconfirm.rejectcall The call leg did not confirm. We did not connect this party.
voice.incoming.agentpin-prompt The incoming call has agent PIN entry mode on. The receiving party must enter their PIN before we connect them. We have just played a message prompting them to do so. You will see this every time we play the message.
voice.incoming.agentpin-valid The receiving party has entered a valid PIN. We have connected the receiving party together to the calling party. This incoming call is now associated with the user matching the PIN entered.
voice.incoming.agentpin-timeout The receiving party did not enter a PIN in time. We have disconnected the incoming call.

Messaging Events

The following events occur when messages are sent or received on your account. For texts, messages may or not may not be associated with a user id, but they’ll always be associated with an active number and line.

You’ll also find a uniqueId data property in some events, which represents the individual message. Like the uniqueId in voice calls, it’s also known as the report id, or call id value in the REST API and possibly other places.

Event Name Description
messaging.incoming.sms An incoming SMS message was received.
messaging.outgoing.sms An outgoing SMS message was sent.
messaging.incoming.mms An incoming MMS message was received. You’ll get the text part in this event. If you need to download the media, use the message component REST API endpoint.
messaging.outgoing.mms An outgoing MMS message was sent.
messaging.update.opt-out Someone has just opted-out of texts on your account by sending the opt-out command to one of your numbers. Their number is now on your account-wide opt-out list.