Automations

Wire BetterUs into anything.

BetterUs talks fluent HTTP — every event has a webhook, every resource has a REST endpoint. That means it works out of the box with Zapier, Make, n8n, Pipedream, IFTTT, and anything else that speaks JSON. No Zapier app to install, no n8n node to download, no waiting for us to build a connector.

Triggers

BetterUs fires webhooks

Six event types — recognition.sent, wolfmode.set, pulse.created, member.joined, checkin.completed, moment.posted. Configure at /admin/integrations/webhooks.

See event payload shapes

Actions

Your tools call our API

REST endpoints for every resource — workspace, members, recognitions, pulses, audit. X-API-Key auth, JSON in JSON out, 120 req/min.

See full API reference

Pick your platform

Setup is the same shape on every platform: BetterUs sends a webhook in, your platform calls the BetterUs API back out. Below are the exact steps for the most common ones.

Zapier

5,000+ app connections. Best for non-technical users — every step is a guided form.

As a trigger (BetterUs → them)

  1. In your Zap, pick Webhooks by Zapier as the trigger.
  2. Choose Catch Hook, copy the unique URL Zapier gives you.
  3. In BetterUs, open /admin/integrations/webhooks → New webhook.
  4. Paste the Zapier URL, pick the events, save.
  5. Trigger one (e.g. send a recognition) — Zapier should detect the sample.

As an action (them → BetterUs)

  1. In your Zap, pick Webhooks by Zapier as the action.
  2. Choose POST.
  3. URL: https://api.workplace.thebetterusproject.com/api/v1/workspace/YOUR_WORKSPACE_ID/recognitions
  4. Headers: X-API-Key: bu_live_xxx (mint at /admin/integrations/api-keys)
  5. Payload type: JSON.
  6. Body: map your trigger fields to fromMemberId, toMemberId, message, pillarId.

Make (Integromat)

Visual scenario builder. More flexible than Zapier for branching logic and loops.

As a trigger (BetterUs → them)

  1. Add a Webhooks module → Custom webhook as the first step.
  2. Click Add → Make generates a unique URL. Copy it.
  3. In BetterUs, open /admin/integrations/webhooks → New webhook.
  4. Paste the Make URL, pick events, save.
  5. Trigger an event in BetterUs — Make captures the structure automatically.

As an action (them → BetterUs)

  1. Add an HTTP module → Make a request.
  2. Method: POST
  3. URL: https://api.workplace.thebetterusproject.com/api/v1/workspace/YOUR_WORKSPACE_ID/recognitions
  4. Headers: X-API-Key: bu_live_xxx
  5. Body type: Raw → JSON
  6. Map upstream fields to the recognition payload shape.

n8n

Self-hostable, fair-source. Best for teams who want to own the automation layer.

As a trigger (BetterUs → them)

  1. Add a Webhook node — set HTTP method to POST.
  2. Copy the test/production URL n8n gives you.
  3. In BetterUs, open /admin/integrations/webhooks → New webhook.
  4. Paste the n8n URL, pick events, save.
  5. Trigger an event in BetterUs — your workflow runs.

As an action (them → BetterUs)

  1. Add an HTTP Request node.
  2. Method: POST
  3. URL: https://api.workplace.thebetterusproject.com/api/v1/workspace/YOUR_WORKSPACE_ID/recognitions
  4. Authentication: Generic credential type → Header Auth → X-API-Key
  5. Body Content Type: JSON
  6. Map fields from the previous node.

Pipedream

Code-first with a visual UI. Best for engineers who want to drop in JS/Python where templates fall short.

As a trigger (BetterUs → them)

  1. Create a new workflow → trigger: HTTP / Webhook.
  2. Copy the unique URL Pipedream provides.
  3. In BetterUs, open /admin/integrations/webhooks → New webhook.
  4. Paste it, pick events, save.
  5. First event captured will define the schema for downstream steps.

As an action (them → BetterUs)

  1. Add an HTTP / Webhook action.
  2. Method: POST
  3. URL: https://api.workplace.thebetterusproject.com/api/v1/workspace/YOUR_WORKSPACE_ID/recognitions
  4. Headers: X-API-Key: bu_live_xxx
  5. Body: drop in a JS step before this if you want to transform — Pipedream's strong suit.

Recipes — triggered by BetterUs

Every recipe starts with a webhook from BetterUs and ends in another tool. Copy the shape, adapt the bits.

  • Slack DM when someone gets a recognition

    1. Trigger: BetterUs `recognition.sent` webhook
    2. Filter: `data.toMemberId == {your member id}` OR `data.toMemberName contains {name}`
    3. Action: Slack → Send DM
  • Salesforce field updates when a rep hits a streak

    1. Trigger: BetterUs `checkin.completed` webhook
    2. Filter: streak >= 7
    3. Action: Salesforce → Update Contact → custom field 'wellbeing_streak'
  • Notion row for every Wolf Mode change

    1. Trigger: BetterUs `wolfmode.set` webhook
    2. Action: Notion → Create Database Item with pillar + setBy + timestamp
  • Email digest when 3+ recognitions land in a day

    1. Trigger: BetterUs `recognition.sent` webhook
    2. Aggregate: count over last 24h
    3. When count crosses 3 → Action: Send email with the recent recognitions

Recipes — triggered by other tools

These start somewhere else and end with a write to the BetterUs API. Mint an API key first at /admin/integrations/api-keys.

  • Auto-recognise on Stripe payment received

    1. Trigger: Stripe — payment_intent.succeeded
    2. Action: BetterUs API → POST /recognitions with `message = 'Booked {{customer}} this morning. Quietly excellent.'`
  • Set Wolf Mode from Google Calendar

    1. Trigger: Calendar event with title 'Wolf Mode: <pillar>' starts
    2. Action: BetterUs API → POST /wolf-mode with `pillar = den|howl|pack|hunt|move`
  • Pulse from a Typeform / SurveyMonkey response

    1. Trigger: New form submission
    2. Action: BetterUs API → POST /pulses with the question + scale

Built something useful?

Send us your scenario / Zap / template and we'll feature it in the recipe library. Other workspaces will thank you.

Email a recipe