n8n-nodes-befroosh
v0.2.0
Published
Befroosh custom n8n nodes (SMS providers, etc.)
Maintainers
Readme
n8n-nodes-befroosh
Custom n8n nodes for Befroosh. This package is the home for any n8n node we build; right now it ships the Befroosh SMS node.
Layout
apps/n8n-nodes/
├── credentials/ # one ICredentialType per SMS provider
│ ├── NotrikaSmsApi.credentials.ts
│ ├── BatabjamSmsApi.credentials.ts
│ ├── MeliPayamakSmsApi.credentials.ts
│ └── BatabjamAboardSmsApi.credentials.ts
├── nodes/
│ └── BefrooshSms/
│ ├── BefrooshSms.node.ts
│ └── sms.svg
├── scripts/copy-icons.mjs # copies .svg/.png into dist after tsc
├── tsconfig.json
└── package.json # the "n8n" field registers nodes + credentialsDevelop
pnpm --filter n8n-nodes-befroosh build # tsc → dist + icons
pnpm --filter n8n-nodes-befroosh check-types # type-check only
pnpm --filter n8n-nodes-befroosh dev # tsc --watchAdd another node
- Create
nodes/<MyNode>/<MyNode>.node.tsexporting a class that implementsINodeType(and an icon next to it). - If it needs secrets, add
credentials/<MyApi>.credentials.tsimplementingICredentialType. - Register both in the
"n8n"field ofpackage.json(point at the compileddist/...js). pnpm --filter n8n-nodes-befroosh build.
Befroosh SMS node
One node, Provider dropdown selects which backend SMS service to use. Each provider has
its own credential (shown only when that provider is selected). Request shapes mirror
apps/core/src/providers/sms/services/*:
| Provider | Endpoint | Auth | Operations |
|----------|----------|------|------------|
| Notrika | POST api.notrikaco.ir/api/v1/messages/send/template | X-Api-Key | Send Message, Send OTP |
| Batabjam | POST smsapi.pishgamrayan.com/Messages/Send | Authorization token | Send Message |
| MeliPayamak | GET sms.toolzi.ir/post/Send.asmx/... | username/password in query | Send Message, Send OTP |
| Batabjam Aboard | login /api/login.php → POST /api/send-bulk-sms.php | bearer (from login) | Send Message, Send OTP |
Fields: To (Batabjam/Aboard accept comma-separated numbers), Message (Send Message) or OTP Code (Send OTP). Set the node to Continue On Fail if a send must never break a workflow.
Install into an n8n instance
A custom node has to be loaded by the n8n runtime (it is not importable as a workflow):
- Self-hosted: the package is published to npm as
n8n-nodes-befroosh, so the simplest path is Settings → Community Nodes → Install →n8n-nodes-befroosh. Alternativelynpm i n8n-nodes-befrooshinto~/.n8n/nodes/(or build locally and drop it under~/.n8n/custom/). Restart n8n after a manual install. - Managed/hosted (e.g. koochaa): only works if the host allows custom/community nodes.
If it doesn't, use the HTTP-Request / sub-workflow approach in
Back/integrations/n8n/instead.
