惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Martin Fowler
Martin Fowler
I
InfoQ
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
爱范儿
爱范儿
Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
D
Docker
博客园 - 三生石上(FineUI控件)
Y
Y Combinator Blog
博客园 - Franky
Engineering at Meta
Engineering at Meta
B
Blog
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
V
Visual Studio Blog

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders
telnyx-code-examples/build-conversational-workflow-nodejs...
anushathukra · 2026-06-27 · via Hacker News - Newest: "AI"
name build-conversational-workflow
title Build a Conversational Workflow
description Build a Telnyx Conversational Workflow for inbound auto insurance claim intake with structured branches, backend tools, and priority follow-up.
language nodejs
framework express
telnyx_products

Voice AI

channel

voice

Build a Telnyx Conversational Workflow for inbound auto insurance first notice of loss intake. The workflow asks structured questions, branches for urgent cases, calls backend tools, and returns a claim or fallback reference to the caller.

Telnyx API Endpoints Used

This example is configured in the Telnyx Portal as a Conversational Workflow. The local Express app exposes webhook tool endpoints that Telnyx calls from workflow tool nodes:

  • Create Claim Intake Tool: POST /tools/create-claim-intake
  • Log Fallback Tool: POST /tools/log-claim-intake-fallback
  • Flag Priority Follow-Up Tool: POST /tools/flag-priority-follow-up

Architecture

  Inbound PSTN call
        │
        ▼
  ┌────────────────────────────┐
  │ Telnyx Conversational       │
  │ Workflow                    │
  └─────────────┬──────────────┘
                │ nodes + branches
                ▼
  ┌────────────────────────────┐
  │ Auto claim intake flow      │
  │ safety, caller, loss fields │
  └─────────────┬──────────────┘
                │ workflow tool calls
                ▼
  ┌────────────────────────────┐
  │ Express tool server         │
  │ /tools/create-claim-intake  │
  └─────────────┬──────────────┘
                │ JSON result
                ▼
     claim reference or fallback reference

Workflow lifecycle

  1. Caller reaches the Telnyx phone number assigned to the workflow.
  2. The workflow confirms this is a new auto claim.
  3. The workflow checks for injury, danger, or unsafe vehicle status.
  4. The workflow collects caller, policy, vehicle, and incident details.
  5. The workflow calls create_claim_intake when required fields are present.
  6. The workflow calls log_claim_intake_fallback when the intake cannot be completed.
  7. The workflow calls flag_priority_follow_up when priority_flag is true.

Why Telnyx

Telnyx is an AI Communications Infrastructure platform that puts voice, AI, SIP, messaging, and programmable communications on one private, global network. Conversational Workflows let you build structured voice experiences with visible branches and tool calls, so operational processes like insurance claim intake are easier to audit than a single large prompt.

Why This Example Uses Insurance

Insurance first notice of loss is a useful workflow pattern because it has realistic business constraints:

  • the caller may be stressed
  • the workflow must collect specific fields
  • urgent cases need early branching
  • backend records should only be created after required information is present
  • the voice experience must not promise coverage, payment, repairs, liability, legal advice, or medical advice

The same structure can be reused for scheduling, support triage, lead qualification, patient intake, and service dispatch.

Environment Variables

Copy .env.example to .env and fill in:

Variable Type Example Required Description Where to get it
TELNYX_API_KEY string KEY_your_telnyx_api_key_here no Telnyx API key for Portal/API automation; the local mock tool server does not call Telnyx directly Portal
CLAIM_TOOL_SECRET string dev-secret yes Shared secret expected in the x-tool-secret header from Telnyx workflow tools Choose your own value
PORT number 8787 no Port the Express tool server listens on -

Setup

git clone https://github.com/team-telnyx/telnyx-code-examples.git
cd telnyx-code-examples/build-conversational-workflow-nodejs
cp .env.example .env    # fill in CLAIM_TOOL_SECRET
npm install
npm test
node server.js          # starts on http://localhost:8787

Workflow Configuration

  1. Expose your local server:

  2. In the Telnyx Portal, create a Conversational Workflow named auto claim intake conversational workflow.

  3. Build the nodes and branches from GUIDE.md.

  4. Configure tool nodes with your ngrok base URL:

    • POST https://<id>.ngrok.io/tools/create-claim-intake
    • POST https://<id>.ngrok.io/tools/log-claim-intake-fallback
    • POST https://<id>.ngrok.io/tools/flag-priority-follow-up
  5. Add the shared header to each tool:

    x-tool-secret: dev-secret
  6. Assign an inbound Telnyx phone number to the workflow and call it.

API Reference

POST /tools/create-claim-intake

Creates a mock claim intake when the workflow has collected required fields.

curl -X POST http://localhost:8787/tools/create-claim-intake \
  -H "content-type: application/json" \
  -H "x-tool-secret: dev-secret" \
  -d '{
    "caller_name": "jane sample",
    "caller_phone": "+15551234567",
    "loss_type": "auto",
    "loss_date": "2026-06-15",
    "loss_location": "mission street and 5th street, san francisco",
    "loss_description": "rear-ended while stopped",
    "priority_flag": false,
    "consent_to_continue": true
  }'

Response:

{
  "success": true,
  "claim_intake_id": "aci_123",
  "priority_flag": false,
  "next_step": "claims team follow-up"
}

POST /tools/log-claim-intake-fallback

Records a fallback when the caller is misdirected, information is incomplete, or the primary tool cannot be used.

POST /tools/flag-priority-follow-up

Creates a mock priority follow-up task for urgent cases.

GET /health

Health check endpoint for monitoring.

curl http://localhost:8787/health

Response:

{
  "status": "ok",
  "service": "claim_intake_tools"
}

Troubleshooting

Issue Cause Fix
401 {"success":false,"error":"unauthorized"} x-tool-secret is missing or does not match CLAIM_TOOL_SECRET. Add the same x-tool-secret header to each Telnyx workflow tool node and restart the server after editing .env.
422 {"error":"missing_required_fields"} The workflow called a tool before required fields were collected. Check workflow.json and only call create_claim_intake after the minimum field check.
Tool call never reaches the server Local server is not publicly reachable. Run ngrok http 8787 and use the HTTPS URL in each workflow tool node.
Caller receives an unsupported promise Workflow instructions or node copy are too broad. Keep the workflow focused on intake and avoid coverage, payment, liability, repair, legal, or medical decisions.
Workflow graph breaks during editing A node points to a missing node or tool. Run npm test to validate workflow.json.

Related Examples

Resources