Using the babelforce http custom_callback action

Christina Dechent
Christina Dechent
  • Updated

 

When creating a custom HTTP callback action, babelforce enables you to send variables (via Automations) to an external application (like Google or any other webhook you are using). It's up to you to select which of these data sets (buckets) you need and which data points your application should be processing.

 

mceclip2.png

Depending on the Automation you create, babelforce will return a certain set of values you can use in your external application. 

All you have to do is select the bucket that contains the information you want to send.

In the screenshot to your right you see the available buckets:

  • Call
  • SMS
  • Agent
  • Queue

At the end of the article you find a print-out of the values each bucket contains. We selected three events for demonstrating how the content of the bucket varies.

However, let's now look at a couple of use cases to make this less theoretical:

 

 

First example:

Whenever you receive an inbound call, you would like to know the number of the caller and the time it was created.

In this case, you need to use the variables

  • call.from
  • call.dateCreated (UNIX timestamp)

As they are available in the Call bucket, there's not more to do here see the table here (or scroll down to "Bucket on Inbound Call"). There are no other buckets available for this Automation.

Second example:

Whenever a call successfully connected to an agent (bridged), you want to know which agent took the call and in which queue the call waited. Also, you want to know the call wait time before it was picked up.

In this case, you use the variables

  • agent.name
  • queue.name
  • call.duration

To see which variables are available in the Call, Agent and Queue bucket on "Call bridged", see the table here (or scroll down to "Bucket on Call Bridged").

Third example:

For every received SMS you want to see who sent the SMS to which of your numbers.

In this case, you use the variables

  • sms.from
  • sms.to

To see which variables are available in the SMS bucket on the event "SMS received", see the table here (or scroll down to "Bucket on SMS received"). There are no other buckets available for this event.

Creating customized variables that are not included in the default buckets

In some cases you might need other data points than those that are send with the buckets by default. Take for instance agent presence and the group an agent is in. Both data points are not send with the default agent bucket on call bridged.

If you want to do reporting on these fields, you need to add so called "Key-Values".

mceclip0.png

How they are processed depends on the web app you are using. Please see the examples provided in the help center or contact support for more details.

Bucket on Inbound Call

Call (bucket) Variable
id call.id
parentId call.parentId
sessionId call.sessionId
conversationId call.conversationId
dateCreated call.dateCreated
dateEstablished call.dateEstablished
dateFinished call.dateFinished
lastUpdated call.lastUpdated
state call.state
finishReason call.finishReason
from call.from
to call.to
type call.type
source call.source
domain call.domain
duration call.duration
anonymous call.anonymous
recordings call.recordings

 

Bucket on Call Bridged

Call (bucket)  Variable
id call.id
parentId call.parentId
sessionId call.sessionId
conversationId call.conversationId
dateCreated call.dateCreated
dateEstablished call.dateEstablished
dateFinished call.dateFinished
lastUpdated call.lastUpdated
state call.state
finishReason call.finishReason
from call.from
to call.to
type call.type
source call.source
domain call.domain
duration call.duration
anonymous call.anonymous
recordings call.recordings
bridged call.bridged
  id   call.bridged.id
  name   call.bridged.name
  number   call.bridged.number
  queueId   call.bridged.queueId
  queueName
  call.bridged.queueName
agent call.agent
  id   call.agent.id
  name   call.agent.name
  number   call.agent.number
  queue   call.queue
  id   call.queue.id
  name   call.queue.name
   
Agent (bucket)  
id agent.id
sourceId agent.sourceId
dateCreated agent.dateCreated
lastUpdated agent.lastUpdated
name agent.name
enabled agent.enabled
state agent.state
number agent.number
   
Queue (bucket)  
id queue.id
dateCreated queue.dateCreated
lastUpdated queue.lastUpdated
enabled queue.enabled
defaultRingTimeout
queue.defaultRingTimeout
wrapUpTime queue.wrapUpTime
name queue.name
maxDialCount queue.maxDialCount
dialOrder queue.dialOrder
dialOrderTimePeriod
queue.dialOrderTimePeriod
maxSize queue.maxSize
size queue.size
stats queue.stats
  active   queue.stats.active
  bridged   queue.stats.bridged
  queued   queue.stats.queued

 

Bucket on SMS received

SMS (bucket) Variable
id sms.id
dateCreated sms.dateCreated
type sms.type
from sms.from
to sms.to
state sms.state
source sms.source
text sms.text
conversationId sms.conversationId

 

Beeceptor

A nice way to test the data that is sent via buckets and key-values is the tool beeceptor. Give it a try!

Related to

Was this article helpful?

/

Comments

0 comments

Please sign in to leave a comment.