Cara Balas WA Otomatis dengan Workflow Automation
Tutorial auto reply WhatsApp dengan workflow automation. Zapier, Make, n8n. Connect semua tools bisnis. Panduan lengkap!
Workflow automation = WhatsApp + semua tools kamu!
Connect WhatsApp auto reply dengan Google Sheets, CRM, email, Slack, dan tools lainnya menggunakan Zapier, Make, atau n8n.
Apa Itu Workflow Automation?
🔄 KONSEP:
TRIGGER (WhatsApp):
Pesan masuk / order / keyword
→ ACTION (Tools lain):
- Simpan ke Google Sheets
- Create contact di CRM
- Kirim notifikasi Slack
- Trigger email sequence
- Update databasePlatform Options
📊 PERBANDINGAN:
ZAPIER:
✅ Paling mudah dipakai
✅ 5000+ app integrations
✅ No-code friendly
❌ Mahal untuk volume tinggi
💰 Free: 100 tasks/month
MAKE (INTEGROMAT):
✅ Visual workflow builder
✅ Lebih murah dari Zapier
✅ Complex logic support
❌ Learning curve lebih tinggi
💰 Free: 1000 ops/month
N8N:
✅ Open source (self-hosted = free)
✅ Full control
✅ No limits
❌ Perlu technical skill
❌ Perlu server sendiri
PIPEDREAM:
✅ Developer friendly
✅ Code + no-code
✅ Generous free tier
❌ Kurang populerSetup Zapier + WhatsApp
Trigger: New WhatsApp Message
📋 SETUP ZAPIER:
1. Create New Zap
2. Trigger App: Webhooks by Zapier
→ Catch Hook
→ Copy webhook URL
3. Di WhatsApp bot kamu:
Kirim data ke webhook URL saat ada pesan
4. Test trigger dengan kirim pesan
5. Zapier akan capture data structureWebhook dari Bot:
javascript
// Di WhatsApp bot kamu
const ZAPIER_WEBHOOK = 'https://hooks.zapier.com/hooks/catch/xxx/yyy';
async function sendToZapier(messageData) {
await axios.post(ZAPIER_WEBHOOK, {
phone: messageData.from,
name: messageData.customerName,
message: messageData.text,
timestamp: new Date().toISOString(),
type: messageData.type
});
}
// Setiap ada pesan masuk
sock.ev.on('messages.upsert', async ({ messages }) => {
for (const msg of messages) {
// Send ke Zapier
await sendToZapier({
from: msg.key.remoteJid,
customerName: msg.pushName,
text: msg.message?.conversation,
type: 'incoming'
});
// Continue normal handling...
}
});Action: Save to Google Sheets
📋 ZAPIER ACTION:
1. Add Action: Google Sheets
2. Action Event: Create Spreadsheet Row
3. Connect Google account
4. Select spreadsheet & sheet
5. Map fields:
• Column A (Phone): {{phone}}
• Column B (Name): {{name}}
• Column C (Message): {{message}}
• Column D (Time): {{timestamp}}
6. Test & Turn On Zap!Setup Make (Integromat)
Visual Workflow:
📊 MAKE SCENARIO:
[Webhook] → [Router] → [Branch 1: Order keyword]
→ [Google Sheets: Log]
→ [WhatsApp: Send confirmation]
→ [Branch 2: Complaint keyword]
→ [Slack: Notify team]
→ [CRM: Create ticket]
→ [Branch 3: Default]
→ [Google Sheets: Log]Router dengan Filters:
FILTER SETUP:
Branch 1 - Orders:
Condition: {{message}} contains "order" OR
{{message}} contains "beli" OR
{{message}} contains "pesan"
Branch 2 - Complaints:
Condition: {{message}} contains "komplain" OR
{{message}} contains "refund" OR
{{message}} contains "kecewa"
Branch 3 - Default:
Condition: (fallback - no filter)Make HTTP Module untuk WhatsApp:
HTTP REQUEST MODULE:
URL: https://graph.facebook.com/v17.0/{PHONE_ID}/messages
Method: POST
Headers:
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json
Body:
{
"messaging_product": "whatsapp",
"to": "{{phone}}",
"type": "text",
"text": {
"body": "Terima kasih Kak {{name}}! Order sedang diproses."
}
}Setup n8n (Self-Hosted)
Workflow JSON:
json
{
"nodes": [
{
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"parameters": {
"httpMethod": "POST",
"path": "whatsapp-incoming"
}
},
{
"name": "Switch",
"type": "n8n-nodes-base.switch",
"parameters": {
"rules": [
{
"value": "={{$json.message.toLowerCase().includes('order')}}",
"output": 0
},
{
"value": "={{$json.message.toLowerCase().includes('harga')}}",
"output": 1
}
]
}
},
{
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"parameters": {
"operation": "append",
"sheetId": "YOUR_SHEET_ID",
"range": "Sheet1!A:D",
"values": {
"Phone": "={{$json.phone}}",
"Name": "={{$json.name}}",
"Message": "={{$json.message}}",
"Time": "={{$json.timestamp}}"
}
}
}
]
}Common Workflows
1. Lead to CRM + Email:
WORKFLOW: New Lead Capture
TRIGGER: WhatsApp message contains "info"
ACTIONS:
1. Google Sheets → Append row
2. HubSpot → Create/Update Contact
3. Gmail → Send welcome email
4. Slack → Notify sales channel
5. WhatsApp → Send confirmation2. Order Notification:
WORKFLOW: New Order Alert
TRIGGER: WhatsApp message contains "order"
ACTIONS:
1. Parse order details
2. Google Sheets → Log order
3. Notion → Create order record
4. Telegram → Alert to admin
5. WhatsApp → Send order confirmation
6. Wait 1 hour
7. WhatsApp → Send payment reminder3. Complaint Escalation:
WORKFLOW: Complaint Handler
TRIGGER: WhatsApp message sentiment = negative
OR contains "komplain", "kecewa", "refund"
ACTIONS:
1. Freshdesk → Create ticket (High Priority)
2. Slack → Alert #cs-urgent channel
3. Google Sheets → Log complaint
4. WhatsApp → Send acknowledgment
5. Wait 5 minutes
6. Check: Ticket claimed?
→ No: SMS to CS Manager4. Appointment Booking:
WORKFLOW: Booking System
TRIGGER: WhatsApp message contains "booking"
ACTIONS:
1. Google Calendar → Check availability
2. WhatsApp → Send available slots
3. Wait for reply
4. Google Calendar → Create event
5. Google Sheets → Log booking
6. WhatsApp → Send confirmation
7. Schedule: H-1 → Send reminderAdvanced: Multi-Step with Wait
Zapier Multi-Step:
ZAP STEPS:
1. Trigger: Webhook (new message)
2. Filter: Message = "order"
3. Google Sheets: Create row
4. WhatsApp: Send "Order received!"
5. Delay: 1 hour
6. Filter: Payment not received
7. WhatsApp: Send payment reminder
8. Delay: 6 hours
9. Filter: Still not paid
10. WhatsApp: Send final reminderMake Scenario dengan Sleep:
MAKE MODULES:
[Webhook]
↓
[Google Sheets: Log]
↓
[WhatsApp: Order received]
↓
[Sleep: 1 hour]
↓
[Google Sheets: Check payment]
↓
[Router]
→ [Paid]: End
→ [Not Paid]: [WhatsApp: Reminder]Error Handling
Zapier Error Handling:
ERROR ACTIONS:
1. Turn on "Continue on Error"
2. Add Path: Error handler
3. Actions on error:
• Email to admin
• Slack notification
• Google Sheets: Error logMake Error Handler:
MAKE ERROR HANDLING:
1. Enable "Error Handler" module
2. Error route:
[Error] → [Slack: Alert] → [Airtable: Error log]
3. Set retry policy:
• Max retries: 3
• Retry interval: 60 secondsMonitoring & Logs
Create Activity Log:
javascript
// Log semua workflow executions
const logWorkflowExecution = async (data) => {
await axios.post(GOOGLE_SHEETS_API, {
values: [[
new Date().toISOString(),
data.workflow,
data.trigger,
data.status,
data.duration,
JSON.stringify(data.input),
JSON.stringify(data.output)
]]
});
};Dashboard Setup:
📊 MONITORING:
Zapier:
- Task History di dashboard
- Email alerts on failure
Make:
- Execution history
- Webhook logs
- Error notifications
n8n:
- Execution list
- Workflow analytics
- Custom loggingCost Optimization
💰 TIPS HEMAT:
1. BATCH OPERATIONS
Jangan 1 task per message.
Batch per 5 menit / 10 messages.
2. USE FILTERS
Filter di awal sebelum action.
Jangan trigger semua messages.
3. MINIMIZE STEPS
Gabungkan actions jika bisa.
Kurangi unnecessary steps.
4. SELF-HOST N8N
Free unlimited untuk volume tinggi.
Hanya bayar server (~$5/bulan).
5. HYBRID APPROACH
Critical: Zapier/Make (reliable)
High volume: n8n (cost-effective)Best Practices
DO ✅
- Start simple, scale gradually
- Always add error handling
- Log everything
- Test thoroughly before live
- Monitor usage/costs
- Document workflowsDON'T ❌
- Over-complicate workflows
- Skip error handling
- No logging
- Go live tanpa testing
- Ignore cost monitoring
- Undocumented automationsFAQ
Platform mana yang paling cocok untuk pemula?
Zapier karena paling user-friendly. Make untuk yang mau lebih powerful tapi masih no-code.
Berapa biaya per bulan?
Zapier: $20-50/bulan untuk SMB. Make: $10-30/bulan. n8n self-hosted: ~$5/bulan (server only).
Bisa connect ke WhatsApp Official API?
Ya! Semua platform support HTTP/Webhook, jadi bisa connect ke API manapun.
Kesimpulan
Workflow automation = Superpower!
| Manual Process | Automated |
|---|---|
| Copy-paste data | Auto-sync |
| Forget follow up | Auto-trigger |
| Scattered tools | Connected |
| Time-consuming | Instant |