Welcome! Log In Create A New Profile

Advanced

Webhooks, WebDev, SAAS

Posted by DerekM 
Webhooks, WebDev, SAAS
February 26, 2020 04:24AM
This is pretty much a concept question.

Problem: I have an Appointments module. I am integrating SMS appointment reminders, and I kinda had the idea the 2-way SMS would be no big deal.

However, my WebDev project is deployed as a SAAS application.

I am (trying to) use Twilio. It all looks wonderful - except for the webhooks issue. It had not occurred to be that SAAS has a problem with webhooks. Webhooks it seems - is a very big deal other than my 2-way appointment SMS project.

Anyway - as I cannot provide a URL for a SAAS customer - I have started looking at what's out there.

The best approach that I can think of at the moment - is to use an Azure Function for the webhook. Then (hopefully) - query this azure function from an event in the Appointments module - and get back the JSON for the SAAS Customer.

I "think" this might work (there is a little bit of documentation in Twilio regarding "Serverless Webhooks with Azure functions and C#". [www.twilio.com]


I have to plod on investigating this - but it is quite time-consuming.

So - my real questions are (a) has anyone been down this track with Webhooks for SAAS and/or (b) anyone got any insights or comments regarding this approach even if you have never implemented webhooks.

Thanks for any comments or feedback.

Regards,
Derek
Re: Webhooks, WebDev, SAAS
February 26, 2020 11:48AM
Hi Derek,

I have solved things like this in the past by using Windev.
Provided you are running Windows servers you could consider:
- Creating a Windev program that sends the appointments, install on your server and use the Windows Scheduler to start this program periodically.
- If you need continuous checking, then you can create a service of this Windev program and run it on your server.

Regards,
Piet
Re: Webhooks, WebDev, SAAS
February 27, 2020 07:29PM
Hi Piet

Yes, thanks for the feedback.

WIth SAAS though, the problem is a little more complex (a number of clients may be hosted on the same VM - which is Windows btw).

Twilio is a web app. It is easily implemented in WebDev - and is used to send out appointment reminders. However, if the recipient replies "NO" (cannot attend the appointment) - Twilio can send the response with a webhook that enables the sender to update their appointment system. For a stand-alone server - no problem. With SAAS - there is no unique public URL for the webhook specific to the sender.

I think the approach that I outlined will work. For now, likely the only possible approach. The 'serverless webhook' eliminates dependencies in the workflow (always available). The serverless webhook has to log all responses in a persistent datastore. Then the client system has to initiate a query to the serverless app to retrieve any email responses (for their system) before being able to update their appointment book. We loose the immediacy of a direct response event - but for a low volume appointment system - the event to check email logs can be triggered at various points where the system is checking the appointments schedule.

Still working my way through this. Should not be too hard (my biggest problem is incomplete and out-of-date documentation - the twilio and azure environments are pretty complex and step-by-step instructions to get started are essential).

Regards,
Derek
Author:

Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: