https://retellai.com/?utm_source=discord&utm_medium=seo logo
I can read from a google sheet using Make
# ❓・ai-evy-support
t
@AI Evy I can read from a google sheet using Make.com to feed phone numbers into the Retell module to make batch calls. How do I then update the row being called in Google sheet with the values gathered in dynamic variables during the call?
a
Thanks for tagging me @TheScrutiniser. I'll look through relevant sources and get back to you shortly.
### Answer To update your Google Sheet with values gathered during calls, you have two main approaches: ## Option 1: Use Post-Call Analysis with the Get Call API After the call ends, you can use the "Get a Call" module in Make.com to retrieve call details including conversation data, analysis information, and post-call summary. [(1) ](

▾

) The workflow would be: 1. Trigger batch calls from your Google Sheet 2. Use a webhook to receive the
call.ended
event 3. Call the Get Call API with the call ID to retrieve the call details and analysis 4. Update your Google Sheet row with the retrieved data ## Option 2: Use Custom Functions During the Call You can collect information during the call and send it to Google Sheets using a custom function through a webhook. [(2) ]() This involves setting up a custom function in your agent that triggers a Make.com webhook, which then updates your Google Sheet in real-time as the call progresses. ## Key Consideration For the batch call approach, you'll need a way to correlate which call corresponds to which row. When creating batch calls, each task can include
retell_llm_dynamic_variables
to personalize the call. [(3) ]() You could include a row identifier as a dynamic variable that gets passed back through your webhook or post-call analysis. Check out these potentially useful sources: - [Make x Retell Tutorial | How to trigger a call from google sheet](

▾

) - [Dynamic Variables]() - [Create Batch Call]() Would you like me to provide a general answer with more specific implementation details?
​ To learn more, see the sources I considered: [[1] Make x Retell Tutorial | How to trigger a call from google sheet](

https://www.youtube.com/watch?v=pjm8y3uILg4▾

) [[2] Help please connect Retell to Google sheets](https://discord.com/channels/1186424376300679209/1392503734847799427) [[3] Create Batch Call](https://docs.retellai.com/api-references/create-batch-call) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
t
@AI Evy yes
a
Thanks for the follow-up, @TheScrutiniser. I'll get back to you soon.
### Answer Here's a more detailed implementation approach for updating Google Sheets with call data: ## Implementation Steps ### 1. Include a Row Identifier in Your Batch Call When creating your batch call tasks, include a unique row identifier as a dynamic variable so you can match the call back to the correct Google Sheet row: [(1) ]()
Copy code
javascript
{
  "from_number": "+14157774444",
  "tasks": [
    {
      "to_number": "+12137774445",
      "retell_llm_dynamic_variables": {
        "row_id": "123",
        "customer_name": "John Doe"
      }
    }
  ]
}
### 2. Set Up a Webhook to Receive Call Data Subscribe to the
call.ended
or
call.analyzed
webhook event. The response will include: [(2) ]() -
collected_dynamic_variables
- Variables gathered during the call -
call_analysis
- Post-call analysis with sentiment, status, summary, and custom data -
transcript
- Full conversation transcript ### 3. Use the Get Call API for Detailed Data After receiving the webhook, you can call the Get Call API to retrieve comprehensive call details including duration, latency, cost, and analysis information. [(3) ](

▾

) ### 4. Update Google Sheet in Make.com In your Make.com scenario: 1. Add a webhook module to receive the
call.ended
event 2. Extract the
row_id
from the dynamic variables 3. Use a Google Sheets "Update Row" module to write the collected data back to the matching row ## Key Data Available After Calls -
transcript
- Full conversation text [(2) ]() -
call_analysis
- Includes sentiment, status, summary, and custom defined data -
collected_dynamic_variables
- Variables extracted during the conversation -
duration_ms
- Call duration The [Personalization with Google Sheets](

▾

) workshop covers this exact workflow of pulling contact info from Google Sheets, personalizing calls, and updating the sheet with results. [(4) ](

▾

)
​ To learn more, see the sources I considered: [[1] Create Batch Call](https://docs.retellai.com/api-references/create-batch-call) [[2] Create Phone Call](https://docs.retellai.com/api-references/create-phone-call) [[3] Make x Retell Tutorial | How to trigger a call from google sheet](

https://www.youtube.com/watch?v=pjm8y3uILg4▾

) [[4] Personalization with Google Sheets](

https://www.youtube.com/watch?v=A9H3a33gM2M▾

) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
t
@AI Evy The sources you cited, Personalization with Google Sheets, uses N8N, Make.com
a
Thanks for the follow-up, @TheScrutiniser. I'll get back to you soon.
### Answer You're correct—the [Personalization with Google Sheets](

▾

) workshop uses N8N, not Make.com. [(1) ](

▾

) The workflow demonstrated in that video involves: - Pulling contact info from Google Sheets - Looping through rows to make outbound calls via the Retell API - Updating the Google Sheet after each call with results For Make.com specifically, the core Retell API concepts remain the same—you would use the Create Phone Call API with
retell_llm_dynamic_variables
to pass row identifiers, then use webhooks to receive call data and update your sheet. [(2) ]() However, I don't have Make.com-specific documentation for the complete Google Sheets update workflow. The N8N approach shown in the workshop demonstrates the pattern: loop through sheet rows, make API calls with dynamic variables, and use webhooks to write results back. [(1) ](

