Remove Endpoint Workflow from Experience

Hi,

I hope this isn’t a crazy question, but here it goes:
We want to remove certain types of workflows from the Experience section and move them to the Application section of Losant, but still have those workflows triggered by an endpoint and respond using the endpoint.
Essentially, we want to control the versioning and release of the workflows separately from the versioning and release of whole Experience.

  1. Is this possible?
  2. What are the known pitfalls of this, if any?

Thanks in advance,
Stephen

TL:DR; I wouldn’t recommend it. See below for details.


Is this possible?

It is possible, yes - but it will take a little more work on your end. The Endpoint Trigger and the Endpoint Reply Node - as well as all the other nodes available in experience workflows - are available in application workflows.

However, the trigger requires also choosing an experience version to fire against. So if you had an application workflow set up to handle requests to GET /my-endpoint in experience version 1.0.0, and you published a new version 1.1.0 and pointed your production domain to the new version, you would also have to edit the application workflow’s Endpoint Trigger to now respond to GET /my-endpoint requests hitting version 1.1.0.

What are the known pitfalls of this, if any?

In addition to the headache described above, experience workflow executions are processed in a separate, higher priority pool of workflow runners than application workflows. So while in most cases there would be little to no difference between response times, you do open yourself up to at least an increased probability of downgraded performance for your end users.


For these reasons, most people only use Endpoint Triggers in application workflows to handle global behavior unrelated to replying to the request - such as logging all user requests to a third-party application monitoring service.