Receiving events
Create a webhook endpoint in FlowSign at Settings > Webhooks (my.flowsign.app/settings/webhooks), or with the API (see Webhooks).- In your scenario, add the Webhooks app’s Custom webhook module and create a new webhook.
- Make gives you a webhook URL. Paste it into the endpoint’s URL field in FlowSign.
- Tick the events to subscribe to (for example Package Completed) and save. FlowSign shows the endpoint’s signing secret once; store it.
POST with three headers and a JSON body:
data differs per event. See Events for every event’s shape.
Verifying the signature
Compute a hex HMAC-SHA256 of the raw body with the endpoint secret and compare it toX-FlowSign-Signature. Make’s built-in sha256 function returns an HMAC when called with a key argument: sha256(text; encoding; key).
Add a Filter on the route straight after the Custom webhook module, with this condition:
1.body is the module’s raw body output and 1.headers its headers, keyed lower-case. Keep the filter’s label something like “Signature valid” so a failed check is obvious in the scenario’s run history, and hold the secret in a Make Data Store or connection rather than typing it into the filter directly.
Calling the API
Use the HTTP app’s Make a request module for any FlowSign API call. Base URL:https://my.flowsign.app. Every request needs:
Create the key at Settings > API keys; see Authentication.
List packages
Method GET, URLhttps://my.flowsign.app/api/v1/packages?status=IN_PROGRESS.
Create a package from a template
Method POST, URLhttps://my.flowsign.app/api/v1/packages/from-template, body type Raw (JSON):
role must match one of the template’s role names and fields keys must match its merge field keys; a mismatch returns 422 with the unknown or missing names in details. status is "draft" (default) or "sent", which sends immediately. externalId is optional and makes the call idempotent: retrying with the same value returns the existing package instead of creating a duplicate.

