Brault Developers
Guides

Connect Make

Trigger Make scenarios from Brault events and call the API from an HTTP module.

Brault has no native Make app yet (it is on the roadmap). You do not need one: Make's webhook trigger receives Brault events, and its HTTP step calls any /v1 route with your API key. This guide wires both directions.

You need an API key with webhooks:manage (to register the endpoint) and files:write (for the import example). Create one under Settings → Developers in the app, see Get an API key.

1. Trigger a Make workflow from a Brault event

Start the scenario with a Webhooks → Custom webhook module. Make gives you a unique https://hook.<region>.make.com/… URL; register it with Brault.

Make learns the payload structure from the first request it receives, so run the scenario once in Run once mode and then send the test delivery below.

Regionalus.api.brault.appfollows the region selector in the top bar
curl -X POST https://us.api.brault.app/v1/webhooks \
  -H "Authorization: Bearer $BRAULT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 8f14e45f-2222-4c1a-9c1e-make-hook" \
  -d '{
    "url": "<the URL Make gave you>",
    "name": "Make workflow",
    "events": ["file.created", "comment.created", "transfer.downloaded"]
  }'

Pick any tokens from the event catalogue, or ["*"] for everything. Then send a test delivery so Make has a sample payload to map fields from:

Regionalus.api.brault.appfollows the region selector in the top bar
curl -X POST https://us.api.brault.app/v1/webhooks/<webhook_id>/test \
  -H "Authorization: Bearer $BRAULT_API_KEY"

Every delivery body is the event envelope: type, occurred_at, actor, and a minimal data snapshot with the ids you need for the next step. Deliveries are at-least-once with no ordering guarantee, so deduplicate on id if a duplicate would matter to your workflow.

Before production traffic, verify the Brault-Signature header: add a module that computes HMAC-SHA256 of <t>.<raw body> with the secret returned when you created the endpoint and compare it with the v1 value, following the steps on the Webhooks page. Route the scenario to stop when they differ.

2. Call the Brault API from Make

Use an HTTP → Make a request module. Add a header Authorization with value Bearer bsk_…, set Body type to Raw and Content type to JSON (application/json).

Map ids from the webhook bundle (for example data.id of a file.created event) into the request body.

The example below imports a file that another step produced (any public http(s) URL) into a Brault library:

Regionalus.api.brault.appfollows the region selector in the top bar
POST https://us.api.brault.app/v1/files/import
Authorization: Bearer <your key>
Content-Type: application/json
Idempotency-Key: <a unique value per run, e.g. the workflow execution id>

{
  "url": "https://example.com/exports/hero-v3.psd",
  "name": "hero-v3.psd",
  "library_id": "<library_id>"
}

The response is 202 with an import object: status starts at queued, and file_id is set once it reaches succeeded. Either poll GET /v1/imports/<import_id> from a later step, or let Brault call you back: subscribe the endpoint from section 1 to import.completed and import.failed (a successful import also emits a normal file.created). Imports are capped at 5 GiB and 2 concurrent per brandspace.

Anything else in the reference works the same way: same base URL, same header, JSON in and out. Use Idempotency-Key on every POST that creates something, so a retried run does not create it twice.

3. Rate limits and errors

Make retries failed HTTP steps on its own schedule. Brault answers 429 with a Retry-After header when a bucket or the monthly quota is hit, and every error carries a request_id you can quote to support. See Rate limits and Conventions.

On this page