Receive SMS with Twilio SMS API

import os
from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse
from import Client
from abilities import llm_prompt

app = Flask(__name__)

# Initialize Twilio client
account_sid = os.environ['TWILIO_ACCOUNT_SID']
auth_token = os.environ['TWILIO_AUTH_TOKEN']
twilio_client = Client(account_sid, auth_token)

@app.route("/sms", methods=['POST'])
def sms_reply():
    print("Received SMS.")

    # Get the message the user sent our Twilio number
    incoming_msg = request.values.get('Body', '').lower()

    # Start our TwiML response
    resp = MessagingResponse()

About this template

This app allows users to receive SMS messages using the Twilio SMS API and generate custom responses based on the received message. Users can set a Twilio number to receive the SMS messages and customize responses for specific keywords or phrases. Users can use the URL endpoint generated from this app as a Webhook URL on their Twilio number's messaging configuration so that received messages can be forwarded to this app.

Introduction to the SMS Response App Template

Welcome to the SMS Response App Template! This template is designed to help you create an application that can receive SMS messages using the Twilio SMS API and generate custom responses based on the content of the messages. This is particularly useful for businesses that want to automate their SMS communication with customers, providing quick and relevant responses to inquiries.

Getting Started

To begin using this template, simply click on "Start with this Template". This will set up the template in your Lazy builder interface, pre-populating the code so you can customize it according to your needs without any hassle of copying and pasting code.

Initial Setup: Adding Environment Secrets

Before you can test and use your app, you need to set up some environment secrets. These are sensitive pieces of information that your app needs to operate, such as your Twilio account credentials. Here's how to set them up:

  1. Log in to your Twilio account and navigate to the Console Dashboard.
  2. Find your Account SID and Auth Token. Keep this information secure.
  3. In the Lazy Builder interface, go to the Environment Secrets tab.
  4. Add two new secrets: one named TWILIO_ACCOUNT_SID and another named TWILIO_AUTH_TOKEN.
  5. Enter the respective values you obtained from your Twilio account.

With these secrets in place, your app will be able to authenticate with Twilio and send responses to incoming SMS messages.

Test: Deploying the App

Once you have set up your environment secrets, it's time to test your app. Press the "Test" button to begin the deployment process. The Lazy CLI will handle the deployment, and you won't need to provide any additional input at this stage.

Using the App

After deploying the app, Lazy will provide you with a server link. This link is the URL endpoint that you will set as a Webhook URL in your Twilio number's messaging configuration. Here's how to set it up:

  1. Go to the Twilio Console and navigate to the 'Phone Numbers' section.
  2. Select the Twilio number you want to use for receiving SMS messages.
  3. Find the Messaging section and paste the server link provided by Lazy into the 'A MESSAGE COMES IN' field.
  4. Save your changes.

Now, when someone sends an SMS to your Twilio number, Twilio will forward the message to your app, and your app will generate a response based on the message content.

Integrating the App

If you wish to integrate this app with other services or frontends, you will need to use the server link provided by Lazy. For example, you might want to display the incoming messages and responses on a dashboard or store them in a database. To do this, you would typically make HTTP requests to the server link, sending and receiving data as needed.

Remember, this app is designed to be flexible and can be customized to fit your specific requirements. Whether you're looking to create an automated customer support system or a marketing campaign that interacts with users via SMS, this template provides a solid foundation to build upon.

For more detailed information on how to use the Twilio API, you can refer to the Twilio SMS API documentation.

By following these steps, you should now have a functional SMS response application ready to interact with your customers. Enjoy automating your SMS communication with ease!

Last published
April 7, 2024

More templates like this

Customisable Server Status Dashboard

This template allows you to create a dashboard to report about incidents regarding your server to your users.


A bot that answers questions about data

Ask questions about your database via a chat bot. This chatbot connects to a SQLITE database, generates queries for it based on the schema and then runs the queries printing the response all in a nicely styled chat UI. This template is pre-loaded with sample data (car parts) to play around with - here are the sample data columns that you can query: part_number, part_name, price, units_left_in_stock, manufacturer .


WhatsApp ChatBot (Twilio, InstantChat)

Build a WhatApp chatbot using Twilio, Discord and LazyAI.

Receive SMS with Twilio SMS API