Skip to main content
You can automate FlowSign with Make using its own Custom webhook and HTTP modules: trigger a scenario when a package completes, or create and send a package from another system through a scenario.

Receiving events

Create a webhook endpoint in FlowSign at Settings > Webhooks (my.flowsign.app/settings/webhooks), or with the API (see Webhooks).
  1. In your scenario, add the Webhooks app’s Custom webhook module and create a new webhook.
  2. Make gives you a webhook URL. Paste it into the endpoint’s URL field in FlowSign.
  3. Tick the events to subscribe to (for example Package Completed) and save. FlowSign shows the endpoint’s signing secret once; store it.
Every delivery is a POST with three headers and a JSON body:
data differs per event. See Events for every event’s shape.

Verifying the signature

Skipping verification means your scenario acts on any unauthenticated POST to its webhook URL, not just genuine FlowSign deliveries.
Compute a hex HMAC-SHA256 of the raw body with the endpoint secret and compare it to X-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, URL https://my.flowsign.app/api/v1/packages?status=IN_PROGRESS.

Create a package from a template

Method POST, URL https://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.
Creating requires the key’s user to have the send permission; see Errors for the full status code list.

Plan and cost notes

The Custom webhook and HTTP modules used here are part of Make’s free core apps, with no premium gate.