Twilio automation with make

:bullseye: What is your goal?

I want to automate twilio.
the goal is to use twilio to call numbers in google sheets, if “1” is pressed then the automation should send accepted to google sheet and stop, however if the call is not picked after the the timeout, then the Twiml setup shouild send message to the call back webhook with failed or not answetred status, so that it will sleep for 5 minutes and then try the number again it should repeat this agian the second time if the receiver doesn’t pick again.
however if the client picks and doesn’t press one, then the Twiml setup shouild send message to the a seperate webhook with failed or not answetred status, so that it will sleep for 5 minutes and then try the number again it should repeat this again the second time if the receiver doesn’t pick again.

:thinking: What is the problem & what have you tried?

Here is the problem THis tywiml bin sends payload to my webhook only if the call is answered, whether “1” is pressed or not , but it does not send to the callback url if call is not answered at all

<?xml version="1.0" encoding="UTF-8"?> https://senior-checkin-audio-8005.twil.io/WhatsApp%20Audio%202026-03-02%20at%2005.28.24.mp3 i am using twilio module create a call, and i added the callback but it only worked once and did work again. it work only when it is answered but i need it to work if the call drops and was not answered at all, thst whertre i will also retry the call again

:clipboard: Error messages or input/output bundles

  1. the webhook does not work for the call not answered
  2. what is the best set up i can use to acheive this waiting and calliing interval (pick a number from the sheet that has the time correlating with {{now}} , call number, if not picked or picked but 1 is not pressed. it will call again after 5 minutes, if the same happpens call again after 5 minutes, if the sme thing happens, stop the call sequence and send a message to telegram bot.
    if 1 is pressed during any of the call sequncer, stop immediately no more calls, search for another call time that match with now from google sheets and start with another receiver

:camera_with_flash: Screenshots (scenario flow, module settings, errors)

Getting Twilio working smoothly with Make can feel confusing at first, especially around webhooks and message triggers. I’ve had better luck starting with a simple inbound SMS trigger, then testing each module step by step. Watching the scenario run log closely helps catch mapping mistakes. Once the first message flows correctly, the rest usually falls into place.

Hi @Naomi_martins ,

Yes, the request here is possible with some workarounds using Twilio’s TwiML and the call status information available through the Twilio API or the Make Twilio modules.


1. DTMF input using TwiML

The DTMF functionality (detecting if the caller presses 1) can be handled fully using TwiML. You can use a <Gather> block that plays the audio message and listens for keypad input.

Example TwiML:

<?xml version="1.0" encoding="UTF-8"?>
<Response>

<Gather 
  numDigits="1"
  action="https://your-webhook.com/dtmf-result"
  method="POST"
  timeout="15"
>
  <Play>
https://senior-checkin-audio-8005.twil.io/WhatsApp%20Audio%202026-03-02%20at%2005.28.24.mp3
  </Play>
</Gather>

<!-- If no key pressed -->
<Redirect method="POST">
https://your-webhook.com/no-input
</Redirect>

</Response>

With this setup, the audio file will be played first and Twilio will wait up to 15 seconds for the user to press 1.

  • If 1 is pressed within the timeout, Twilio will send a request to the dtmf-result webhook.

  • If no key is pressed, the <Gather> will timeout and Twilio will continue to the <Redirect> block, which triggers the separate webhook (no-input).

In Make, you can watch the webhook response and update the Google Sheet status using the phone number as the key for the row update.

A separate scenario can then run every 5 minutes to check the sheet:

  • If the status shows that the call was attempted but the button press condition is not satisfied, the scenario can re-initiate the call.

  • This process can repeat until the required condition is met or the retry limit is reached.


2. Detecting whether the call was picked up

There is no direct way in TwiML to detect if a call was not answered, because TwiML only executes after the call has been picked up.

However, this can be handled using the Twilio “Make a Call” module in Make.

When a call is initiated:

  • The module returns a Call ID (CallSid) and an initial call status.

  • At the time of creation, the status is usually queued.

In the workflow, you can then:

  1. Add a Sleep module to wait for a short duration.

  2. Use the Get a Call module with the previously returned Call ID.

  3. Retrieve the updated call status.

This status will indicate whether the call was:

  • completed

  • no-answer

  • busy

  • failed

Based on this status, the Google Sheet can be updated accordingly. The monitoring scenario mentioned earlier can then reschedule the call after 5 minutes if needed, implementing the retry logic.


We hope this clarifies the approach. Please refer to the Twilio documentation below for more details:

https://www.twilio.com/docs/voice/twiml
https://www.twilio.com/docs/voice/api/call-resource

If you have any further questions, please let us know.

With regards,
Mohamed Jahar

thanks, ui will let you know when i have furhtwr question, but can you help me with the best way to have the trials in 5min interval.