Skip to main content
AI/MLjeremylongshore

retellai-hello-world

"Retell AI hello world \u2014 AI voice agent and phone call automation.\n\

Stars
2,267
Source
jeremylongshore/claude-code-plugins-plus-skills
Updated
2026-05-31
Slug
jeremylongshore--claude-code-plugins-plus-skills--retellai-hello-world
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jeremylongshore/claude-code-plugins-plus-skills/HEAD/plugins/saas-packs/retellai-pack/skills/retellai-hello-world/SKILL.md -o .claude/skills/retellai-hello-world.md

Drops the SKILL.md into .claude/skills/retellai-hello-world.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Retell AI Hello World

Overview

Create your first Retell AI voice agent and make a test phone call.

Prerequisites

  • Completed retellai-install-auth
  • A phone number registered in Retell AI Dashboard (or use web call for testing)

Instructions

Step 1: Create an LLM Configuration

import Retell from 'retell-sdk';
const retell = new Retell({ apiKey: process.env.RETELL_API_KEY! });

// Create LLM configuration (what the agent says)
const llm = await retell.llm.create({
  model: 'gpt-4o',
  general_prompt: `You are a friendly receptionist for Acme Corp.
    - Greet callers warmly
    - Ask how you can help
    - Take messages if needed
    - Be concise and professional`,
});
console.log(`LLM created: ${llm.llm_id}`);

Step 2: Create a Voice Agent

const agent = await retell.agent.create({
  response_engine: {
    type: 'retell-llm',
    llm_id: llm.llm_id,
  },
  voice_id: '11labs-Adrian',  // Choose from available voices
  agent_name: 'Acme Receptionist',
});
console.log(`Agent created: ${agent.agent_id}`);

Step 3: Make a Test Phone Call

// Outbound call (requires a registered phone number)
const call = await retell.call.createPhoneCall({
  from_number: '+14155551234',  // Your Retell number
  to_number: '+14155555678',    // Destination
  override_agent_id: agent.agent_id,
});
console.log(`Call initiated: ${call.call_id}`);

Step 4: Or Test with Web Call

// Web call (no phone number needed — great for testing)
const webCall = await retell.call.createWebCall({
  agent_id: agent.agent_id,
});
console.log(`Web call URL: ${webCall.call_id}`);
// Use retell-client-js-sdk to connect from browser

Step 5: Check Call Status

const callDetail = await retell.call.retrieve(call.call_id);
console.log(`Status: ${callDetail.call_status}`);
console.log(`Duration: ${callDetail.end_timestamp - callDetail.start_timestamp}ms`);
if (callDetail.transcript) {
  console.log(`Transcript: ${callDetail.transcript}`);
}

Output

  • LLM configuration with custom prompt
  • Voice agent with selected voice
  • Test call initiated (phone or web)
  • Call status and transcript retrieved

Error Handling

Error Cause Solution
422 Invalid voice_id Unknown voice List available voices in Dashboard
400 No phone number Number not registered Register number in Dashboard first
Call not connecting Destination unreachable Try web call for testing

Resources

Next Steps

Configure agent behavior: retellai-core-workflow-a