Update Workflow

Path parameters

idstringRequired

Headers

AuthorizationstringRequired

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
nodeslist of objectsOptional
transcriberobjectOptional

This is the transcriber for the workflow.

This can be overridden at node level using nodes[n].transcriber.

voiceobjectOptional

This is the voice for the workflow.

This can be overridden at node level using nodes[n].voice.

observabilityPlanobjectOptional
This is the plan for observability of workflow's calls. Currently, only Langfuse is supported.
credentialslist of objectsOptional
These are dynamic credentials that will be used for the workflow calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials.
namestringOptional<=80 characters
edgeslist of objectsOptional
globalPromptstringOptional<=5000 characters
serverobjectOptional

This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.

The order of precedence is:

  1. tool.server
  2. workflow.server / assistant.server
  3. phoneNumber.server
  4. org.server
compliancePlanobjectOptional
This is the compliance plan for the workflow. It allows you to configure HIPAA and other compliance settings.
analysisPlanobjectOptional

This is the plan for analysis of workflow’s calls. Stored in call.analysis.

artifactPlanobjectOptional

This is the plan for artifacts generated during workflow’s calls. Stored in call.artifact.

startSpeakingPlanobjectOptional

This is the plan for when the workflow nodes should start talking.

You should configure this if you’re running into these issues:

  • The assistant is too slow to start talking after the customer is done speaking.
  • The assistant is too fast to start talking after the customer is done speaking.
  • The assistant is so fast that it’s actually interrupting the customer.
stopSpeakingPlanobjectOptional

This is the plan for when workflow nodes should stop talking on customer interruption.

You should configure this if you’re running into these issues:

  • The assistant is too slow to recognize customer’s interruption.
  • The assistant is too fast to recognize customer’s interruption.
  • The assistant is getting interrupted by phrases that are just acknowledgments.
  • The assistant is getting interrupted by background noises.
  • The assistant is not properly stopping — it starts talking right after getting interrupted.
monitorPlanobjectOptional

This is the plan for real-time monitoring of the workflow’s calls.

Usage:

  • To enable live listening of the workflow’s calls, set monitorPlan.listenEnabled to true.
  • To enable live control of the workflow’s calls, set monitorPlan.controlEnabled to true.
backgroundSpeechDenoisingPlanobjectOptional

This enables filtering of noise and background speech while the user is talking.

Features:

  • Smart denoising using Krisp
  • Fourier denoising

Both can be used together. Order of precedence:

  • Smart denoising
  • Fourier denoising
credentialIdslist of stringsOptional
These are the credentials that will be used for the workflow calls. By default, all the credentials are available for use in the call but you can provide a subset using this.

Response

nodeslist of objects
idstring
orgIdstring
createdAtstringformat: "date-time"
updatedAtstringformat: "date-time"
namestring<=80 characters
edgeslist of objects
transcriberobject or null

This is the transcriber for the workflow.

This can be overridden at node level using nodes[n].transcriber.

voiceobject or null

This is the voice for the workflow.

This can be overridden at node level using nodes[n].voice.

observabilityPlanobject or null
This is the plan for observability of workflow's calls. Currently, only Langfuse is supported.
credentialslist of objects or null
These are dynamic credentials that will be used for the workflow calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials.
globalPromptstring or null<=5000 characters
serverobject or null

This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.

The order of precedence is:

  1. tool.server
  2. workflow.server / assistant.server
  3. phoneNumber.server
  4. org.server
compliancePlanobject or null
This is the compliance plan for the workflow. It allows you to configure HIPAA and other compliance settings.
analysisPlanobject or null

This is the plan for analysis of workflow’s calls. Stored in call.analysis.

artifactPlanobject or null

This is the plan for artifacts generated during workflow’s calls. Stored in call.artifact.

startSpeakingPlanobject or null

This is the plan for when the workflow nodes should start talking.

You should configure this if you’re running into these issues:

  • The assistant is too slow to start talking after the customer is done speaking.
  • The assistant is too fast to start talking after the customer is done speaking.
  • The assistant is so fast that it’s actually interrupting the customer.
stopSpeakingPlanobject or null

This is the plan for when workflow nodes should stop talking on customer interruption.

You should configure this if you’re running into these issues:

  • The assistant is too slow to recognize customer’s interruption.
  • The assistant is too fast to recognize customer’s interruption.
  • The assistant is getting interrupted by phrases that are just acknowledgments.
  • The assistant is getting interrupted by background noises.
  • The assistant is not properly stopping — it starts talking right after getting interrupted.
monitorPlanobject or null

This is the plan for real-time monitoring of the workflow’s calls.

Usage:

  • To enable live listening of the workflow’s calls, set monitorPlan.listenEnabled to true.
  • To enable live control of the workflow’s calls, set monitorPlan.controlEnabled to true.
backgroundSpeechDenoisingPlanobject or null

This enables filtering of noise and background speech while the user is talking.

Features:

  • Smart denoising using Krisp
  • Fourier denoising

Both can be used together. Order of precedence:

  • Smart denoising
  • Fourier denoising
credentialIdslist of strings or null
These are the credentials that will be used for the workflow calls. By default, all the credentials are available for use in the call but you can provide a subset using this.