An AI agent that places real outbound calls.
rejento doesn't run its own dialer. We delegate the actual phone call + speech-to-text + agent loop to a specialist provider (Vapi by default, with Bland.ai and Retell as alternates), feed it a tightly-scoped system prompt + the candidate's phone, then receive webhooks on every status change. The transcript, recording, and structured outcome land on the candidate's timeline.
The four call purposes
schedule_interview
The agent dials the candidate, confirms it's the right person, offers 3–6 interview slots you provide, locks the chosen slot, and ends. ~3 minutes max. Fires the WhatsApp fallback if the candidate doesn't pick up.
follow_up
Three-question status check: still actively looking, notice period, expected-salary delta. ~2 minutes.
live_interview
A 10-minute structured screening interview covering 6 fixed topics (role recap, top skills, why-looking, salary, notice, questions). The transcript becomes a scorecard candidate.
reference_check
Dials a third-party reference (NOT the candidate). Three fixed questions — strengths, willingness-to-rehire score, hidden context. The system prompt explicitly avoids protected-characteristic questions and closes with confidentiality. ~5 minutes max.
Where to trigger calls
- Candidate page → AI call button: opens a modal to pick purpose + proposed slots.
- Candidate page → Reference check button:dedicated flow that collects the reference's name + phone + relationship + context.
- Talk to rejento: the chat agent can place schedule-interview / follow-up / live- interview calls inside a conversation.
- Automations: not yet exposed as an action kind — coming.
Plan + provider configuration
The platform's voice provider is configured via Fly secrets:
- AI_CALL_PROVIDER = vapi / bland / retell (auto-detected if absent)
- VAPI_API_KEY + VAPI_PHONE_NUMBER_ID (the recommended pair)
- BLAND_API_KEY or RETELL_API_KEY as alternates
Settings → AI voice callingcard shows you live whether the platform is configured + how many of your monthly cap you've consumed.
What you get after the call ends
- Status: answered, no_answer, completed, or failed.
- Transcript: full verbatim, searchable.
- Recording: provider-hosted audio file.
- Structured outcome:LLM-extracted JSON — slot chosen, salary update, sentiment of the candidate's replies.
- WhatsApp fallback: if the call goes unanswered, we drop a templated WA message with the same proposed slots / questions (when Meta Cloud API is configured).