Skip to main content

MultiChannel Banking Helper - Python

This application will allow customers to check balance as well as obtain the due date for credit card payments via both voice and SMS.

What do I need to run this code?

View the full code on our Github here!

This guide uses the Python SignalWire SDK, for a guide on installation click here.

Flask will be needed to handle the web framework.

You will need a SignalWire phone number as well as your API Credentials (API Token, Space URL, and Project ID) which can all be found in an easily copyable format within the API tab of your SignalWire portal.

How to Run Application

Python Multichannel Banking Helper

To install prerequisites, run pip install -r requirements.txt. Using a virtualenv is recommended.

To run the application, execute export FLASK_APP=app.py then run flask run.

Connecting to your development application

To test the application with SignalWire while running locally, we recommend using ngrok. The application runs on port 5000 by default.

If you don't already have one, you can purchase a new phone number in your SignalWire space.

Next, create two new Resources from the Resources section from the sidebar. For both, select a Script and choose type as cXML. Set the primary script to "External URL". For one, point to your-ngrok-domain/voice. For the other, point to your-ngrok-domain/sms. Name these resources accordingly to recognise them better later.

Then, open the phone number settings. In the Inbound Calls Settings section, select the resource you created for voice. Similarly, in the Inbound Messaging Settings section, select the resource you created for SMS.

Identify your Dashboard and select between Legacy and New UIs using the tabs below.

Resources that were previously accessible in the sidebar of the legacy UI are now located in the unified Resource menu.

The settings for your phone number of choice will look something like this:

legacy settings for phone number

Configure your number to "Handle Calls Using" using LaML webhooks and point it to your-ngrok-domain/voice.

Configure your number to "Handle Messages Using" using a webhook and point it to your-ngrok-domain/sms.

Wrap up

This application example is a great starting point to create a bank service IVR driven by both voice and SMS

Required Resources:

Sign Up Here

If you would like to test this example out, create a SignalWire account and Space.

Please feel free to reach out to us on our Community Discord here or create a Support ticket if you need guidance!