A build-to-order Frappe app that wires Twilio SMS, OTP/2FA and voice calling directly into ERPNext, triggered by document events and linked to your CRM and notification stack. ECOSIRE scopes, builds, installs and supports it for your instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that wires Twilio SMS, OTP/2FA and voice calling directly into ERPNext, triggered by document events and linked to your CRM and notification stack. ECOSIRE scopes, builds, installs and supports it for your instance.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
Standard ERPNext can email a customer when a Sales Order is submitted, but it has no first-class way to text them, send a one-time passcode, or place and log a phone call. Teams end up copy-pasting numbers into the Twilio console, running SMS from a disconnected script, and logging calls by hand in a comment field — so delivery updates arrive late, OTP flows live outside the ERP, and call history never lands on the customer's record. ERPNext's native Notification DocType stops at email and system alerts; there is no built-in SMS provider abstraction wired to Twilio, no click-to-call, and no inbound-call capture.
Standalone Frappe app installed via `bench get-app` / `bench install-app`, isolated from your ERPNext core so upgrades stay clean
`Twilio Settings` single DocType holding Account SID, Auth Token (Password field), messaging service SID and caller ID — no credentials in code or plaintext
Outbound SMS triggered from `hooks.py` `doc_events` (e.g. `on_submit` of Sales Order, Delivery Note, Payment Entry) or from native Notification rules
`SMS Template` DocType with Jinja rendering against the triggering document, so texts pull live field values (order no, amount, tracking link)
OTP/2FA generation and verification via whitelisted methods with per-user rate limiting, short TTL and single-use enforcement
Click-to-call button on Contact, Lead and Customer forms via a client script calling a whitelisted server method (agent-first dial through Twilio REST API)
ECOSIRE builds a proper Frappe app (installed with bench get-app / bench install-app) that treats Twilio as a first-class channel inside ERPNext. We add a Twilio Settings single DocType to hold your Account SID, Auth Token (stored as a Password field, never plaintext), messaging service SID and caller ID; an SMS Log and Call Log DocType to persist every outbound and inbound event with delivery status; and configurable SMS Template records with Jinja rendering against the source document. Outbound SMS fires from hooks.py doc_events (for example on_submit of Sales Order, Delivery Note or Payment Entry) or from Notification rules, so a text goes out the moment the document changes state. OTP/2FA generation and verification run through whitelisted server methods with rate limiting and short TTL, callable from both server scripts and client scripts.
On the voice side we wire Twilio Programmable Voice so users get a click-to-call button on Contact, Lead and Customer forms — a whitelisted method places the call via the Twilio REST API and dials the agent first, then the customer. Inbound calls hit a Twilio webhook we expose as a whitelisted endpoint; we match the caller ID against existing Contacts/Leads, create or update a Call Log, and (where you use ERPNext/Frappe CRM) link it to the relevant record and open a follow-up task. Delivery-status and call-status callbacks from Twilio update each log row asynchronously via the background job queue, and a scheduler event reconciles any events the webhook missed. If you run WhatsApp on the Twilio channel, we route templated WhatsApp messages through the same sending pipeline and settings.
Everything respects ERPNext's permission model: sending, viewing logs and managing Twilio Settings are gated behind dedicated roles and role profiles, so agents can click-to-call without seeing your credentials. All events are queryable through the standard Frappe REST API and report views, and the app is built and tested against ERPNext/Frappe v15 and v16.
Because this is build-to-order, nothing ships as an instant download. After a short scoping call we confirm exactly which document events trigger SMS, your OTP and call-routing rules, and your Twilio account details, then build against a staging copy of your ERPNext. Typical delivery is 2 to 4 weeks from confirmed scope. You get the installable source for your version, UAT on staging, a go-live with rollback plan, and a support window afterward.
Wants customers texted automatically when orders are confirmed, dispatched or delivered — driven by ERPNext document events, not manual copy-paste into the Twilio console.
Needs click-to-call from Lead and Customer records with every inbound and outbound call automatically logged against the right CRM record and a follow-up task created.
Responsible for a clean, upgrade-safe install: a separate Frappe app, credentials stored securely, role-gated access, and behavior tested against v15/v16 before it touches production.
Requires OTP/2FA for sensitive actions with rate limiting and audit trails, plus signature-validated inbound webhooks so only genuine Twilio callbacks are accepted.
Buy the license on ecosire.com and download the Twilio SMS & Voice Integration for ERPNext app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Twilio SMS & Voice Integration for ERPNext and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| SMS on document events | Fires from hooks.py doc_events on the exact DocTypes and states you choose | Possible but you build the event wiring and Twilio abstraction yourself | Often generic send-only, rarely mapped to your specific document workflow | |
| OTP / 2FA sending | Whitelisted methods with rate limiting, short TTL and single-use enforcement | Must design token store, TTL and rate limiting from scratch | Sometimes bundled, sometimes not, with variable security controls | |
| Click-to-call & inbound logging | Buttons on Contact/Lead/Customer plus signature-validated inbound webhook to Call Log | Full Twilio Voice + webhook build on your own time | Voice often unsupported or an add-on; inbound rarely captured | |
| CRM linkage | Activity linked to matched Lead/Customer with optional auto follow-up task | You write the caller-ID matching and linking logic | Linkage inconsistent; often just a raw log table | |
| Credential security & permissions | Password-field storage, dedicated roles/role profiles, agents never see secrets | Depends entirely on your implementation discipline | Varies; some store keys in plain fields or site config | |
| Reliability (status callbacks) | Async job queue processing plus a scheduler reconciliation for missed events | You build queueing, retries and reconciliation yourself | Often fire-and-forget with no delivery reconciliation | |
| Version support | Built and tested for ERPNext/Frappe v15 and v16 | Whatever you target and maintain | May lag current releases or break on upgrade | |
| Ownership & support | Full git repo handover, docs, training and a support window | You own it and all its maintenance | Vendor-locked; support and roadmap out of your control |
No. This is a build-to-order engagement. ECOSIRE builds the Frappe app against your ERPNext version and your specific trigger events, then installs and supports it. There is no instant download — the code is tailored to your instance and Twilio account.
Typical delivery is 2 to 4 weeks from confirmed scope. After the scoping call we lock down which document events trigger SMS, your OTP and call-routing rules, and your Twilio details, then build and test on a staging copy before go-live. Timelines depend on how many trigger events and CRM linkages you need.
A Twilio account with an Account SID, Auth Token, at least one SMS-capable number (or messaging service) and a voice-capable caller ID. For WhatsApp you need an approved Twilio WhatsApp sender. We guide you through provisioning and configure the webhooks and messaging service during the build.
We build and test against ERPNext/Frappe v15 and v16. If you run an older version we will discuss it on the scoping call, but the app is written and validated for the current supported releases.
Every engagement includes a post-go-live support window for bug fixes and configuration tweaks. Beyond that we offer ongoing support and can adapt the app when you upgrade ERPNext, add new trigger events, or extend it to more DocTypes. You also receive the full git repository so your own team can maintain it.
Yes. The Auth Token is stored in a Frappe Password field (encrypted at rest), never hardcoded. Access to Twilio Settings is restricted to a dedicated admin role, and agents can click-to-call or send SMS without ever seeing the credentials. Inbound webhooks are validated against Twilio's request signature.
Yes. Inbound calls hit a signature-validated webhook, we match the caller ID against existing Contacts and Leads, create or update a Call Log, link it to the relevant CRM record, and can auto-create a follow-up task. Outbound click-to-call activity is logged the same way.
A build-to-order Frappe app that wires Twilio SMS, OTP/2FA and voice calling directly into ERPNext, triggered by document events and linked to your CRM and notification stack. ECOSIRE scopes, builds, installs and supports it for your instance.