This recipe uses a payment-reminder scenario to illustrate the mechanism, since it’s the clearest example of voice and chat working as one campaign. Revve doesn’t have banking-specific compliance features (no built-in regulatory certification, PCI handling, or KYC). Anything about tone, disclosures, or calling hours here is a script you write into the campaign’s Instructions field — plain language the AI follows — not a canned compliance feature. Review your script with your compliance team before using it for real collections outreach.
Prerequisites
- A published Voice Agent that can talk about the payment (amount, due date, what happens next).
- A published SMS Chat Agent — see SMS Channel Setup if you haven’t connected one yet.
- A list of contacts with phone numbers to enroll (a CSV, or contacts already in your Contacts list).
Step 1: Create the campaign and attach both agents
Go to Campaigns in the left sidebar, click New Campaign, and give it a name and description:
Click Create, then Start Editing to open the working draft (see Creating a Campaign for the draft/publish mechanics if this is your first campaign).
On the Setup tab, under Campaign Agents, click + Add Agent twice and set a Role for each:
Turn on Enable Multi Channels. This is what lets the same contact be worked across both agents — the AI reads the call outcome and decides whether the next action is another call, an SMS, or nothing (contact reached, exit). With it off, the campaign would stick to a single channel and the SMS fallback would never fire.
Step 2: Write the Engagement Flow, Instructions, and Exit Conditions
These three fields are what the AI reads before every decision — the channel choice comes from the Instructions, not from a separate setting.Engagement Flow
Add four states with + Add State:Instructions
Paste and adjust:Exit Conditions
Paste and adjust:Step 3: Tune the voice agent for this call type
A few settings on your Voice Agent’s Model Settings and Advanced Settings tabs matter more for payment reminders than the defaults — full reference in Voice Agent Settings:- Temperature — lower it from the 0.7 default toward 0.3. Payment reminders are exactly the “compliance-sensitive calls where wording must stay consistent” case that setting’s guidance calls out: you want the agent repeating your amount/due-date/tone script consistently, not paraphrasing it differently on every call.
- Max Duration — the 5-minute default is fine here. A reminder call that’s still running at 5 minutes has gone off-script; keeping the cap short bounds cost on calls that go nowhere.
- Voicemail detection (Advanced Settings → Voicemail) — turn it on. Outbound reminder calls are exactly where voicemail is worth enabling, and a personalized message beats a silent hangup. Write a Voicemail Message using the contact’s name, e.g. “Hi
{{firstName}}, this is [Company] calling about your upcoming payment — please call us back or reply to our text to confirm.”
Step 4: Enroll contacts and test
Before touching a real list, enroll yourself: on the Enrollments tab, click + Enroll, choose one at a time, and add your own contact record. Let the campaign call you, don’t answer, and confirm the SMS follow-up arrives with the right amount, due date, and tone. Once that feels right:- CSV import for a list — map columns (Phone Number is required), and for anything beyond a handful of contacts, choose Scheduled enrollment (e.g. staggered batches) rather than Immediate, so you’re not placing hundreds of calls at once.
- API enrollment for contacts flowing in continuously from your core banking system or CRM — the same
POST /api/campaigns/enrollmentscall documented in Creating a Campaign, with thecontactIdof the customer whose payment is due.
Test scenarios
Run these against your own enrollment (or a small test batch) before enrolling a real list:
Fix issues at the field level: wrong channel choice or timing → sharpen the Instructions wording (attempt counts, hours, fallback trigger); wrong tone or content on the call → sharpen the voice agent’s system prompt, not the campaign Instructions.
Variations
- Overdue vs. upcoming, same campaign: adjust the Instructions’ opening line to branch on
[days until/since due date]rather than running two separate campaigns — the Engagement Flow and agents stay the same. - Loan application follow-up: same voice-then-SMS mechanism, different subject — Role becomes “Call applicants about a pending loan application status” and the SMS agent’s Role becomes “Follow up with a status update if the call isn’t answered.” Swap the Instructions script accordingly; the setup is identical.
- Branch appointment reminder: call to confirm an upcoming branch or advisor appointment, SMS fallback with a reschedule option if the call isn’t answered. Exit Conditions become “confirmed” or “rescheduled” instead of “payment_confirmed”. If the appointment doesn’t exist yet — you want the agent to book one live, on the call — see Build a Voice Agent That Books Appointments Mid-Call instead; this recipe’s pattern is for reminding and rescheduling, not the initial booking.
- Give customers a way out to a human: if disputes are common, add Call Transfer to the voice agent so it can hand a live call straight to a person instead of only escalating after the fact.