Description
n8n-nodes-subscriby
Verified community node for n8n that drives Subscriby — subscription + access-code monetisation for Telegram communities.
Provides two nodes:
- Subscriby Trigger — starts a workflow when a Subscriby event fires. Covers subscriptions, payments, members, access codes, coupons, plans, projects, project resources, bot connectivity, billing, groups, roles, teams, team members, and member support conversations (102 events total). Uses the
/v1/webhook-subscriptionslifecycle and validates theSB-SignatureHMAC on every request. - Subscriby — action node for every documented route on
api.subscriby.net. Covers 20 resources across creator-facing surfaces (projects, plans, subscriptions, subscribers, members, support conversations, access codes, resources, payment methods), admin surfaces (teams, team members, roles, groups, tokens, webhook endpoints, webhook deliveries, activity log), and read-only data surfaces (analytics, bot status, distribution links).
Installation
Community install (recommended)
Inside n8n:
1. Settings → Community Nodes → Install
2. Enter n8n-nodes-subscriby
3. Confirm and restart n8n
Manual install (self-hosted)
cd ~/.n8n/custom
npm install n8n-nodes-subscriby
Restart the n8n process after install.
Setup
1. Mint an API token at https://app.subscriby.net/settings/tokens. Every token is auto-bound to a team (scope:team:); you pick the abilities it carries. See the ability catalogue for the full list. Minimums per use-case:
– Trigger node — webhook-endpoint:manage. Restrict to a single project by also scoping the token to that project (scope:project:).
– Read-only workflows — combine :view / :view-any abilities for the resources you list or fetch (e.g. project:view-any, project-subscription:view, project-subscription-plan:view, project-access-code:view-any, team-member:view-any, role:view, group:view, activity:read, dashboard:read, distribution:read, billing:read).
– Write workflows — add the matching :create / :update / *:delete abilities (e.g. project:create, project-subscription-plan:update, project-access-code:create, project-resource:delete). Cancelling a subscription is project-subscription:update; banning/kicking a member is project-user:update.
2. In n8n, Credentials → New → Subscriby API and paste the sbt_... token. Leave the base URL at the default unless you are self-hosting.
3. Add a Subscriby Trigger node, pick one or more events, optionally scope to a single project, and activate the workflow. On activation n8n registers the endpoint with Subscriby. Deactivating the workflow deletes the endpoint.
Supported events (102)
The full catalogue is defined in nodes/SubscribyTrigger/events.ts and mirrors the event reference. This table is generated from that file by npm run sync:readme — do not edit it by hand.
| Family | Count | Events |
| —— | —– | —— |
| Subscription | 16 | subscription.activated, subscription.cancelled, subscription.created, subscription.downgraded, subscription.expired, subscription.pastdue, subscription.paused, subscription.reactivated, subscription.refunded, subscription.renewed, subscription.trialconverting, subscription.trialexpired, subscription.trialstarted, subscription.unpaid, subscription.unpaused, subscription.upgraded |
| Billing | 10 | billing.accountlocked, billing.graceperiodwarning, billing.invoicecreated, billing.invoiceoverdue, billing.invoicepaid, billing.paymentfailed, billing.tiercancelled, billing.tierdowngraded, billing.tierupgraded, billing.trial_ending |
| Member | 10 | member.banned, member.churned, member.converted, member.joined, member.kicked, member.removed, member.resourceadded, member.resourceremoved, member.trial_joined, member.unbanned |
| Pass | 8 | pass.holdermissed, pass.holdermoved, pass.holderqueued, pass.holderstranded, pass.windowcancelled, pass.windowclosed, pass.windowopened, pass.windowscheduled |
| Pass Series | 8 | passseries.completed, passseries.legadded, passseries.legcompleted, passseries.legdropped, passseries.legsubstituted, passseries.presaleopened, passseries.purchased, passseries.seatsexhausted |
| Project | 8 | project.archived, project.bot.connected, project.bot.disconnected, project.bot.status_changed, project.created, project.deleted, project.restored, project.updated |
| Coupon | 7 | coupon.activated, coupon.created, coupon.deactivated, coupon.deleted, coupon.exhausted, coupon.redeemed, coupon.updated |
| Plan | 6 | plan.activated, plan.created, plan.deactivated, plan.deleted, plan.sync_completed, plan.updated |
| Support | 6 | support.conversation.assigned, support.conversation.opened, support.conversation.reopened, support.conversation.resolved, support.message.received, support.message.sent |
| Payment | 4 | payment.failed, payment.pending, payment.refunded, payment.succeeded |
| Project Resource | 4 | project.resource.created, project.resource.deleted, project.resource.linked, project.resource.unlinked |
| Team Member | 4 | team.member.invited, team.member.joined, team.member.removed, team.member.role_changed |
| Access Code | 3 | accesscode.expired, accesscode.generated, access_code.redeemed |
| Group | 3 | group.created, group.deleted, group.updated |
| Role | 3 | role.created, role.deleted, role.updated |
| Team | 2 | team.created, team.deleted |
| Total | 102 | |
Supported actions
| Resource | Operations |
| —————- | ——————————————————————————————————————- |
| Project | Create, Update, Archive, Restore, Delete, List, Get, Find by Handle |
| Plan | Create, Update, Publish, Unpublish, Get, List, Delete, Find by Name |
| Subscription | Cancel, Get, List |
| Subscriber | Find by Telegram ID |
| Member | Ban, Unban, Kick, Get, List |
| Support Conversation | List, Get, List Messages, Reply, Resolve, Assign |
| Access Code | Bulk Generate, List, Delete, Preview |
| Resource | Create, List, Get, Unlink, Delete |
| Payment Method | List, Get |
| Distribution | Get Bot Link, Get Portal URL, Get Deep Link |
| Bot | Get Status |
| Analytics | Get Dashboard, Get Earnings, Get Subscribers, Get Transaction Breakdown, Get Plan Performance, List Transactions |
| Activity | List |
| Team | List, Get, Get Current |
| Team Member | List, Get |
| Role | List, Get |
| Group | List, Get |
| Token | List, Get, Revoke |
| Webhook Endpoint | List, Create, Delete, Rotate Secret, Test |
| Webhook Delivery | List |
Every mutation automatically sends a fresh Idempotency-Key header so node re-runs never double-fire.
Development
npm install
npm run build # compile TS + copy icons
npm run dev # watch mode
npm run lint
To test against a local n8n:
npm link
cd ~/.n8n/custom
npm link n8n-nodes-subscriby
n8n start
Links
License
MIT