Skip to main content
The way webhook triggers usually work is as follows: On Enable: Use context.webhookUrl to perform an HTTP request to register the webhook in a third-party app, and store the webhook Id in the store. On Handshake: Some services require a successful handshake request usually consisting of some challenge. It works similar to a normal run except that you return the correct challenge response. This is optional and in order to enable the handshake you need to configure one of the available handshake strategies in the handshakeConfiguration option. Run: You can find the HTTP body inside context.payload.body. If needed, alter the body; otherwise, return an array with a single item context.payload.body. Disable: Using the context.store, fetch the webhook ID from the enable step and delete the webhook on the third-party app. Testing: You cannot test it with Test Flow, as it uses static sample data provided in the piece. To test the trigger, publish the flow, perform the event. Then check the flow runs from the main dashboard. Examples:
To make your webhook accessible from the internet, you need to expose your local development instance to the internet, do the following:
  1. Install localxpose.
  2. Follow the documentation to start your first tunnel to localhost:4200.
  3. Copy the tunnel domain, i.e wozcsvaint.loclx.io, and replace the AP_FRONTEND_URL environment variable in packages/server/api/.env with the exposed url, i.e https://wozcsvaint.loclx.io
  4. Go to /packages/react-ui/vite.config.ts, uncomment allowedHosts and replace the value with the same tunnel domain, i.e wozcsvaint.loclx.io.
Once you have completed these configurations, you will be able to test webhook triggers and run published flows that have them.