We build a SaaS product (think of it as a ticketing system like Zendesk) and are at a stage where we’re building a lot of integrations for our customers (think Zendesk → Slack, Zendesk → CRM, Zendesk → our-customer’s-custom-software, etc).
Our product has a REST API interface and is capable of publishing webhooks. We simply build AWS Lambda applications for each of our integrations solutions, basically consuming our product’s webhooks, doing some transformations, then making external API calls and then updating our system again via API. And then when we want to pull updates from a 3rd party system, we either have pollers setup on Lambda or expose API Gateway endpoints that are registered on their systems to send us updates: we consume these, make necessary transformations and then subsequently call our product APIs to make the necessary updates.
So I’m wondering if Temporal would be a good solution for us to build out these integration workflows? Our platform itself is built with Ruby on Rails and we don’t have any control over the 3rd party systems we will be invoking. So Temporal workers would just be orchestrating API calls.
I’m guessing we would need some component that can consume webhooks from our application and then initiate Temporal workflows as I understand there’s no way to expose a HTTP endpoint directly from Temporal server (I’m very new to this, so I might be wrong).
What are the tradeoffs we should be considering here? Is this something other teams are doing? Happy to provide further details if that would help.
(Also, is this the correct forum to ask such questions or should I go on Slack or book office hours?)