1. Meta
Make the chat-bot in Dialogflow CX able to respond to users in WhatsApp, using the official WhatsApp Cloud API from Meta (without third-party services like Twilio or 360Dialog).
2. What the client does
- I create and configure the application in Meta for Developers
- I add the WhatsApp product.
- I obtain the necessary data: Access Token, Verify Token, Phone Number ID
- I provide this data to the freelancer for connection.
3. What the freelancer needs to do
- Create a small server (middleware) that will act as a "translator" between WhatsApp and Dialogflow.
- Set up two main routes:
GET /wa — for connection verification (Meta checks the Verify Token and returns a Challenge).
POST /wa — receives messages from WhatsApp, sends them to Dialogflow, gets a response from the bot, and returns that response back to WhatsApp.
- Connect the server to Dialogflow CX via the official API (detectIntent).
- Connect the server to the WhatsApp API via https://graph.facebook.com/vXX.X/{PHONE_NUMBER_ID}/messages.
- Deploy the server in Google Cloud Run (HTTPS, access "without authorization").
- Provide me with a public link to the server (so I can add it in the Meta Developer App in the Webhook URL field).
- Test the operation with a test WhatsApp number.
4. How it works
- A person sends a message in WhatsApp.
- Meta forwards this message to your server.
- The server takes the text and sends it to Dialogflow CX.
- Dialogflow generates a response.
- The server receives this response and sends it back to the user in WhatsApp.
- The user sees the bot's response in the chat.
5. Implementation requirements
- The server must operate 24/7 and accept requests via HTTPS.
- Use Node.js (Express) or Python (FastAPI / Flask).
- The code must be tidy, with short comments.
- Tokens (Access Token, Verify Token, Dialogflow key) must be stored as environment variables (not in the code).
6. Work result (what I should receive)
✅ A working server in Cloud Run that:
accepts messages from WhatsApp,
forwards them to Dialogflow,
returns responses to WhatsApp.
✅ A link to the server (Callback URL) that I will insert into the Meta Developer App.
✅ A repository with the code (GitHub or GitLab) with instructions on how to run it.
✅ A README file with a brief description:
- how to set up the server,
- how to connect to Meta,
- how to test.
7. Example data flow
WhatsApp → Meta Webhook → Middleware Server → Dialogflow CX → Middleware Server → WhatsApp