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:
  1. user.phone (string)
  2. call.started_at (string)
  3. transcript (array of strings)
All marked as required.

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.
Was this page helpful?