Log Conversation Error
Hey! I’m building an AI calling assistant using Vapi Workflows and a FastAPI (Python) backend. I'm trying to log the full conversation (user
assistant) to MongoDB after each call ends.
I created a mongo-conversation tool in the workflow that hits my backend endpoint /api/vapi/end-call-report. The request includes these properties:
My backend is working fine it receives the POST request and logs the data correctly if values are present. But here’s the issue:
When the tool fires, Vapi sends: {
"phone": "+918103858020",
"transcript": [],
"call_started": "{{call.started_at}}"
}
transcript is always empty.
call_started stays as {{call.started_at}} — it doesn’t get resolved
So I end up logging empty data in MongoDB.
I've tried:
Placing the tool at the end of the workflow.
Using raw JSON editor and proper property names.
Making sure all fields are required and properly configured.
Confirmed backend and endpoint work fine manually.
Also tried append-message and log-conversation via other tools — same issue.
What I need help with:
Why are transcript and call.started_at not resolving or empty?
Is there any extra config needed to populate those fields in the tool?
Is there a more reliable way to log full conversation at call end?
My goal: After every call, log the phone number, start time, and full assistant
user conversation to MongoDB.
I created a mongo-conversation tool in the workflow that hits my backend endpoint /api/vapi/end-call-report. The request includes these properties:
- user.phone (string)
- call.started_at (string)
- transcript (array of strings)
My backend is working fine it receives the POST request and logs the data correctly if values are present. But here’s the issue:
When the tool fires, Vapi sends: {
"phone": "+918103858020",
"transcript": [],
"call_started": "{{call.started_at}}"
}
transcript is always empty.
call_started stays as {{call.started_at}} — it doesn’t get resolved
So I end up logging empty data in MongoDB.
I've tried:
Placing the tool at the end of the workflow.
Using raw JSON editor and proper property names.
Making sure all fields are required and properly configured.
Confirmed backend and endpoint work fine manually.
Also tried append-message and log-conversation via other tools — same issue.
What I need help with:
Why are transcript and call.started_at not resolving or empty?
Is there any extra config needed to populate those fields in the tool?
Is there a more reliable way to log full conversation at call end?
My goal: After every call, log the phone number, start time, and full assistant