▾

) Check out these potentially useful sources: - [Personalization with Google Sheets (N8N) ](

▾

) - [How can I create an outbound call]() Would you like a general answer on adapting the N8N workflow concepts to Make.com?
​ To learn more, see the sources I considered: [[1] Personalization with Google Sheets](

https://www.youtube.com/watch?v=A9H3a33gM2M▾

) [[2] How can I create an outbound call](https://retell.discourse.group/t/how-can-i-create-an-outbound-call/132) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
t
@AI Evy That's a 3-hour+ video, and it doesn't deal with batch calls. So, let's start from the beginning. I have a scenario in Make.com that has a Google Sheet module that searches rows of an attached Google sheet for phone numbers to call if they has not been called before (based on a yes/no condition in a column called "Called") . The Google Sheet module is connected to a Retell AI module that makes the calls. That much works fine. How do I update the "Called" column to "Yes" in the same google sheet, including other information derived during the call? Explain if I need to create another scenario, or just connect another module. Explain step-by-step this final leg
a
Thanks for the follow-up, @TheScrutiniser. I'll get back to you soon.
### Answer You need a separate scenario to handle the post-call update. Here's why and how: ## Why a Separate Scenario Retell sends webhook events after calls complete. Your current scenario initiates calls, but updating the sheet requires listening for call completion events (
call_ended
or
call_analyzed
) . [(1) ]() ## Step-by-Step Setup ### Step 1: Create a New Scenario with a Webhook Trigger Create a new Make.com scenario starting with a Webhooks > Custom Webhook module. Copy the webhook URL. ### Step 2: Configure the Webhook in Retell Add your Make.com webhook URL to your Retell agent or phone number settings. Subscribe to the
call_analyzed
event type—this fires after the call ends and includes post-call analysis data. [(2) ]() ### Step 3: Include Row Identifier in Your Original Scenario In your existing scenario where you make calls, pass a unique row identifier (like the Google Sheet row number) using `retell_llm_dynamic_variables`: [(1) ]()
Copy code
javascript
retell_llm_dynamic_variables: {
  row_id: "{{row_number}}",
  customer_name: "John Doe"
}
​ To learn more, see the sources I considered: [[1] Outbound Calls (Make Calls)](https://docs.retellai.com/deploy/outbound-call) [[2] Consume the analysis data](https://docs.retellai.com/features/post-call-analysis-consumption) [[3] Get Call](https://docs.retellai.com/api-references/get-call) [[4] Post Call Analysis Data not able to select in Make.](https://discord.com/channels/1186424376300679209/1425229235567460423) ​
### Step 4: Handle the Webhook in Your New Scenario When the webhook fires, the payload includes: -
collected_dynamic_variables
(including your
row_id
) [(3) ]() -
call_analysis
with summary, sentiment, and custom analysis data -
transcript
### Step 5: Update Google Sheet Add a Google Sheets > Update a Row module. Use the
row_id
from the webhook payload to target the correct row, then map the call data to your columns. ## Important Note About Webhook Testing in Make You need to run Make in production mode (not test mode) to catch the
call_analyzed
webhook, as it fires at the end of the call—Make's test mode won't capture it in time. [(4) ]()
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
t
would it be quicker (lower latency) and cheaper to initiate batch calls within Retall using a csv file and then use the webhook to make.com at the end of the call to update google sheet, or use Make.com in the way we've walked-through? @AI Evy
a
Thanks for the follow-up, @TheScrutiniser. I'll get back to you soon.
​ To learn more, see the sources I considered: [[1] Create Batch calls](https://docs.retellai.com/deploy/make-batch-call) [[2] Make x Retell Tutorial | How to trigger a call from google sheet](

https://www.youtube.com/watch?v=pjm8y3uILg4▾

) [[3] Outbound Calls (Make Calls)](https://docs.retellai.com/deploy/outbound-call) ​
### Answer Both approaches have trade-offs, but here's what the documentation indicates: ## Batch Calls via Retell Dashboard (CSV Upload) Using Retell's built-in batch call feature, you can upload a CSV file directly to create batch calls. [(1) ]() This approach: - Handles call scheduling and time windows natively - Manages concurrency automatically as slots become available - Supports dynamic variables by adding columns in the CSV with custom data for each recipient ## Make.com-Triggered Calls Using Make.com to trigger individual calls via the Create Phone Call API adds Make.com operations for each call initiation. [(2) ](

▾

) ## Key Consideration For updating Google Sheets after calls, both approaches require the same webhook setup. Regardless of how you initiate calls, you'll need a separate Make.com scenario with a webhook to receive
call_ended
or
call_analyzed
events and update your sheet. [(3) ]() The batch call approach via CSV would likely reduce Make.com operations (and cost) since you're not using Make.com to initiate each call—only to process the post-call webhooks. However, the Retell-side costs (per-minute calling) remain the same either way. Bottom line: If you're primarily concerned about Make.com operation costs, the CSV batch approach within Retell reduces operations by eliminating the call-initiation step in Make.com. The webhook-to-sheet update remains identical in both approaches.
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.