HTTP Requester Configuration
No need to configure anything in the CRM application itself.
You can create your own integration by using the HTTP Requester.
When a new phone number is detected (after a new call was coming in, or a call was redirected) Bubble will send a HTTP lookup request.
Bubble > Server
{
"action" : "lookup" ,
"number" : "0612346578" ,
"number_E164" : "+31612346578" ,
"notations" : [
"0612346578" ,
"06-12346578" ,
"06 12346578" ,
"061-2346578" ,
"(06 ) 123 46 578" ,
"612346578" ,
"+31612346578" ,
"0031612346578" ,
"+31 6 12346578" ,
"31612346578" ,
"+31 61 2346578"
],
"call" : {
"call_id" : "testconnector-timestamp-1630927731549" ,
"event_timestamp" : "2021-09-06T11:28:51Z" ,
"call_duration" : "00:00:00" ,
"number" : "0612346578" ,
"number_origin" : "TestConnector" ,
"call_state" : "ringing" ,
"number_E164" : "+31612346578" ,
"number_full" : "0031612346578" ,
"number_international" : "+31612346578" ,
"number_international_ws" : "+31 6 12346578" ,
"number_international_compact" : "31612346578" ,
"number_national" : "0612346578" ,
"number_national_ws" : "06 12346578" ,
"number_national_compact" : "612346578" ,
"direction" : "incoming" ,
"name" : "Caller Name" ,
"internal_number" : "201"
},
"parameters" : {}
}
When no result was found, the server should return a HTTP 200 with the following body:
{
"success" : false ,
"parameters" : {}
}
When one ore more results are found, the server should return a HTTP 200 with the following body:
{
"success" : true ,
"parameters" : [
{
"name" : "John Doe" ,
"company_name" : "Legal Company" ,
"customer_id" : 1234 ,
"customer_view" : "http://192.168.2.1/customer/1234"
},
{
"name" : "Bart Storm" ,
"company_name" : "Legal Company" ,
"customer_id" : 1234 ,
"customer_view" : "http://192.168.2.1/customer/1234"
}
]
}
Call registration can be done. Each The following call events will be sent. The server should respons with a HTTP 200.
Bubble > Server
{
"call_id" : "testconnector-timestamp-1630927731549" ,
"event_timestamp" : "2021-09-06T11:28:51Z" ,
"call_duration" : "00:00:00" ,
"number" : "0612346578" ,
"number_origin" : "TestConnector" ,
"call_state" : "ringing" ,
"number_E164" : "+31612346578" ,
"number_full" : "0031612346578" ,
"number_international" : "+31612346578" ,
"number_international_ws" : "+31 6 12346578" ,
"number_international_compact" : "31612346578" ,
"number_national" : "0612346578" ,
"number_national_ws" : "06 12346578" ,
"number_national_compact" : "612346578" ,
"direction" : "incoming" ,
"action" : "call_event" ,
"event_type" : "call_start" ,
"parameters" : {}
}
Bubble > Server
{
"call_id" : "testconnector-timestamp-1630927731549" ,
"event_timestamp" : "2021-09-06T11:28:57Z" ,
"call_duration" : "00:00:06" ,
"number" : "0612346578" ,
"number_origin" : "TestConnector" ,
"call_state" : "answered" ,
"number_E164" : "+31612346578" ,
"number_full" : "0031612346578" ,
"number_international" : "+31612346578" ,
"number_international_ws" : "+31 6 12346578" ,
"number_international_compact" : "31612346578" ,
"number_national" : "0612346578" ,
"number_national_ws" : "06 12346578" ,
"number_national_compact" : "612346578" ,
"direction" : "incoming" ,
"action" : "call_event" ,
"event_type" : "call_update" ,
"parameters" : {}
}
Bubble >Server
{
"call_id" : "testconnector-timestamp-1630927731549" ,
"event_timestamp" : "2021-09-06T11:28:59Z" ,
"call_duration" : "00:00:08" ,
"number" : "0612346578" ,
"number_origin" : "TestConnector" ,
"call_state" : "hangup" ,
"number_E164" : "+31612346578" ,
"number_full" : "0031612346578" ,
"number_international" : "+31612346578" ,
"number_international_ws" : "+31 6 12346578" ,
"number_international_compact" : "31612346578" ,
"number_national" : "0612346578" ,
"number_national_ws" : "06 12346578" ,
"number_national_compact" : "612346578" ,
"direction" : "incoming" ,
"action" : "call_event" ,
"event_type" : "call_end" ,
"parameters" : {}
}
Bubble -> Server (supported from Bubble v3.28 and higher)
{
"action" : "call_registration" ,
"lookup_result" : {
"name" : "John Doe" ,
"company_name" : "Legal Company" ,
"customer_id" : "1234" ,
"customer_view" : "http:\/\/192.168.2.1\/customer\/1234"
},
"call" : {
"call_id" : "test-1683108624351" ,
"event_timestamp" : "3-5-2023 12:10:39" ,
"event_timestamp_iso8601" : "2023-05-03T10:10:39Z" ,
"call_timestamp" : "3-5-2023 12:10:24" ,
"call_duration" : "00:00:14" ,
"number" : "0612345678" ,
"number_origin" : "TestConnector" ,
"internal_number" : "202" ,
"external_number" : "+31113405065" ,
"call_state" : "hangup" ,
"number_E164" : "+31612345678" ,
"number_full" : "0031612345678" ,
"number_international" : "+31612345678" ,
"number_international_ws" : "+31 6 12345678" ,
"number_international_compact" : "31612345678" ,
"number_national" : "0612345678" ,
"number_national_ws" : "06 12345678" ,
"number_national_compact" : "612345678" ,
"direction" : "incoming"
},
"subject" : "incoming - 0612345678" ,
"note" : "Had a very nice chat with the customer. \r\n He will visit the showroom next week."
}
Below is the list of available buttons. These are both CRM specific- and generic Bubble functions. Think about invoking a specific URL or script, opening an e-mail or making a callback request. Call Control is only available if your telephony platform supports it.
Custom Action (standard button)
Send E-mail (standard button)
Callback request (standard button)
Call Control (standard button)*
Send WhatsApp message (standard button)
Send Microsoft Teams message (standard button)
Open SearchBar (standard button)
Determine the content of the pop-up per user, department or organization with information from your CRM package. Below is the list of parameters available from your CRM software.
All info returned via the HTTP Requester