This workflow powers an AI calling assistant end-to-end.
The webhook acts as the entry point. When a user submits their phone number from the web form, the webhook is triggered.
The phone number and user data are stored in Supabase, which acts as the database.
From Supabase, we fetch and normalize phone numbers. The Array Aggregator processes contacts individually.
Make sure your Supabase has the limits as you require. In our case, we used these 
This is for the array aggregator
The Tools module contains the assistant’s behavior and speaking logic — what the assistant should say, how it should respond, and the overall context of the call.
The AI assistant is configured to speak both Hindi and English.
make sure to input your assistant ID

This information is then parsed and structured using JSON so it can be correctly understood by the calling system.
HTTP module
-triggers Vapi AI, which actually places the outbound AI call to the user.
For HTTP make sure you have an auth header where you mention your private vapi key. and the request content had this
{
"customer": {
"number": "{{4.value}}",
"name": "{{3.array[].name}}",
"extension": ""
},
"phoneNumberId": "<mention your own , available on vapi",
"assistant":{{8.json}}
}

Once the call is completed:
A confirmation email is sent to verify whether the user’s query has been fulfilled.
A message (SMS/WhatsApp) is sent to confirm completion.
If required, a Google Calendar event or meeting is automatically created based on the call outcome.