Hey team — quick Structured Outputs issue.
# support
a
Hey team — quick Structured Outputs issue. I have two inbound assistants with the same Structured Outputs attached: Spokane Setter → webhook payload includes message.artifact.structuredOutputs.{UUID}.result (works, maps fine in Make) CDA Setter → webhook payload does not include artifact.structuredOutputs at all, even on completed calls Both calls: Connect and end normally Use the new Structured Outputs system (not deprecated) Send post-call data to Make via custom webhooks Only difference I can see is assistant / phone number, but configs are otherwise identical. Any known cases where structured outputs wouldn’t be emitted in the webhook payload for one assistant but not another?
v
Check HIPAA Compliance Settings It's likely that the CDA Setter assistant has
hipaaEnabled: true
, which by default prevents structured outputs from being stored or visible in webhook payloads unless explicitly overridden. To ensure structured outputs are emitted, set the following in your assistant's config:
Copy code
json
"compliancePlan": { "forceStoreOnHipaaEnabled": true }
Review and align this setting with your Spokane Setter assistant to resolve the discrepancy. For more details, see the [Structured Outputs Quickstart](https://docs.vapi.ai/assistants/structured-outputs-quickstart). Source: - [Structured outputs quickstart](https://docs.vapi.ai/assistants/structured-outputs-quickstart)
s
@
@Alex Rodas did u add the field manually what u need in structure data?
u will get all of them
a
HIPAA is not enabled on the CDA assistant. The Privacy panel confirms: HIPAA: off Logging / Transcript / Recording: on Despite this, CDA webhook payloads still do not include: message.artifact.structuredOutputs.{UUID} while Spokane does, with identical Structured Outputs and similar configs. So this is not HIPAA-related. Looks like a real emission / assistant-level inconsistency. Any other conditions that would suppress structuredOutputs in webhook payloads even when HIPAA is off?
@Subhankar Ghosh I will look into this and get back to you, thank you!
s
anytime
Here is the Call ID for Spokane: 019c2f2a-faa7-7881-ba2c-ef0b1f1056e4 Here is the Call for CDA: 019c33f5-b622-7447-9a01-befb60bccb64
s
happy to help if this is serious issue @Alex Rodas
a
@Subhankar Ghosh appreciate you jumping in on this. Here’s the exact situation so you have full context: I have two inbound setter assistants (Spokane + CDA) that are configured identically. Spokane works perfectly, Make always receives structured data in the end-of-call-report webhook. CDA is inconsistent: • The webhook fires normally • But artifact.structuredOutputs is often missing • Then appears later in the Vapi dashboard after analysis finishes So it looks like the webhook is firing before analysis completes for CDA but not for Spokane. What makes this confusing: Both assistants have: identical structured output configs identical server message settings (end-of-call-report) similar call durations (~5–6 minutes) The only major difference I’ve found: Spokane still has an active analysisPlan.structuredDataPlan (sync extraction) CDA is relying on artifactPlan.structuredOutputs (async extraction) From testing, it seems like: Spokane → webhook waits because structuredDataPlan runs synchronously CDA → webhook fires immediately while structured outputs are still processing Does that line up with how the internal pipeline works? And if so, is there any way to force the webhook to wait until artifact structured outputs are attached, or is polling the call API after a delay the only reliable solution? Really appreciate any insight! Trying to lock down a stable Make automation flow.
s
Move CDA back to using analysisPlan structuredDataSchema/structuredDataPrompt so the extracted payload is produced in the analysis pipeline you already know behaves “ready at end-of-call” in your Spokane setup. (This is basically “make CDA behave like Spokane.”) @Alex Rodas