plain-purple•3mo ago
Transcript Extraction Struggle w/ multiple API Calls, Simpler way?
Hey everyone, I’m having issues with this setup and could use pointers on a cleaner approach:
What we’re trying to do
After-hours/overflow calls come into Voiceflow (client requests). When the call ends, we need the full transcript so we can auto-summarize and follow up—right now we already extract key variables mid-call and push them into our CRM, but we want the full transcript at the end.
Current plan
1. Webhook trigger
Voiceflow fires a runtime.call.end webhook (Settings → Behaviour → Voice → Call Events), also sends start events we don’t need. Note: using Twilio
2. Extract number
Pull data.metadata.userNumber ({USER_NUMBER}) from the payload.
3. List all transcripts
GET: https://api.voiceflow.com/v2/transcripts/%7BPROJECT_ID%7D
→ Huge JSON dump of every transcript.
4. Find the right one
Filter where user.id == "{USER_NUMBER}", sort by createdAt desc, take first ID ({TRANSCRIPT_ID}).
5. Fetch dialogue
GET: https://api.voiceflow.com/v2/transcripts/%7BPROJECT_ID%7D/%7BTRANSCRIPT_ID%7D
→ raw trace objects.
6. Format transcript
Transform traces into a simple conversation block, for example:
Agent: "Hello, ..."
User: "..."
Agent: "Sure..."
Store as {FORMATTED_TRANSCRIPT}.
7. Forward to CRM
POST JSON:
{ "phoneNumber": "{USER_NUMBER}", "transcript": "{FORMATTED_TRANSCRIPT}" }
to {CRM_WEBHOOK_URL} so GHL (or similar) can summarize, log, email, etc.
Rn running steps 1–6 in Flask/NGROK Python script; plan to move to Make.com.
Problems
many API calls w/ heavy client-side filtering for one transcript.
Brittle, slow, huge maintenance headache.
Doesn’t even fully work, yet.
What I really want
Voiceflow’s end-call event to include the transcript ID so i can simplify the request.
Or a single API call like “latest transcript for this number.”
Anyone know of a built-in Voiceflow feature, hidden param, or slick API trick so I don’t have to reinvent the wheel here? Cheers.
1 Reply
plain-purpleOP•3mo ago
@Tico | Voiceflow Assistant