Twilio callback (message status) maxing out requests to my webhook

Hello!

My app uses Twilio to send SMS messages. Each night, it queues notifications to Twilio (using their new “Schedule Messages” functionality) that get released the following day based upon the customer’s desired send time and the recipient’s timezone. To enable statusing of the SMS, each call includes a callback to a webhook in my app that updates the message status accordingly (fires each time the status changes - which is several times per message).

The good news is that the connections work fine and I am receiving the message status as designed. The bad news is that the callback is exceeding the Bubble API rate limit (returning a 429 to Twilio, causing an HTTP retrieval warning on their end). My app continues along, however, I miss some status updates.

I understand that one option is to increase capacity. However, as I scale the app, I remain concerned that the number of status changes x the number of messages will continue to exceed the threshold.

I am looking at the following options:

  • Place a conditional on the webhook API that only fires on “delivered”, “undelivered” and “failed” (I don’t believe this will have an effect given that the webhook still needs to fire)

  • Experiment with the Twilio Callback connection overrides (fragments that allow configuration of elements such as connection timeout, retries, etc.)

Has anyone else in the community run into this problem and come up with a creative solution?

Insights appreciated!

Ken

Solved: I found a great service called Hookdeck (hookdeck.com) that implements a complete webhook infrastructure and includes the capability to rate limit calls to the destination URL (in this case, the workflow in my app that handles the Twilio callback). Happy to discuss my implementation approach with anyone that runs into this issue.

1 Like

I cant seem to get delivery status back from Twilio. Do you mind sharing how you set that up? I have the webhook setup, have the statusCallback set to that URL with initialize…initiate a text and it gets sent ok but nothing.

I created another webhook for errors and added that to Twilio directly where they ask for a webhook and actually got that one to work just fine…though it only seems to update when I respond STOP so its just catching opt outs…which is fine actually as I’m catching the initial errors when sending on the workflow.

Happy to help if I can. Do you see any HTTP errors in the Twilio console when sending a message? Please share a couple of screenshots with your configuration (or share your editor) and I can take a look and see if anything jumps out at me.