--- name: retellai-core-workflow-a description: "Retell AI core workflow a \u2014 AI voice agent and phone call automation.\n\ Use when working with Retell AI for voice agents, phone calls, or telephony.\nTrigger\ \ with phrases like \"retell core workflow a\", \"retellai-core-workflow-a\", \"\ voice agent\".\n" allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(curl:*), Grep version: 1.9.0 license: MIT author: Jeremy Longshore tags: - saas - retellai - voice - telephony - ai-agents compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw --- # Retell AI Core Workflow A ## Overview Build and configure voice agents with custom prompts, function calling, and call flow logic. ## Prerequisites - Completed `retellai-hello-world` ## Instructions ### Step 1: Agent with Function Calling ```typescript const llm = await retell.llm.create({ model: 'gpt-4o', general_prompt: `You are a booking assistant for Dr. Smith's office. - Help callers book, reschedule, or cancel appointments - Collect: name, phone, preferred date/time - Confirm all details before booking`, functions: [ { name: 'book_appointment', description: 'Book a new appointment', parameters: { type: 'object', properties: { patient_name: { type: 'string' }, phone: { type: 'string' }, date: { type: 'string', description: 'YYYY-MM-DD format' }, time: { type: 'string', description: 'HH:MM format' }, }, required: ['patient_name', 'phone', 'date', 'time'], }, url: 'https://your-api.com/appointments', speak_during_execution: true, speak_after_execution: true, }, ], }); ``` ### Step 2: Configure Voice and Behavior ```typescript const agent = await retell.agent.create({ response_engine: { type: 'retell-llm', llm_id: llm.llm_id }, voice_id: '11labs-Rachel', agent_name: 'Dr. Smith Booking Agent', language: 'en-US', opt_out_sensitive_data_storage: false, end_call_after_silence_ms: 10000, // End call after 10s silence max_call_duration_ms: 300000, // 5-minute max enable_backchannel: true, // "mhm", "yeah" responses boosted_keywords: ['appointment', 'schedule', 'Dr. Smith'], }); ``` ### Step 3: Update Agent Configuration ```typescript await retell.agent.update(agent.agent_id, { voice_id: '11labs-Dorothy', // Change voice end_call_after_silence_ms: 15000, }); ``` ## Output - Agent with custom LLM prompt and function calling - Voice and behavior configuration - Real-time function execution during calls ## Error Handling | Error | Cause | Solution | |-------|-------|----------| | Function not triggering | Prompt doesn't guide to function | Include function use in prompt | | Voice quality issues | Wrong voice selection | Test different voices | | Call ending too early | Short silence timeout | Increase `end_call_after_silence_ms` | ## Resources - [Retell AI Documentation](https://docs.retellai.com) - [retell-sdk npm](https://www.npmjs.com/package/retell-sdk) ## Next Steps Phone call management: `retellai-core-workflow-b`