Back to Nodes

Brixfit

v1.5.0
Last updated Oct 5, 2026

n8n community node for Brixfit Coaching CRM — manage leads, clients, check-ins, forms and webhooks

200 Weekly Downloads
257 Monthly Downloads

Included Nodes

Brixfit
Brixfit Trigger

Description

n8n-nodes-brixfit

!Brixfit
![npm version](https://www.npmjs.com/package/n8n-nodes-brixfit)
![npm downloads](https://www.npmjs.com/package/n8n-nodes-brixfit)
![n8n community node](https://docs.n8n.io/integrations/community-nodes/installation/)
![License: MIT](LICENSE)
![Changelog](CHANGELOG/v1.4.1-2026-10-05.md)

!Webhooks
!![Website](https://brixfit.app)
APIdocs-Read-0ea5e9?style=for-the-badge”>![API docs](https://brixfit.app/api-docs)
Brixfit — the AI-powered Coaching CRM for fitness coaches.

Automate your entire coaching workflow: capture leads from any source, sync client data, react to check-ins in real time, and connect Brixfit to 400+ apps inside n8n.

—

What is Brixfit?

Brixfit is an AI-powered coaching CRM built for fitness and health coaches. It manages leads, clients, check-ins, workout plans, diet plans, progress photos, and automated health reports — all in one place.

This node lets you connect Brixfit to any tool in your n8n workflow.

—

Nodes Included

| Node | Type | Description |
|——|——|————-|
| Brixfit | Action | Perform operations on leads, clients, check-ins, forms and webhooks |
| Brixfit Trigger | Trigger | Start workflows automatically when events fire in Brixfit |

—

Prerequisites

  • A Brixfit account (coach plan)
  • An API key — generate one at Brixfit → Developer → API Keys and give it only the permissions your workflows need
  • n8n v1.0.0 or later
  • —

    Installation

    n8n Cloud / Self-hosted UI (recommended)

    1. Go to Settings → Community Nodes
    2. Click Install
    3. Enter n8n-nodes-brixfit
    4. Click Install and confirm

    Self-hosted (manual)

    Navigate to your n8n installation

    cd /usr/local/lib/node_modules/n8n

    Install the package

    npm install n8n-nodes-brixfit

    Restart n8n

    —

    Setup

    1. Add Brixfit credentials

    In n8n, go to Credentials → New and search for Brixfit API.

    | Field | Value |
    |——-|——-|
    | API Key | Your key from Brixfit → Developer → API Keys |
    | Base URL | https://brixfit.app (leave as default) |

    Click Save — n8n verifies the key against your Brixfit account and tells you immediately if it is wrong. That is the whole setup: no webhook secrets, no IDs to copy.

    When you create the key in Brixfit, pick the permissions it needs:

    | Preset | Use it for |
    |——–|———–|
    | Read-only | Workflows that only read leads, clients, check-ins, forms or reports |
    | Lead capture | Workflows that only create or update leads (website forms, ads) |
    | Full access | Everything, including the Brixfit Trigger, which registers its own webhook |

    Troubleshooting

    | Message | What to do |
    |———|———–|
    | API key not accepted, expired or retired | Create a new key in Brixfit → Developer → API Keys and update the credential |
    | The API key is not allowed to do this | The message names the missing permission. Create a key that includes it |
    | Rate limit reached | The node already waited and retried. Slow the workflow down (Loop Over Items with a Wait) |
    | "x" is required | Your lead form asks for that question. The message lists every missing field — pass a value, or make the question optional in Forms → Lead form |
    | Field list looks out of date | Click Refresh next to the fields after editing your form |
    | Connection test can’t be completed | Make sure Base URL is https://brixfit.app and that you are on the latest Brixfit and node version |

    2. Add the Brixfit node to a workflow

    Drag the Brixfit node from the node panel and select your resource and operation.

    3. Add the Brixfit Trigger (for event-driven workflows)

    Drag Brixfit Trigger as the first node in your workflow:

    1. Select the events you want to listen for
    2. Activate the workflow — n8n automatically registers the webhook in Brixfit and stores the signing secret

    That’s it — no manual copy-paste. When you deactivate the workflow, the webhook is automatically removed from Brixfit.

    > Development note: Brixfit requires HTTPS webhook URLs. For local development use a tunnel such as ngrok to expose your n8n instance.

    —

    Operations

    Lead

    | Operation | Description |
    |———–|————-|
    | Get Many | List leads with optional search, status filter, sort, and pagination. Enable Return All to auto-fetch every page. |
    | Get | Fetch a single lead by ID |
    | Create | Create a new lead — fields are dynamically loaded from your Brixfit account. Response includes plan-gated computed metrics (BMI, BMR, TDEE, body fat %). |
    | Update | Update lead fields — same dynamic field loading |
    | Update Status | Move a lead to a different pipeline status — stages are loaded dynamically from your account |
    | Get Health Report | Fetch the most recent AI health report for a lead, including plan-gated metrics and PDF download URL |
    | List Health Reports | Paginated list of all AI health reports for a lead |
    | Delete | Permanently delete a lead |

    > Dynamic fields: Create and Update load the questions from your live Brixfit lead form — labels, dropdown choices, and required markers (*). Click Refresh after editing the form. Required rules follow your form, so you are only asked for what a visitor would be asked for, and any error lists the exact missing fields.
    >
    > Plan-gated metrics: Health metrics (BMI, BMR, TDEE, body fat %) in Create and health report responses are filtered to only include what your Brixfit plan allows.

    Client

    | Operation | Description |
    |———–|————-|
    | Get Many | List clients with search and status filter. Enable Return All to auto-fetch every page. |
    | Get | Fetch a single client by ID |
    | Update | Update account status, goal, phone, end date or notes |
    | Get Onboarding | Onboarding status for a client: missing profile fields, whether your onboarding form is pending, and past submissions |
    | Deactivate | Deactivate a client account |
    | Get Check-ins | Fetch all check-ins for a specific client, with status and date filters |
    | Get Health Report | Fetch the most recent AI health report for a client, including plan-gated metrics and PDF download URL |
    | List Health Reports | Paginated list of all AI health reports for a client |

    Form

    | Operation | Description |
    |———–|————-|
    | Get Many | List your lead and onboarding forms (slug, public URL, enabled state, question count) |
    | Get | Full definition of the lead or onboarding form: every question with its key, input type, choices, required flag, condition and mapped system field |

    Check-in

    | Operation | Description |
    |———–|————-|
    | Get Many | List check-ins with filters (status, date range, client ID, pagination). Enable Return All to auto-fetch every page. |
    | Get by Client | Fetch all check-ins for a specific client ID |

    Webhook

    Most workflows don’t need this resource — the Brixfit Trigger registers and removes its own webhook. Use it to manage webhooks from a workflow.

    | Operation | Description |
    |———–|————-|
    | Get Many | List all registered webhooks |
    | Create | Register a new webhook endpoint (all 10 events supported) |
    | Enable / Disable | Toggle a webhook’s is_active state without deleting it |
    | Delete | Remove a webhook |

    —

    Trigger Events

    The Brixfit Trigger node starts your workflow when any of these events fire:

    | Event | When it fires |
    |——-|————–|
    | lead.created | A new lead is added |
    | lead.updated | A lead’s details are changed |
    | lead.status_changed | A lead moves to a new pipeline stage |
    | lead.converted | A lead is converted to a client |
    | lead.deleted | A lead is deleted |
    | lead.call_booked | A lead books a call through your lead form’s after-submit scheduler (Cal.com / Calendly) |
    | client.created | A new client is onboarded |
    | client.updated | A client’s details are updated |
    | client.deleted | A client account is deleted |
    | checkin.submitted | A client submits a check-in |

    All payloads are HMAC-SHA256 signed. The node verifies signatures using the original raw bytes and constant-time comparison — tampered or unsigned requests are rejected with HTTP 401. Replay protection rejects requests older than 5 minutes (configurable). The signing secret is stored internally after auto-registration; you never need to copy it manually.

    Output format: payload fields are flattened to the top level so you can use $json.name, $json.email, $json.id directly in expressions. Meta fields are available as $json.event, $json.timestamp, $json.coachid.

    —

    Ready-Made Workflows

    Import any of these from the workflows/ folder (n8n → Workflows → ⋯ → Import from file), pick your Brixfit and email (SMTP) credentials, set your own email address, and activate.

    | File | What it does |
    |—|—|
    | 1-welcome-new-leads.json | Emails every new lead a welcome message (skips leads without an email) |
    | 2-checkin-submitted-summary.json | Emails you each submitted check-in with the client name and every question and answer |
    | 3-daily-overdue-checkins.json | Every morning, one email listing clients with an overdue check-in |
    | 4-weekly-checkins-to-review.json | Every Monday, one email listing submitted check-ins you have not reviewed |

    Developers: npm run build && node scripts/validate-workflows.js checks every template against the node definitions.

    Example Workflows

    1. Capture leads from any form → Brixfit

    Typeform / Tally / Facebook Lead Ads Trigger
      → Set (map name, email, phone, goal)
      → Brixfit: Create Lead
    

    2. New lead → WhatsApp + Google Sheets

    Brixfit Trigger (lead.created)
      → WhatsApp: Send welcome message to lead
      → Google Sheets: Append row
    

    3. Client check-in submitted → Slack notification

    Brixfit Trigger (checkin.submitted)
      → Slack: Send message to #coach-alerts
            "{{ $json.client_name }} just submitted their check-in"
    

    4. Daily check-in report → Email

    Schedule Trigger (every day at 9am)
      → Brixfit: Get Many Check-ins (from_date: today, status: pending)
      → Gmail: Send summary to coach
    

    5. Lead status changed → CRM sync

    Brixfit Trigger (lead.status_changed)
      → IF (status == "converted")
          → HubSpot: Create Contact
          → Slack: Notify sales team
    

    6. Auto-assign workout when client is created

    Brixfit Trigger (client.created)
      → Brixfit: Get client details
      → HTTP Request: Trigger internal workflow
    

    —

    Data Handling

    When creating or updating leads via this node, Brixfit automatically:

  • Calculates body metrics (BMI, BMR, TDEE, body fat %) from height, weight, age, gender, and activity level fields — no manual calculation needed
  • Normalizes phone numbers — strips trunk zeros, handles international formats (00XX → +XX)
  • Validates and casts field types — numbers stay numbers, dates become ISO strings, booleans are properly coerced
  • —

    Security

    This node follows security best practices out of the box:

  • HMAC-SHA256 webhook verification — uses raw request bytes and constant-time comparison
  • SSRF protection — Base URL is validated; private/internal network addresses are rejected
  • Path traversal prevention — all ID parameters are validated against an allowlist before use in URLs
  • 30-second request timeout — prevents n8n executions from hanging on slow API responses
  • Live credential testing — API key is verified immediately on Save
  • Least-privilege keys — works with keys limited to the permissions a workflow needs
  • Replay-safe webhooks — verifies Brixfit’s timestamped signature when present
  • Idempotent creates — a retried Lead → Create never makes a duplicate
  • —

    Resources

  • Brixfit website
  • API documentation
  • Developer dashboard (login required — API keys & webhooks)
  • npm package
  • GitHub repository
  • Changelog
  • Report a bug
  • Contact support
  • —

    Changelog

    See the CHANGELOG folder for full version history.

    | Version | Date | Summary |
    |———|——|———|
    | v1.4.1 | 2026-10-05 | API key permissions, no duplicate leads on retry, automatic wait on rate limits, timestamped trigger signature, clearer errors |
    | v1.4.0 | 2026-10-04 | Easier setup, smarter lead fields, Form and Onboarding operations, new events, refreshed icon |
    | v1.3.4 | 2026-06-01 | Fix package bloat: icon resized 1250px→60px (−99.5%), removed duplicate inclusion |
    | v1.3.3 | 2026-05-31 | New icon (PNG), updated API docs URL, support email added |
    | v1.3.1 | 2026-05-31 | Trigger: flat output, replay protection, events auto-sync, options panel, client.deleted event |
    | v1.3.0 | 2026-05-31 | Auto-registration, health reports, plan-gated metrics, Return All, dynamic statuses, 16 bug fixes |
    | v1.2.2 | 2026-03-26 | Webhook Enable/Disable operation — complete API coverage |
    | v1.2.1 | 2026-03-22 | Complete reliability + UI fixes: error surfacing, filter preservation, JSON error handling |
    | v1.2.0 | 2026-03-22 | Security hardening, reliability improvements, credential testing, UI fixes |
    | v1.1.0 | 2026-03-21 | Dynamic lead fields, client update/deactivate, check-in by client |
    | v1.0.0 | 2026-03-21 | Initial release |

    —

    Support

  • Bugs / feature requests: GitHub Issues
  • General support: support@brixfit.app
  • API reference: brixfit.app/api-docs
  • Developer dashboard: brixfit.app/coach/developer

—

Contributing

Pull requests are welcome. For major changes, please open an issue first.

—

License

MIT — © 2026 Jatin Beniwal / Brixfit