n8n SMS Workflow: Zoho CRM & VoIP.MS
Budget: $30 – $250 CAD
I need an n8n workflow that integrates VoIP.ms with Zoho CRM so contacts in two Zoho modules receive smart, automated SMS texting: I already have started and can do it myself but I want to know cost of outsourcing.
Zoho standard module: Contacts
Zoho custom module: [Custom Module Name] (I will provide API name)
This system must support outbound automation, inbound reply handling, opt-out compliance, and daily VoIP.ms number rotation.
Core Workflow Requirements
1) Triggers (Outbound SMS)
n8n must send an SMS (via VoIP.ms) when any of the following occur in Zoho:
A new contact is created in Zoho
A contact’s status changes
A contact’s scheduled follow-up date/time arrives
A record remains in “Not Contacted” (automation should detect and initiate follow-up)
Only contacts with the following statuses should continue to receive messages:
Interested
Not Contacted
If status is anything else (including opt-out), messages must not send.
2) Daily Number Rotation (VoIP.ms)
Once every 24 hours, the workflow must:
Automatically order/procure a new VoIP.ms number
Route all new outbound messages through that number until the next rotation cycle
This should be built in a way that is easy to modify later (rotation frequency, number type, area code, etc.).
3) Opt-Out / STOP Logic (Inbound Reply)
If an inbound SMS reply contains “STOP” (case-insensitive), the workflow must:
Flag the record as opted out (custom field or Zoho standard field, whichever is best practice)
Change Zoho status to a defined Stop/Do Not Text status
Ensure no further texts are sent to that person (immediately, not “eventually”)
4) Inbound Reply Handling (General)
Any inbound SMS (not just STOP) should:
Update the contact’s status appropriately (example: “Replied” / “Engaged” — I’ll confirm desired values)
Push a notification to a chosen Zoho user (e.g., task, note, or notification workflow—must be clearly implemented and documented)
Build Notes / Maintainability Requirements
This must be structured so I can adjust the system without editing code:
Clear n8n node naming and comments
Message templates editable in one place (preferably via environment variables or a simple config node)
Easy-to-change filters (statuses, follow-up timing, module selection)
Ready to expand later to additional Zoho modules with minimal rework
Deliverables
Fully tested n8n workflow JSON ready to import
A short Markdown walkthrough or PDF explaining:
Required environment variables
API keys / auth setup (Zoho + VoIP.ms)
How to change triggers, filters, timing, and message copy
A quick demo (screenshare recording or screenshots) showing:
Contact created → SMS sent
Reply “STOP” → opt-out applied + status updated in Zoho
Non-STOP reply → status updated + notification sent
Acceptance Criteria (Must Pass)
A new VoIP.ms number is procured daily and used for all sends until the next rotation
Only contacts with status “Interested” or “Not Contacted” continue receiving texts
“STOP” replies immediately halt all messages and flip Zoho status
All four trigger conditions successfully initiate an outbound SMS in testing
Zoho standard module: Contacts
Zoho custom module: [Custom Module Name] (I will provide API name)
This system must support outbound automation, inbound reply handling, opt-out compliance, and daily VoIP.ms number rotation.
Core Workflow Requirements
1) Triggers (Outbound SMS)
n8n must send an SMS (via VoIP.ms) when any of the following occur in Zoho:
A new contact is created in Zoho
A contact’s status changes
A contact’s scheduled follow-up date/time arrives
A record remains in “Not Contacted” (automation should detect and initiate follow-up)
Only contacts with the following statuses should continue to receive messages:
Interested
Not Contacted
If status is anything else (including opt-out), messages must not send.
2) Daily Number Rotation (VoIP.ms)
Once every 24 hours, the workflow must:
Automatically order/procure a new VoIP.ms number
Route all new outbound messages through that number until the next rotation cycle
This should be built in a way that is easy to modify later (rotation frequency, number type, area code, etc.).
3) Opt-Out / STOP Logic (Inbound Reply)
If an inbound SMS reply contains “STOP” (case-insensitive), the workflow must:
Flag the record as opted out (custom field or Zoho standard field, whichever is best practice)
Change Zoho status to a defined Stop/Do Not Text status
Ensure no further texts are sent to that person (immediately, not “eventually”)
4) Inbound Reply Handling (General)
Any inbound SMS (not just STOP) should:
Update the contact’s status appropriately (example: “Replied” / “Engaged” — I’ll confirm desired values)
Push a notification to a chosen Zoho user (e.g., task, note, or notification workflow—must be clearly implemented and documented)
Build Notes / Maintainability Requirements
This must be structured so I can adjust the system without editing code:
Clear n8n node naming and comments
Message templates editable in one place (preferably via environment variables or a simple config node)
Easy-to-change filters (statuses, follow-up timing, module selection)
Ready to expand later to additional Zoho modules with minimal rework
Deliverables
Fully tested n8n workflow JSON ready to import
A short Markdown walkthrough or PDF explaining:
Required environment variables
API keys / auth setup (Zoho + VoIP.ms)
How to change triggers, filters, timing, and message copy
A quick demo (screenshare recording or screenshots) showing:
Contact created → SMS sent
Reply “STOP” → opt-out applied + status updated in Zoho
Non-STOP reply → status updated + notification sent
Acceptance Criteria (Must Pass)
A new VoIP.ms number is procured daily and used for all sends until the next rotation
Only contacts with status “Interested” or “Not Contacted” continue receiving texts
“STOP” replies immediately halt all messages and flip Zoho status
All four trigger conditions successfully initiate an outbound SMS in testing
Related categories:
PHP
CRM
Software Testing
VoIP
Zoho
Software Development
Documentation
Automation
API Integration
n8n