Twilio Content Proxy (Temporary)¶
A simple webhook proxy that forwards requests to Twilio's Content API for WhatsApp message template approval. This workflow acts as an intermediary to submit approval requests for WhatsApp business message templates through Twilio's content management system.
Purpose¶
No business context provided yet — add a context.md to enrich this documentation.
This workflow appears to be a temporary solution for submitting WhatsApp message template approval requests to Twilio's Content API. It provides a webhook endpoint that can be called to trigger the approval process for a specific message template named "sifa_v4_biz_days_v1" in the UTILITY category.
How It Works¶
- Webhook Receives Request: The workflow starts when a POST request is made to the webhook endpoint at
/tmp-twilio-content-proxy - Forward to Twilio: The request is immediately forwarded to Twilio's Content API to submit an approval request for a WhatsApp message template
- Template Submission: A hardcoded template approval request is sent with the name "sifa_v4_biz_days_v1" categorized as UTILITY, with category change permissions enabled
Workflow Diagram¶
graph TD
A[WebhookIn<br/>POST /tmp-twilio-content-proxy] --> B[CallTwilioContent<br/>POST to Twilio Content API]
B --> C[Template Approval Request Submitted]
Trigger¶
- Type: Webhook (HTTP POST)
- Path:
/tmp-twilio-content-proxy - Method: POST
- When it fires: Any time a POST request is made to the webhook URL
Nodes Used¶
| Node Name | Type | Purpose |
|---|---|---|
| WebhookIn | Webhook | Receives incoming POST requests and triggers the workflow |
| CallTwilioContent | HTTP Request | Makes authenticated API call to Twilio Content API for template approval |
External Services & Credentials Required¶
Twilio Content API¶
- Service: Twilio Content Management API
- Endpoint:
https://content.twilio.com/v1/Content/HXe4f00212094c3e928380a49a1916064f/ApprovalRequests/whatsapp - Authentication: HTTP Basic Auth
- Required Credential: "Twilio Basic Auth" (Account SID and Auth Token)
Credentials Setup¶
You'll need to configure: - Twilio Basic Auth: Your Twilio Account SID as username and Auth Token as password
Environment Variables¶
No environment variables are used in this workflow. All configuration is hardcoded in the nodes.
Data Flow¶
Input¶
- Webhook receives: Any POST request (payload is not used in current implementation)
Processing¶
- Hardcoded JSON payload sent to Twilio:
1 2 3 4 5
{ "name": "sifa_v4_biz_days_v1", "category": "UTILITY", "allow_category_change": true }
Output¶
- Response from Twilio Content API containing approval request status and details
Error Handling¶
This workflow has minimal error handling: - If the Twilio API call fails, the HTTP Request node will return an error - No retry logic or custom error handling is implemented - Webhook will return the raw response from Twilio (success or error)
Known Limitations¶
- Template details are hardcoded - not dynamic based on input
- No input validation on the webhook
- Single template approval only (sifa_v4_biz_days_v1)
- Temporary solution as indicated by the workflow name
- No error handling or retry mechanisms
- Content ID is hardcoded in the URL
Related Workflows¶
No related workflows identified from the provided context.
Setup Instructions¶
-
Import Workflow
- Import the workflow JSON into your n8n instance
- The workflow will be created with the name "_tmp_twilio_content_proxy2"
-
Configure Credentials
- Create a new "HTTP Basic Auth" credential named "Twilio Basic Auth"
- Set username to your Twilio Account SID
- Set password to your Twilio Auth Token
-
Verify Webhook URL
- Note the webhook URL generated (includes the path
/tmp-twilio-content-proxy) - Test the webhook endpoint is accessible
- Note the webhook URL generated (includes the path
-
Update Content ID (if needed)
- Modify the URL in CallTwilioContent node to use your specific Content ID
- Current ID:
HXe4f00212094c3e928380a49a1916064f
-
Activate Workflow
- Ensure the workflow is activated to receive webhook requests
-
Test the Integration
- Send a POST request to the webhook URL
- Verify the response from Twilio Content API
- Check Twilio console for the approval request status