From retellai-pack
Manages Retell AI outbound phone campaigns with rate limiting, lists calls by status/duration, retrieves recordings and transcripts via TypeScript SDK.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin retellai-packThis skill is limited to using the following tools:
Manage phone calls: outbound campaigns, call transfers, recordings, and concurrent call handling.
Builds Retell AI voice agents using TypeScript SDK with custom LLM prompts, function calling to APIs, voice configs, and call handling settings.
Makes AI-powered outbound phone calls via Bland AI to book restaurants, make appointments, or inquire about services. Provides transcripts, summaries, and optional recordings.
Creates outbound phone calls, web calls, and batch calls using Vapi API. Useful for automated calls, testing voice assistants, scheduling campaigns, or programmatic conversations.
Share bugs, ideas, or general feedback.
Manage phone calls: outbound campaigns, call transfers, recordings, and concurrent call handling.
retellai-core-workflow-aconst phoneNumbers = ['+14155551001', '+14155551002', '+14155551003'];
for (const number of phoneNumbers) {
try {
const call = await retell.call.createPhoneCall({
from_number: process.env.RETELL_PHONE_NUMBER!,
to_number: number,
override_agent_id: agentId,
metadata: { campaign: 'appointment-reminder', date: '2026-04-01' },
});
console.log(`Called ${number}: ${call.call_id}`);
} catch (err) {
console.error(`Failed to call ${number}: ${err.message}`);
}
// Rate limit: space calls apart
await new Promise(r => setTimeout(r, 2000));
}
const calls = await retell.call.list({
sort_order: 'descending',
limit: 20,
});
for (const call of calls) {
console.log(`${call.call_id}: ${call.call_status} — ${call.end_timestamp - call.start_timestamp}ms`);
}
const callDetail = await retell.call.retrieve(callId);
if (callDetail.recording_url) {
console.log(`Recording: ${callDetail.recording_url}`);
}
if (callDetail.transcript) {
console.log(`Transcript:\n${callDetail.transcript}`);
}
| Error | Cause | Solution |
|---|---|---|
| Call fails immediately | Bad phone number format | Use E.164 format |
| No recording | Recording not enabled | Enable in agent settings |
| Concurrent limit | Too many active calls | Upgrade plan or queue calls |
Handle call events: retellai-webhooks-events