Facts extracted are not getting sent to API endpoint

Hi, I currently have a bot that is supposed to extract details from a call using a fact extractor node, then send a “details” JSOB object to the endpoint in the next function node. However, each time a call is made as of the past few days, only some of the details from the extraction node are actually being sent to the function node so that the call is decided to end early. Is there any information on why this may be happening? Thanks

Hey @angel.rivera a likely cause is that “Wait for Result” is not enabled on your function node. If this is off, the agent can transition to the next node before the extraction is fully complete, meaning not all dynamic variables from the fact extractor node are ready when the function fires.

Can you enable this and check if it works for you.

Thank You

Thanks, but that has been toggled on :frowning:

Hey @angel.rivera Could you please share the relevant call IDs, along with the agent ID? This information will help us investigate the issue more effectively.

Thank you!

Here is the call id: call_db38ea606a1e6c32bbad062b213. The agent id is: agent_7126cc9db9f1773709ceb304cb

Hey @angel.rivera On call call_db38ea606a1e6c32bbad062b213, the Extract Intake Variables node returned all five fields successfully full_name, phone, case_desc, incident_date, incident_state). The problem is one step later, when the aop_classifier function node makes the POST. The request body for that call only contained phone and a malformed incident_date "June 27, 2026incident_state: California, ") — case_desc and incident_state were never sent. Without case_desc, your classifier returned non_intake, which is the edge that routes to the End Call node — so the early hang-up is a downstream effect of the missing fields, not a flow-routing bug.

The cause is in how the aop_classifier tool is defined on the conversation flow. Its parameters.data object declares case_desc, incident_state, phone, incident_date under properties, but there is no required array, and each value is sourced via {{variable}} in the description field. With no required list, the model is free to omit parameters when it composes the tool-call arguments — and intermittently it does, sometimes also concatenating adjacent values into one string. Your other tool classify_lead on the same flow declares required: ["full_name","email","case_desc"] and does not exhibit this.

Recommended changes on the aop_classifier tool:

  • Add "required": ["case_desc","incident_state","phone","incident_date"] on the data object (and/or at the top level).
  • Optionally make each property’s description a plain instruction (e.g. “Full case description as stated by the caller”) and keep {{case_desc}} as the value substitution — separating the instruction from the value template gives the model a clearer signal to populate every field.

After republishing, retest with a call that mirrors this one and confirm the aop_classifier invocation in the transcript shows all four data fields populated.

Thank You