Skip to main content
🎥 Prefer to follow along? Watch the walkthrough for this guide here: https://youtu.be/UuoblYCPRl4.
Watch the walkthrough on YouTube

Bolna + Google Sheets: Call Reports and Triggers

End-to-end flow: set up a Google Sheet and webhook → connect that webhook to a Bolna agent → place a test call and watch execution data land in the sheet → optionally trigger new Bolna calls directly from the same sheet.

Prerequisites

Getting Bolna Calls Data in Google Sheet

Capture call execution data from Bolna by exposing a Google Apps Script Web App webhook and wiring it to your Bolna agent.
  1. Create the Google Sheet. Open https://sheets.new and name it something like Bolna Report. New Google Sheet named “Bolna Report”
  2. Open Apps Script. In the sheet, go to Extensions → Apps Script and optionally rename the project to Bolna Script. Open Apps Script from the Extensions menu
  3. Add the webhook Apps Script code. This script handles POST requests from Bolna and appends execution data into the sheet (generates a tab named Calls with columns for timestamp, call ID, status, toNumber, start and end times).
Apps Script editor with webhook handler code
For the exact payload structure from Bolna, refer to the executions API: https://www.bolna.ai/docs/api-reference/executions/get_execution.
  1. Deploy as a Web App. Click Deploy → New deployment. Deploy script as Web App Select Web app as the deployment type. Choose Web App deployment type Use description “Web hook for Bolna calls,” set Execute as to Me, and Who has access to Anyone so Bolna can reach it. Configure Web App access Click Deploy, authorize when prompted, then copy the Web App URL for use in Bolna. Copy the Web App URL after deployment
Deploying the Web App may require granting the script permission to access your Google Sheet.
Treat the Web App URL as a secret webhook endpoint. Do not share it publicly.
  1. Connect the webhook in a Bolna agent. Log in to Bolna (https://platform.bolna.ai/login). Click New agent. Create a new Bolna agent Choose the prebuilt Announcement agent. Choose the Announcement prebuilt agent Open the Analytics tab. Open the Analytics tab Paste the Web App URL into Your webhook URL. Paste the Web App URL into the webhook field Click Save agent. Save the agent after adding the webhook
  2. Place a test call and verify data. Click Get call from agent. Start a test call from the agent In the Place outbound calls dialog, enter your phone number and click Place call. Enter your number and place the call
⚠️ Trial accounts can only make calls to verified phone numbers. Verify your number first at https://platform.bolna.ai/verified-phone-numbers before placing calls. Verified phone numbers page
If your number isn’t verified, you’ll see an error. Error shown when number is not verified After verification, place the call again; once the call completes, execution data will arrive automatically in your sheet. Google Sheet showing webhook data from Bolna

Triggering Bolna Calls from Google Sheet

Reuse the same spreadsheet to initiate new Bolna calls by reading phone numbers from a sheet column and calling Bolna’s API via Apps Script.
  1. Prepare the sheet for outbound calls. Add a new tab (e.g., Calls) with the first column titled toNumber and list the phone numbers to call. Sheet tab with toNumber column for outbound calls
  2. Get the Agent ID and API key from Bolna. In your agent, click Copy agent id. Copy the Bolna agent ID Go to the Developers tab. Open the Developers tab Create a new API key and copy it. Create and copy a Bolna API key
⚠️ Keep your Bolna API key secret. Do not share it or commit it to source control.
  1. Create the triggerCalls Apps Script file. In Apps Script, add a new file (e.g., triggerCalls.gs) and paste the function below. Replace the placeholders BOLNA_AGENT_IDand BOLNA_API_KEY with your values. Add a new Apps Script file for triggerCalls
  1. Run the function manually (first test). In Apps Script, select triggerCalls and click Run. Authorize if prompted. Bolna will call the numbers listed in toNumber, and the script writes call status and execution ID.
  2. Optional: Add a button in the sheet to trigger calls. In the sheet, go to Insert → Drawing. Insert a drawing to create a button Draw a small rectangle to serve as a button. Draw a rectangle button Click the drawing’s three-dots menu and choose Assign script. Assign a script to the drawing Enter triggerCalls as the function name. Enter the triggerCalls function name Clicking the button now runs triggerCalls and starts calls for the numbers in the sheet.
The button is a simple convenience. You can also add custom menus or time-based triggers if you prefer.
You can now view inbound call execution reports in Google Sheets and launch new Bolna calls directly from the same Sheet.