Embedded Sidebar application that reacts to inbound calls on Webex Calling. Perhaps the signed in Webex User is an Agent receiving calls from customers. This app can do data dips into MockAPI or Salesforce, to look up information about the customer based on the customer's caller ID, and display the customer information to the Agent.
The PSTN Flow:
- Caller dials a PSTN number that routes to a Webex Agent (Call Queue).
- The Sidebar App passes the information to its webserver, which does an API call to MockAPI or Salesforce in an effort to match the inbound callerID.
- The Sidebar App displays additional information to the Agent about the caller, if the API request was successful.
- Developed on MacOS Ventura (13.2.1) & Ubuntu 22.04
- Developed on Python 3.8.1 & 3.8.3
- Other OS and Python versions may work but have not been tested
- MockAPI (optional)
- Salesforce (optional)
- Webex Calling
- Sidebar App
pip3 install aiohttp
pip3 install python-dotenv
- Clone this repo, and create a file named
.env
in the repo's root directory. - Populate the following environment variables to the .env file:
MY_APP_PORT=10031
MY_SALESFORCE_CLIENT_ID=""
MY_SALESFORCE_CLIENT_SECRET=""
MY_SALESFORCE_USERNAME=""
MY_SALESFORCE_PASSWORD=""
MY_MOCKAPI_URL=""
Note: the MockAPI and Salesforce variables should be removed, or the quotes left empty, if you are not using mockapi or salesforce respectively.
4. Run
python3 server.py
-
Create a new app while signed in here, and choose Embedded App.
-
Select Sidebar and give it a name. You will need to request admin approval once created.
-
Supply the domain and URL of the publicly accessible webserver where you plan to deploy this.
- Navigate to mockapi.io and either create a new project, or add a resource to an existing project.
- The project can have any name, but take note of what you name the resource added - in my example it is called SideBarContacts
- It is recommended to populate the DB with MockAPI's fake data generator, but you will need to replace at least one entry with a real number you expect to receive as an agent while testing.
- The phone numbers must not include any dashes (MockAPI will add dashes by default, but since these are fake numbers, they won't match regardless until you add some real ones).
- Your data should then look something like this:
- Your
MY_MOCKAPI_URL
in your .env file should then look like this:MY_MOCKAPI_URL="https://1234abcd.mockapi.io/SideBarContacts?number="
, where 1234abcd is replaced with the unique alphanumeric value your project shows. If you named your resource something other than SideBarContacts, replace that in the URL as well.
Check out our Vidcast recording, here!
*For more demos & PoCs like this, check out our Webex Labs site.
All contents are licensed under the MIT license. Please see license for details.
Everything included is for demo and Proof of Concept purposes only. Use of the site is solely at your own risk. This site may contain links to third party content, which we do not warrant, endorse, or assume liability for. These demos are for Cisco Webex usecases, but are not Official Cisco Webex Branded demos.
Please contact the Webex SD team at [email protected] for questions. Or for Cisco internal, reach out to us on Webex App via our bot [email protected] & choose "Engagement Type: API/SDK Proof of Concept Integration Development".