Mary
04/10/2025, 7:24 PMVapi Support Bot
04/10/2025, 7:26 PMserverMessages: ['end-of-call-report']
3. Check Headers and Authentication
- If your webhook requires specific headers or authentication tokens, ensure these are included correctly in the function call
4. Test the Webhook Manually
- Try sending a manual POST request to your webhook URL using a tool like Postman or cURL to verify it's set up correctly
5. Enable End Call Function
- Make sure endCallFunctionEnabled
is set to true in your dashboard
## Alternative Methods for End-of-Call Reports
If you continue having issues with webhooks, here are some alternatives:
1. Use the GET /call/:id API Endpoint
- You can retrieve the full transcript, recording URLs, and message history after a call completes using this endpoint
- Example response includes:
```json
{
"artifact": {
"transcript": "Full conversation transcript",Vapi Support Bot
04/10/2025, 7:26 PM2. **Implement a Server Endpoint**
- Create a server endpoint to handle the end-of-call report:
```javascript
import express from 'express';
import type { EndOfCallReportMessage } from '@vapi-ai/web';
const app = express();
app.use(express.json());
app.post('/vapi-webhook', async (req, res) => {
const message = req.body as EndOfCallReportMessage;
if (message.type === 'end-of-call-report') {
// Store call data in your database
await storeCallData({
callId: message.call?.id,
transcript: message.artifact?.transcript,
startedAt: message.startedAt,
endedAt: message.endedAt,
durationSeconds: message.durationSeconds,
recordingUrl: message.artifact?.recordingUrl,
stereoRecordingUrl: message.artifact?.stereoRecordingUrl
});
}
res.status(200).json({ success: true });
});
3. Access Call Summaries via the Analysis Object
- According to [information from Discord](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342132668699119778), you can access call summaries through the analysis
object:
javascript
// When the call ends, you'll receive a call object that includes the analysis
const call = await vapiClient.calls.get(callId);
if (call.status === 'ended') {
// Access the summary from the analysis object
const summary = call.analysis?.summary;
console.log('Call Summary:', summary);
}
4. Use the Analytics API
- You can use the Analytics API to track call usage and cost data
- This allows you to group data by assistant to track usage per assistant
5. Consider GoHighLevel (GHL) WebhooksVapi Support Bot
04/10/2025, 7:26 PMVapi Support Bot
04/10/2025, 7:27 PMserverMessages: ['end-of-call-report']
According to [information from Discord](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122), this is essential for receiving end-of-call reports.
2. Check Webhook URL Configuration
- Double-check that the webhook URL is correctly pasted in the Server URL section without any typos or extra spaces
- According to [Vapi documentation](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334359490258276362), Vapi sends webhooks based on this order of precedence: 1. assistant.server.url, 2. phoneNumber.serverUrl, 3. org.serverUrl
3. Enable End Call Function
- Make sure endCallFunctionEnabled
is set to true in your dashboard as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1313293840580612166)
4. Check Headers and Authentication
- If your webhook requires specific headers or authentication tokens, ensure these are included correctly
- There appears to be [a known bug with adding headers](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1335016477178200105) - if you edit the secret, it might get erased
5. Test the Webhook ManuallyVapi Support Bot
04/10/2025, 7:27 PManalysis
object:
javascript
// When the call ends, you'll receive a call object that includes the analysis
const call = await vapiClient.calls.get(callId);
if (call.status === 'ended') {
// Access the summary from the analysis object
const summary = call.analysis?.summary;
console.log('Call Summary:', summary);
}
3. Use the Analytics API
- According to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1337948247678914610), you can use the Analytics API to track call usage and cost data
- This allows you to group data by assistant to track usage per assistant
4. Implement a Server Endpoint
- Create a server endpoint to handle the end-of-call report as shown in [this example](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122):
```javascript
import express from 'express';
import type { EndOfCallReportMessage } from '@vapi-ai/web';
const app = express();
app.use(express.json());
app.post('/vapi-webhook', async (req, res) => {Vapi Support Bot
04/10/2025, 7:27 PMVapi Support Bot
04/10/2025, 7:28 PMserverMessages: ['end-of-call-report']
According to [information from Discord](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122), this is essential for receiving end-of-call reports.
2. Enable End Call Function
- Make sure endCallFunctionEnabled
is set to true in your dashboard as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1313293840580612166)
3. Check Headers and Authentication
- If your webhook requires specific headers or authentication tokens, ensure these are included correctly
- There appears to be [a known bug with adding headers](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1335016477178200105) - if you edit the secret, it might get erased
4. Test the Webhook Manually
- Try sending a manual POST request to your webhook URL using a tool like Postman or cURL to verify it's set up correctly
## Alternative Methods for End-of-Call Reports
If you continue having issues with webhooks, here are some alternatives:
1. Use the GET /call/:id API EndpointVapi Support Bot
04/10/2025, 7:28 PMjson
{
"artifact": {
"transcript": "Full conversation transcript",
"recordingUrl": "https://storage.url/recording.wav",
"stereoRecordingUrl": "https://storage.url/stereo-recording.wav",
"messages": [
// Array of conversation messages
]
}
}
2. Access Call Summaries via the Analysis Object
- You can access call summaries through the analysis
object as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342132668699119778):
javascript
// When the call ends, you'll receive a call object that includes the analysis
const call = await vapiClient.calls.get(callId);
if (call.status === 'ended') {
// Access the summary from the analysis object
const summary = call.analysis?.summary;
console.log('Call Summary:', summary);
}
3. Use the Analytics API
- You can use the Analytics API to track call usage and cost data according to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1337948247678914610)
- This allows you to group data by assistant to track usage per assistant
4. Implement a Server Endpoint
- Create a server endpoint to handle the end-of-call report as shown in [this example](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122):
```javascript
import express from 'express';
import type { EndOfCallReportMessage } from '@vapi-ai/web';
const app = express();
app.use(express.json());
app.post('/vapi-webhook', async (req, res) => {Vapi Support Bot
04/10/2025, 7:28 PMVapi Support Bot
04/10/2025, 7:29 PMserverMessages: ['end-of-call-report']
According to [information from Discord](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122), this is essential for receiving end-of-call reports.
2. Check Webhook URL Configuration
- Double-check that the webhook URL is correctly pasted in the Server URL section without any typos or extra spaces
- According to [Vapi documentation](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334359490258276362), Vapi sends webhooks based on this order of precedence: 1. assistant.server.url, 2. phoneNumber.serverUrl, 3. org.serverUrl
3. Enable End Call Function
- Make sure endCallFunctionEnabled
is set to true in your dashboard as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1313293840580612166)
4. Check Headers and Authentication
- If your webhook requires specific headers or authentication tokens, ensure these are included correctly
- There appears to be [a known bug with adding headers](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1335016477178200105) - if you edit the secret, it might get erased
5. Test the Webhook ManuallyVapi Support Bot
04/10/2025, 7:29 PManalysis
object:
javascript
// When the call ends, you'll receive a call object that includes the analysis
const call = await vapiClient.calls.get(callId);
if (call.status === 'ended') {
// Access the summary from the analysis object
const summary = call.analysis?.summary;
console.log('Call Summary:', summary);
}
3. Use the Analytics API
- According to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1337948247678914610), you can use the Analytics API to track call usage and cost data
- This allows you to group data by assistant to track usage per assistant
4. Implement a Server Endpoint
- Create a server endpoint to handle the end-of-call report as shown in [this example](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122):
```javascript
import express from 'express';
import type { EndOfCallReportMessage } from '@vapi-ai/web';
const app = express();
app.use(express.json());
app.post('/vapi-webhook', async (req, res) => {Vapi Support Bot
04/10/2025, 7:29 PMVapi Support Bot
04/10/2025, 7:30 PMserverMessages: ['end-of-call-report']
According to [information from Discord](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122), this is essential for receiving end-of-call reports.
2. Check Webhook URL Configuration
- Double-check that the webhook URL is correctly pasted in the Server URL section without any typos or extra spaces
- According to [Vapi documentation](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334359490258276362), Vapi sends webhooks based on this order of precedence: 1. assistant.server.url, 2. phoneNumber.serverUrl, 3. org.serverUrl
3. Enable End Call Function
- Make sure endCallFunctionEnabled
is set to true in your dashboard as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1313293840580612166)
4. Check Headers and Authentication
- If your webhook requires specific headers or authentication tokens, ensure these are included correctly
- There appears to be [a known bug with adding headers](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1335016477178200105) - if you edit the secret, it might get erased
5. Test the Webhook ManuallyVapi Support Bot
04/10/2025, 7:30 PManalysis
object as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342132668699119778):
javascript
// When the call ends, you'll receive a call object that includes the analysis
const call = await vapiClient.calls.get(callId);
if (call.status === 'ended') {
// Access the summary from the analysis object
const summary = call.analysis?.summary;
console.log('Call Summary:', summary);
}
3. Use the Analytics API
- You can use the Analytics API to track call usage and cost data according to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1337948247678914610)
- This allows you to group data by assistant to track usage per assistant
4. Implement a Server Endpoint
- Create a server endpoint to handle the end-of-call report as shown in [this example](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122):
```javascript
import express from 'express';
import type { EndOfCallReportMessage } from '@vapi-ai/web';
const app = express();
app.use(express.json());
app.post('/vapi-webhook', async (req, res) => {Vapi Support Bot
04/10/2025, 7:30 PMVapi Support Bot
04/10/2025, 7:31 PMserverMessages: ['end-of-call-report']
According to [information from Discord](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122), this is essential for receiving end-of-call reports.
2. Check Webhook URL Configuration
- Double-check that the webhook URL is correctly pasted in the Server URL section without any typos or extra spaces
- According to [Vapi documentation](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334359490258276362), Vapi sends webhooks based on this order of precedence: 1. assistant.server.url, 2. phoneNumber.serverUrl, 3. org.serverUrl
3. Enable End Call Function
- Make sure endCallFunctionEnabled
is set to true in your dashboard as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1313293840580612166)
4. Check Headers and Authentication
- If your webhook requires specific headers or authentication tokens, ensure these are included correctly
- There appears to be [a known bug with adding headers](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1335016477178200105) - if you edit the secret, it might get erased
5. Test the Webhook ManuallyVapi Support Bot
04/10/2025, 7:31 PMjson
{
"artifact": {
"transcript": "Full conversation transcript",
"recordingUrl": "https://storage.url/recording.wav",
"stereoRecordingUrl": "https://storage.url/stereo-recording.wav",
"messages": [
// Array of conversation messages
]
}
}
2. Access Call Summaries via the Analysis Object
- You can access call summaries through the analysis
object as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342132668699119778):
javascript
// When the call ends, you'll receive a call object that includes the analysis
const call = await vapiClient.calls.get(callId);
if (call.status === 'ended') {
// Access the summary from the analysis object
const summary = call.analysis?.summary;
console.log('Call Summary:', summary);
}
3. Use the Analytics API
- You can use the Analytics API to track call usage and cost data according to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1337948247678914610)
- This allows you to group data by assistant to track usage per assistant
4. Implement a Server EndpointVapi Support Bot
04/10/2025, 7:31 PMjavascript
import express from 'express';
import type { EndOfCallReportMessage } from '@vapi-ai/web';
const app = express();
app.use(express.json());
app.post('/vapi-webhook', async (req, res) => {
const message = req.body as EndOfCallReportMessage;
if (message.type === 'end-of-call-report') {
// Store call data in your database
await storeCallData({
callId: message.call?.id,
transcript: message.artifact?.transcript,
startedAt: message.startedAt,
endedAt: message.endedAt,
durationSeconds: message.durationSeconds,
recordingUrl: message.artifact?.recordingUrl,
stereoRecordingUrl: message.artifact?.stereoRecordingUrl
});
}
res.status(200).json({ success: true });
});
5. Consider GoHighLevel (GHL) Webhooks
- Some users have found success using GHL webhooks as an alternative to make.com according to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1336785070408732764)
Would you like me to elaborate on any of these approaches or help with implementing a specific solution? 😊
Sources:
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122)
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334359490258276362)
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1313293840580612166)
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1335016477178200105)
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1341440757189578782)Vapi Support Bot
04/10/2025, 7:31 PMVapi Support Bot
04/10/2025, 7:32 PMserverMessages: ['end-of-call-report']
According to [information from Discord](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122), this is essential for receiving end-of-call reports.
2. Check Webhook URL Configuration
- Double-check that the webhook URL is correctly pasted in the Server URL section without any typos or extra spaces
- According to [Vapi documentation](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334359490258276362), Vapi sends webhooks based on this order of precedence: 1. assistant.server.url, 2. phoneNumber.serverUrl, 3. org.serverUrl
3. Enable End Call Function
- Make sure endCallFunctionEnabled
is set to true in your dashboard as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1313293840580612166)
4. Check Headers and Authentication
- If your webhook requires specific headers or authentication tokens, ensure these are included correctly
- There appears to be [a known bug with adding headers](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1335016477178200105) - if you edit the secret, it might get erased
5. Test the Webhook ManuallyVapi Support Bot
04/10/2025, 7:32 PMjson
{
"artifact": {
"transcript": "Full conversation transcript",
"recordingUrl": "https://storage.url/recording.wav",
"stereoRecordingUrl": "https://storage.url/stereo-recording.wav",
"messages": [
// Array of conversation messages
]
}
}
2. Access Call Summaries via the Analysis Object
- You can access call summaries through the analysis
object as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342132668699119778):
javascript
// When the call ends, you'll receive a call object that includes the analysis
const call = await vapiClient.calls.get(callId);
if (call.status === 'ended') {
// Access the summary from the analysis object
const summary = call.analysis?.summary;
console.log('Call Summary:', summary);
}
3. Use the Analytics API
- You can use the Analytics API to track call usage and cost data according to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1337948247678914610)
- This allows you to group data by assistant to track usage per assistant
4. Implement a Server EndpointVapi Support Bot
04/10/2025, 7:32 PMjavascript
import express from 'express';
import type { EndOfCallReportMessage } from '@vapi-ai/web';
const app = express();
app.use(express.json());
app.post('/vapi-webhook', async (req, res) => {
const message = req.body as EndOfCallReportMessage;
if (message.type === 'end-of-call-report') {
// Store call data in your database
await storeCallData({
callId: message.call?.id,
transcript: message.artifact?.transcript,
startedAt: message.startedAt,
endedAt: message.endedAt,
durationSeconds: message.durationSeconds,
recordingUrl: message.artifact?.recordingUrl,
stereoRecordingUrl: message.artifact?.stereoRecordingUrl
});
}
res.status(200).json({ success: true });
});
5. Consider GoHighLevel (GHL) Webhooks
- Some users have found success using GHL webhooks as an alternative to make.com according to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1336785070408732764)
Would you like me to elaborate on any of these approaches or help with implementing a specific solution? 😊
Sources:
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342410769232302122)
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334359490258276362)
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1313293840580612166)
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1335016477178200105)
- [Discord Channel](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1341440757189578782)Vapi Support Bot
04/10/2025, 7:32 PMVapi Support Bot
04/10/2025, 7:33 PMMary
04/10/2025, 9:59 PMMary
04/10/2025, 10:02 PMVapi Support Bot
04/10/2025, 10:03 PMendCallFunctionEnabled
to true in your dashboard settings. However, since you're asking for the exact steps, our technical specialist will provide you with detailed instructions on where to find this setting and how to enable it properly.
In the meantime, if you'd like to try an alternative approach while waiting, accessing call summaries via the Analysis object (as I mentioned earlier) might be a good option since you're looking to extract data from the analysis section.
Thanks for your patience! A support specialist will be with you soon to help resolve this issue. 👍Shubham Bajaj
04/11/2025, 7:30 PM