Skills Artificial Intelligence Building AI Voice Agents and Call Automation

Building AI Voice Agents and Call Automation

v20260423
retellai-core-workflow-a
This workflow guides users through building advanced AI voice agents using the Retell AI SDK. It demonstrates how to implement complex call flows, integrate function calling for tasks like booking appointments, and configure voice behavior for professional telephony applications.
Get Skill
376 downloads
Overview

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

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

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

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

Next Steps

Phone call management: retellai-core-workflow-b

Info
Name retellai-core-workflow-a
Version v20260423
Size 3.03KB
Updated At 2026-04-28
Language