Call analysis summary
# support
y
I'm trying to get my bot to transfer the information that's coming in from the user to the end of call summary report into my Air table c r m I'm having issues with setting it up.There's been a lot of codes and a whole bunch.Other stuff that's been going on When a couple months ago it was actually relatively easy so i'm very confused On how to set up the function to then be captured for the end summary. Please help
v
To help you resolve the issue, could you please share the specific error message or describe what happens when your server receives the "end-of-call-report" from Vapi and tries to update Airtable? This will help me provide more targeted troubleshooting steps or example code for your integration. If you can, please include any relevant code snippets or error logs. Sources: - [Call analysis documentation](https://docs.vapi.ai/assistants/call-analysis) - [Server events & end-of-call-report](https://docs.vapi.ai/server-url/events) - [Inbound support example](https://docs.vapi.ai/examples/inbound-support)
v
Message marked as helpful by @yecurazzy90! šŸŽ‰
y
The thing is I don't know how to get it to work like am I supposed to create a function since the call analysis summary is already given in the output. I created a Make flow just from a receiving webhook.i just need the end the call summary to work so the bot can refer to the information if the client asks
v
To get the call analysis summary into Airtable, set your Make webhook to receive the
end-of-call-report
from Vapi. In your Make scenario, map the
message.summary
field from the webhook payload to your Airtable record. Example (JSON snippet from webhook):
Copy code
json
{
  "message": {
    "type": "end-of-call-report",
    "summary": "The user mentioned they were having an issue with their iPhone restarting randomly..."
  }
}
Just use the
summary
value in your Airtable "Create Record" or "Update Record" step. No extra function is needed—just map the field directly ([docs](https://docs.vapi.ai/server-url/events), [example](https://docs.vapi.ai/examples/inbound-support)). Sources: - [Server events & end-of-call-report](https://docs.vapi.ai/server-url/events) - [Inbound support example](https://docs.vapi.ai/examples/inbound-support)
y
Thanks I am trying this out right now. I had another question is it possible for the bot to recognize a person strictly by the number that is calling inbound
v
Yes, your bot can recognize a person by their inbound phone number. When Vapi sends an
assistant-request
to your server, use the caller's number (e.g.,
req.body.call.from.phoneNumber
) to look up the user in your CRM or database. Then, return a personalized assistant configuration or dynamic variables for that user. Example (Node.js/Express):
Copy code
js
app.post("/api/assistant-selector", async (req, res) => {
  if (req.body.message?.type === "assistant-request") {
    const phoneNumber = req.body.call.from.phoneNumber;
    const customer = await crmAPI.getCustomerByPhone(phoneNumber);
    res.json({
      assistantId: "asst_customersupport",
      assistantOverrides: {
        variableValues: { customerName: customer.name }
      }
    });
  }
});
This lets your bot greet or assist users based on their phone number. Sources: [Personalization docs](https://docs.vapi.ai/assistants/personalization), [Inbound support example](https://docs.vapi.ai/examples/inbound-support) Sources: - [Personalization with user information](https://docs.vapi.ai/assistants/personalization) - [Inbound support example](https://docs.vapi.ai/examples/inbound-support)
y
How do you do this from like a make integration standpoint
v
To help you further: Which CRM or database are you using with Make to store your customer phone numbers? This will help me guide you on how to set up the lookup and personalization flow for inbound calls. Sources: - [Personalization with user information](https://docs.vapi.ai/assistants/personalization) - [Inbound support example](https://docs.vapi.ai/examples/inbound-support)
y
I am using airtable
v
Here's how to recognize inbound callers by phone number in Make with Airtable: 1. In your Make scenario, set up a webhook to receive the
assistant-request
from Vapi. 2. Use the Airtable "Search Records" module to look up the record where
{Phone}
equals
{{message.call.from.phoneNumber}}
from the webhook payload. 3. If a match is found, you can use the customer's info for personalization in your response to Vapi. Example mapping in Make:
Copy code
Airtable Search Records filter:
{Phone} = {{message.call.from.phoneNumber}}
This lets your bot greet or assist users based on their phone number. Sources: [Personalization docs](https://docs.vapi.ai/assistants/personalization), [Inbound support example](https://docs.vapi.ai/examples/inbound-support) Sources: - [Personalization with user information](https://docs.vapi.ai/assistants/personalization) - [Inbound support example](https://docs.vapi.ai/examples/inbound-support)
y
The source pages you gave for end of report isn't valid ... how di I connect the end of call report from vapi in steps
v
Step-by-step: Connect Vapi end-of-call summary to Airtable via Make 1. In Make, set up a webhook to receive Vapi's
end-of-call-report
. 2. In your Make scenario, add an Airtable "Create/Update Record" module. 3. Map the
message.summary
field from the webhook payload to your Airtable field. Example mapping:
Copy code
json
{
  "message": {
    "type": "end-of-call-report",
    "summary": "The user mentioned they were having an issue with their iPhone restarting randomly..."
  }
}
No extra function is needed—just map
message.summary
directly. Sources: [Server events & end-of-call-report](https://docs.vapi.ai/server-url/events), [Inbound support example](https://docs.vapi.ai/examples/inbound-support) Sources: - [Server events & end-of-call-report](https://docs.vapi.ai/server-url/events) - [Inbound support example](https://docs.vapi.ai/examples/inbound-support)
y
Okay I got it working but j have a question how to better explain how to get vapi to send assistant request
v
To get Vapi to send an
assistant-request
, configure your Vapi phone number so it uses your server URL for inbound calls. Set the
assistantId
to
null
and specify your endpoint like this:
Copy code
json
PATCH /phone-number/{id}
{
  "assistantId": null,
  "server": { "url": "https://your-server.com/api/assistant-selector" }
}
Now, when someone calls your number, Vapi will POST an
assistant-request
to your endpoint for dynamic assistant selection. Source: [Personalization docs – Customer Calls Your Number](https://docs.vapi.ai/assistants/personalization#customer-calls-your-number) Sources: - [Personalization with user information](https://docs.vapi.ai/assistants/personalization#customer-calls-your-number) - [Inbound support example](https://docs.vapi.ai/examples/inbound-support)
y
No this is still what I am trying to do Thanks I am trying this out right now. I had another question is it possible for the bot to recognize a person strictly by the number that is calling inbound but I need you to simplify how to do this
v
Yes, you can recognize inbound callers by their phone number in Make: In your Make scenario, after receiving the webhook from Vapi, add an Airtable "Search Records" module and set the filter to
{Phone} = {{message.call.from.phoneNumber}}
. This will let you find the matching user and personalize the response for that caller. Example filter:
Copy code
{Phone} = {{message.call.from.phoneNumber}}
Sources: - [Personalization with user information](https://docs.vapi.ai/assistants/personalization) - [Inbound support example](https://docs.vapi.ai/examples/inbound-support)
y
Okay I've set up this flow now how do I get my prompt in order to achieve these results
v
To personalize your Vapi assistant's prompt using Airtable data, set your system prompt like this:
Copy code
text
Hello {{customerName}}! I see you've been a {{accountType}} customer since {{joinDate}}.
In your Make scenario, after finding the caller in Airtable, pass these fields as variables in your response to Vapi. This way, each caller gets a tailored greeting and experience based on their record. Source: [Personalization with user information](https://docs.vapi.ai/assistants/personalization) Source: - [Personalization with user information](https://docs.vapi.ai/assistants/personalization)
s
cc: @Kings_bigšŸ’«
v
To personalize your Vapi assistant's prompt with Airtable data: 1. Set your system prompt in Vapi to use variables, for example:
Copy code
Hello {{customerName}}! I see you've been a {{accountType}} customer since {{joinDate}}.
2. In Make, after finding the caller in Airtable, map the relevant fields to these variables in your response to Vapi. This way, each caller gets a tailored greeting based on their Airtable record. Source: [Personalization with user information](https://docs.vapi.ai/assistants/personalization) Source: - [Personalization with user information](https://docs.vapi.ai/assistants/personalization)
k
Set your assistant’s endOfCallWebhook to send call summaries to a webhook via Make, Pipedream, extract fields like summary and structuredData, then use Airtable’s API to create new records, automating the whole flow from Vapi to your CRM.
v
To automate sending Vapi call summaries to Airtable: 1. Set your assistant’s
endOfCallWebhook
to your Make webhook URL. 2. In Make, extract
message.summary
and any other fields you need. 3. Use the Airtable "Create Record" module to add a new record. Example Make mapping:
Copy code
json
{
  "fields": {
    "Summary": "{{message.summary}}",
    "StructuredData": "{{message.structuredData}}"
  }
}
This will create a new Airtable record for each call summary automatically. Source: [Server events & end-of-call-report](https://docs.vapi.ai/server-url/events) Source: - [Server events & end-of-call-report](https://docs.vapi.ai/server-url/events)
y
There something wring with my jsob the bit keeps saying set my phone id { "assistant": { "name": "Kestra Inventory Assistant", "firstMessage": "{{if(8.employeeFound; 'Hey there! This is Jamie with Kestra inventory team. Hi ' + 8.employeeName + ', ready to log your items?'; 'Hey there! This is Jamie with Kestra inventory team. What is your name?')}}", "transcriber": { "provider": "deepgram", "model": "nova-2", "language": "en" }, "model": { "provider": "openai", "model": "gpt-4", "messages": [ { "role": "system", "content": "You are Jamie with Kestra Medical Services. {{if(8.employeeFound; 'Speaking with ' + 8.employeeName + ' from ' + 8.employeeRole; 'New caller')}}. Log inventory items, serial numbers, actions." } ], "temperature": 0.7 }, "voice": { "provider": "elevenlabs", "voiceId": "rachel" }, "silenceTimeoutSeconds": 30, "responseDelaySeconds": 0.4, "llmRequestDelaySeconds": 0.1, "numWordsToInterruptAssistant": 2, "tools": [ { "type": "function", "name": "data_of_callers", "description": "Log inventory data", "parameters": { "type": "object", "properties": { "FirstName": {"type": "string"}, "SerialNumber": {"type": "array", "items": {"type": "string"}}, "Action": {"type": "string"}, "Source": {"type": "string"}, "ItemType": {"type": "string"} } }, "server": { "url": "https://hook.us1.make.com/99qnw16dptop6leim5nm3eu8ds9pr8xx" } } ], "serverMessages": [ "end-of-call-report", "status-update", "function-call", "tool-calls" ], "endCallFunctionEnabled": true, "dialKeypadFunctionEnabled": false } }
v
To resolve the "set my phone id" error, you need to associate your assistant with a specific phone number using the phone number's ID. Use the following API call to update your phone number and link it to your assistant (or server URL):
Copy code
json
PATCH /phone-number/{id}
{
  "assistantId": null,
  "server": { "url": "https://your-server.com/api/assistant-selector" }
}
Replace
{id}
with your actual phone number ID. This step is done outside your assistant JSON—it's required to connect your assistant to a phone number in Vapi. Reference: [Update Phone Number](https://docs.vapi.ai/api-reference/phone-numbers/update?explorer=true) Sources: - [Update Phone Number](https://docs.vapi.ai/api-reference/phone-numbers/update?explorer=true) - [Personalization with user information](https://docs.vapi.ai/assistants/personalization#customer-calls-your-number) - [Get Phone Number](https://docs.vapi.ai/api-reference/phone-numbers/get?explorer=true)
s
cc: @Kings_bigšŸ’«
s
You need to add your valid phoneNumberId from the Vapi dashboard’s Phone Numbers section into your assistant’s config to fix the ā€œset my phone idā€ error.
y
@KINGS BIG okay cool have my flow operating correctly now my issue now is call8ng my transient workflow on on make while the scenario is running without me running twice.. does my server url need to be in my response to send back to vapi?
s
Hey, really sorry for your experience. If possible, could you record a loom video describing this error/behavior or inconsistency in the dashboard with the steps to reproduce it? That way, I can share this with my team, and we'll take a look. We'll even try to reproduce the same so we can fix it for you. Also, I'll request you to share your workflow ID.
y
@KINGS BIG https://www.loom.com/share/cbec2aec310b4d3f843a51657ca1c719 Here is the loom video just a recent update for some reason the toolist and argument are pulling my function data anymore and also going doing route 2 isn't working because of this..Also where is the workflow id you need?
k
Can you also share your workflow id
y
@Kings_bigšŸ’« I apologize but I'm not sure where to find the workflow ID??
s
workflow id can be found in the top left corner underneath the name of your workflow
y
@KINGS BIG I don't have e a workflow ID I was using squads here is the ID ec3aad77-a4f1-483d-96ef-588014fe31c2
k
Looking into it
y
@Kings_bigšŸ’« thanks I appreciate it the problem I'm trying to figure out is is how to use both a transient and static bot together
k
Republish your assistant. Most likely, you're missing the transcript user message from your analysis plan. Once you republishes, the issue will be resolved..
s
Hello @yecurazzy90, To assist you effectively, I would appreciate it if you could provide me with a detailed description of your current issue. This information will enable me to comprehend the problem better and subsequently provide you with appropriate solutions to resolve it. Kindly share any relevant debugging information that may be necessary to identify the root cause of the issue.
y
@Shubham Bajaj okay so I created a transient flow using data from a https request from a mak module I was successfully able to carry out the action of the bot recognizing a phone number and then correlating it to the user calling.. the issue is my type no longer changes ut stays stuck on type assistant request ... what I needed from my webhook which was working before is for my function to work and the tools and function to appear so it can go down my other flow which search and updates the row
I@shubham.bajaj I watched a video showing how to do the transient bot this is so confusing it worked before but I'm starting to do a squad but I'm thinking like maybe there's something else I'm doing wrong I've read in documentation one webhook is enough
s
@Kings_bigšŸ’« can you please help @yecurazzy90 with make worklfows automations.