n8n
Drive Subscriby from n8n — verified node with a 71-event trigger and a full-parity action node covering every REST endpoint, plus HTTP/Webhook fallbacks.
n8n-nodes-subscriby is a verified node on n8n Cloud. It ships:
- A trigger node (n8n.io listing) listing all 71 webhook events from the
WebhookEventcatalog. - An action node (n8n.io listing) covering every write + read operation across 19 resources — full parity with the live
api.subscriby.net/v1surface.
Install
Add the node
Open any workflow, click + to add a node, search Subscriby, and drag it onto the canvas. No package install — verified nodes are available directly from the canvas.
If Subscriby does not appear in search, an admin must enable Verified Community Nodes under Admin Panel → Settings, then restart the instance.
In your n8n instance: Settings → Community Nodes → Install. Enter n8n-nodes-subscriby and confirm. n8n restarts automatically and picks up the new nodes.
CLI alternative:
cd ~/.n8n/custom
npm install n8n-nodes-subscribyRestart the n8n process after installing.
Add the credential
Credentials → New → Subscriby API. Paste an API token minted at app.subscriby.net/settings/tokens. The credential test calls GET /v1/teams/current; a 200 means you're connected.
Required token abilities:
team:view— always (credential test relies on it).webhook-endpoint:manage— for the trigger node (registers + deletes endpoints on workflow activation / deactivation).- Plus any ability each action operation you drop onto the canvas requires (see the ability catalog).
Production tokens start with sbt_live_; non-production (staging, local)
tokens start with sbt_test_. The credential placeholder expects the full
Stripe-style token — copy-paste everything after "Bearer ".
Trigger node — 71 events
Subscriby Trigger starts a workflow when one or more events fire. Multi-select the events, optionally scope to a single project, activate the workflow. On activation n8n calls POST /v1/webhook-subscriptions; on deactivation it calls the matching DELETE. Idempotency keys are generated automatically.
Signature verification (SB-Signature HMAC) is enabled by default — the node validates every inbound request and silently drops mismatches. Turn it off only for local debugging.
Action node — 19 resources
Subscriby exposes every mutation and read route on the API. Pick a Resource then an Operation from the sidebar. Every write auto-sends a fresh Idempotency-Key header — re-running a node is safe (Subscriby returns the cached response for replays within 24h).
Resource + operation matrix
| Resource | Operations |
|---|---|
| Project | List, Get, Create, Update, Archive, Restore, Delete, Find by Handle |
| Plan | List, Get, Create, Update, Publish, Unpublish, Delete, Find by Name |
| Subscription | List, Get, Cancel |
| Member | List, Get, Ban, Unban, Kick |
| Subscriber | Find by Telegram ID |
| Access Code | List, Delete, Bulk Generate, Preview |
| Resource | List, Get, Create, Unlink, Delete |
| Payment Method | List, Get |
| Webhook Endpoint | List, Create, Delete, Rotate Secret, Test |
| Webhook Delivery | List (by event type) |
| Token | List, Get, Revoke |
| Team | List, Get, Get Current |
| Team Member | List, Get |
| Role | List, Get |
| Group | List, Get |
| Activity | List (by subject) |
| Bot | Get Status |
| Distribution | Get Bot Link, Get Portal URL, Get Deep Link |
| Analytics | Get Dashboard, Get Earnings, Get Subscribers, Get Transaction Breakdown, Get Plan Performance, List Transactions |
Error envelope. Any non-2xx response is translated into an n8n
NodeApiError whose message carries error.message and whose description
carries error.remediation + error.docs_url. Branch on error.code
(TOKEN_MISSING_ABILITY, TENANT_MISMATCH, etc.) in downstream IF nodes.
Fallback with built-in nodes
If you cannot use the verified node (locked-down instance, policy that disables community nodes entirely, or older n8n version), the integration still works with n8n's built-in HTTP Request + Webhook nodes.
- Start the workflow with a Webhook node; copy its production URL.
- In Subscriby: Settings → Webhooks → New endpoint. Paste the n8n URL, pick events, save. Store the plaintext
secret. - After the Webhook node add a Function node that verifies
SB-Signatureagainst the secret:
const crypto = require("crypto");
const header = $json.headers["sb-signature"] || "";
const [tPart, v1Part] = header.split(",");
const t = tPart.split("=")[1];
const v1 = v1Part.split("=")[1];
const expected = crypto
.createHmac("sha256", "whsec_your_secret")
.update(`${t}.${JSON.stringify($json.body)}`)
.digest("hex");
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(v1))
? [$json]
: [];Caveat: n8n re-serializes the body. For strict signature verification enable the Webhook node's Raw Body option so you can verify against the exact bytes Subscriby signed.
Use an HTTP Request node with:
- Method:
POST/GET/PATCH/DELETE - URL:
https://api.subscriby.net/v1/<path> - Authentication: Generic Credential Type → Header Auth →
Authorization: Bearer sbt_live_<id>_<secret> - Headers: add
Idempotency-Keywith a fresh UUID on every write
Import the OpenAPI spec (https://api.subscriby.net/openapi.json) into the HTTP Request node for auto-complete on parameters.
Recipes
Prebuilt workflow ideas combining the Subscriby Trigger and action nodes with common downstream integrations. Swap the destination node for whatever service fits your stack.
Revenue ops
New subscriber → welcome email
- Trigger node:
subscription.created. - Action: Mailjet / Resend / Postmark node → send a "Welcome" email using the subscriber's email field.
New subscriber → CRM upsert
- Trigger node:
subscription.created. - Action: HubSpot / Pipedrive / Attio node → create-or-update contact; map plan name + MRR fields.
Churn → Slack alert
- Trigger node:
subscription.cancelledorsubscription.expired. - Action: Slack node → post in
#churn-watchwith subscriber handle, plan, and days-subscribed.
Failed payment → Slack + follow-up email
- Trigger node:
payment.failed. - Action 1: Slack node → post in
#revenue-ops. - Action 2: Wait node (12 hours) → Subscriby action node Get Subscription to re-check state. If still unpaid, send a Mailjet reminder with a payment-update link.
Past due → automated drip
- Trigger node:
subscription.past_due. - Action: Mailjet / ActiveCampaign node → enroll in a sequence: day 1 "payment failed", day 3 "reminder", day 7 "last chance".
Trial converting → personal nudge
- Trigger node:
subscription.trial_converting. - Action: Slack node → DM the creator with the subscriber's profile link so they can intervene before the trial flips to paid.
Access codes
Access-code batch generated → Airtable export
- Trigger node:
access_code.generated. - Action: Airtable node → append a row with batch metadata (plan, count, expiry).
Access-code redeemed → Google Sheet log
- Trigger node:
access_code.redeemed. - Action: Google Sheets node → append a row with subscriber id, plan id, masked code, timestamp.
Gift campaign → generate + DM
- Trigger: Airtable trigger on a new "Influencer List" row.
- Action 1: Subscriby action node Bulk Generate Access Codes (1 code,
export_type=file). - Action 2: Subscriby action node Get Deep Link with
access_code=<code>. - Action 3: Slack / Gmail node → send the influencer the one-tap bot link.
Team + audit
Member banned → Telegram ops chat
- Trigger node:
member.banned. - Action: Telegram node → send to an ops chat with reason + the ban-issuing admin's name.
Team role changed → audit trail
- Trigger node:
team.member.role_changed. - Action: Notion node → append a database entry with old/new role, actor, timestamp.
Suspicious activity → auto-revoke token
- Trigger: Schedule trigger (hourly).
- Action 1: Subscriby action node List Activity, filter for
actor_kind = 'mcp'entries on high-value resources using an IF node. - Action 2: If count exceeds threshold, Subscriby action node Revoke Token on the flagged token id + Slack alert.
Billing
Grace-period warning → creator heads-up
- Trigger node:
billing.grace_period_warning. - Action: Gmail / Mailjet node → email the account owner with a link to
/settings/billingbefore the grace window elapses.
Account locked → ops escalation
- Trigger node:
billing.account_locked. - Action 1: PagerDuty node → create incident.
- Action 2: Slack node → post in
#oncallwith tier cycle and last successful payment date.
Tier upgraded → CRM annotation + welcome pack
- Trigger node:
billing.tier_upgraded. - Action 1: HubSpot node → update lifecycle stage to "paid".
- Action 2: Gmail / Notion node → send the creator the tier-specific onboarding playbook.
Analytics & reporting
Weekly revenue digest
- Trigger: Schedule trigger (every Monday 09:00).
- Action 1: Subscriby action node Get Dashboard with
period=7d. - Action 2: Subscriby action node Get Transaction Breakdown with
dimension=payment_provider,period=7d. - Action 3: Gmail / Slack node → send digest combining both results.
Plan performance → Google Sheet
- Trigger: Schedule trigger (daily).
- Action 1: Subscriby action node Get Plan Performance for each active project (loop with SplitInBatches node).
- Action 2: Google Sheets node → append rows (one per plan) for the finance dashboard.
Month-end close → earnings statement
- Trigger: Schedule trigger (1st of each month 06:00).
- Action 1: Subscriby action node Get Earnings with
granularity=dayfor the previous month. - Action 2: HTTP Request node (DocRaptor) → generate PDF → Gmail node to accounting.
Integrations hygiene
Onboarding checklist
- Trigger node:
member.trial_joined. - Action 1: HubSpot node → start "Trial onboarding" sequence.
- Action 2: Wait node (3 days).
- Action 3: Subscriby action node Get Member to check status; if still trialing, send a reminder.
Test webhook endpoint on deploy
- Trigger: GitHub trigger (release published).
- Action: Subscriby action node Test Webhook Endpoint against every active endpoint (loop with SplitInBatches). Slack node → post summary.
Rotate webhook secret → secret manager
- Trigger: Schedule trigger (every 90 days).
- Action 1: Subscriby action node Rotate Webhook Secret on the endpoint.
- Action 2: HTTP Request node → write the fresh
secretinto HashiCorp Vault / AWS Secrets Manager. - Action 3: Slack node → notify
#platformthat the rotation landed.
Source
The node package is maintained at github.com/envigoinnovations/subscriby-n8n and published to npm as n8n-nodes-subscriby. See the CHANGELOG for per-version deltas.
Verified n8n marketplace listings:
Related
- Webhook event catalog — the 71 event
typevalues the trigger subscribes to. - API authentication — how
sbt_live_/sbt_test_tokens are minted. - Signature verification — HMAC format used by both the native node and the fallback.
- Analytics API — the REST endpoints behind the Analytics resource.
How is this guide?
Zapier
Automate Subscriby workflows with Zapier. 71 event triggers, 24 write actions, 35 searches — every REST route on api.subscriby.net and every event in the webhook catalog. Currently available as an invite-only integration.
Make (Integromat)
Drive Subscriby from Make scenarios using HTTP modules and webhook listeners.