From retellai-pack
Creates Retell AI voice agent with LLM config, tests via phone/web calls, retrieves status/transcript using TypeScript SDK.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin retellai-packThis skill is limited to using the following tools:
Create your first Retell AI voice agent and make a test phone call.
Builds Retell AI voice agents using TypeScript SDK with custom LLM prompts, function calling to APIs, voice configs, and call handling settings.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Create your first Retell AI voice agent and make a test phone call.
retellai-install-authimport 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}`);
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}`);
// 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}`);
// 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
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}`);
}
| 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 |
Configure agent behavior: retellai-core-workflow-a