Skip to content

feat: Dialogflow CES mid-call update helpers - #23

Merged
davehorton merged 1 commit into
mainfrom
feat/update-dialogflow
Oct 27, 2026
Merged

davehorton merged 1 commit into
mainfrom
feat/update-dialogflow

Conversation

@davehorton

Copy link
Copy Markdown
Contributor

Adds helpers for sending input into a running Dialogflow CES session mid-call.

  • WebSocket: session.updateDialogflow(data) sends dialogflow:update
  • REST: client.calls.updateDialogflow(callSid, data) sends dialogflow_update
  • DialogflowUpdate type (exported): at most one of event/text/dtmf (union, mutually exclusive), plus optional variables; at least one field required.

CES only. Variables and dtmf go at once; an event or text is held by jambonz until the agent's current turn ends, because CES drops one sent mid-reply.

Pairs with jambonz/mediajam#154 and the feature-server change (in progress). No version bump.

Tests: typecheck, build and vitest (133) pass.

🤖 Generated with Claude Code

…pers

Session.updateDialogflow and calls.updateDialogflow send input into a running
Dialogflow CES session. DialogflowUpdate is a union so event/text/dtmf are
mutually exclusive.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
davehorton added a commit to jambonz/schema that referenced this pull request Oct 27, 2026
The example paused recording with injectRecord, which defaults to SIPREC,
not the cloud recording a CES call usually has; it is not needed to show
dialogflow:update. Use session.updateDialogflow and
client.calls.updateDialogflow (jambonz/node-sdk#23).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
davehorton added a commit to jambonz/schema that referenced this pull request Oct 27, 2026
* feat: document dialogflow:update (send input into a running CES session)

- commands/dialogflow-update.schema.json for the dialogflow:update command
- docs/verbs/dialogflow.md: mid-call input section with worked example
- session-commands guide entry; input-sent/input-dropped in dialogflow events
- tests for the command schema

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(dialogflow): use the SDK's updateDialogflow helpers in the example

The example paused recording with injectRecord, which defaults to SIPREC,
not the cloud recording a CES call usually has; it is not needed to show
dialogflow:update. Use session.updateDialogflow and
client.calls.updateDialogflow (jambonz/node-sdk#23).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@davehorton
davehorton merged commit 29edc7c into main Oct 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant