AI voice agents for product cross-sell in banking offer only what the bank's own system has marked a customer eligible for, in words compliance approved, after verifying the customer. They never give financial advice, and any "should I" question goes to a banker. An outbound offer call generally needs prior express written consent before the first dial.
Key Takeaways
- Offer only what the bank's system marks eligible, read in approved words.
- Any "should I" question goes to a banker through a fixed line.
- Applications never happen by voice. The bank's system sends its own secure link.
One recommendation on an offer call can turn a product mention into financial advice. We show how Dograh reads offers from the bank's system, verifies the customer first, where advice stops, consent for outbound calls and why applications go through the bank's link. For other sales calls, see our guide to AI outbound sales calls.
Offers come from the bank's system
The bank decides who is eligible for what, and the agent only reads the answer. Your offer engine or core system already knows which customers qualify for a savings account, a credit line increase or a card, and on what terms. The agent never works that out itself, and it never computes a rate.
Pre-Call Data Fetch can ask your system for this customer's eligible offer as the call connects, and the greeting waits for the reply. An HTTP API tool can ask again mid-call, for example once a service request is done. The prompt has the agent read one offer and its terms exactly as your system returns them, and a no ends the topic for that call.
The words that describe each product should be the ones compliance approved. Put the approved product sheets in a Knowledge Base file and select it on the agent's node, so answers about fees or features come from that text. Inside a step, the model still writes its own sentences, so test the common questions and read the transcripts.
Products from an affiliate add a rule. Under Regulation V's affiliate marketing rule, a bank may not use eligibility information it received from an affiliate to make a solicitation unless the customer got a clear notice, a simple way to opt out, and did not opt out. Keep that check in your offer system, so an affiliate's insurance or brokerage product never reaches the call list for a customer who opted out.
Verify before naming any account detail
An offer built on account data can only come after the customer passes a check. The customer's number pulls up their accounts, but only a check shows the account holder is the one listening. So each call greets first, verifies second and discloses only after that.
Pre-Call Data Fetch can load the eligible offer early, and the prompt tells the agent to keep it unspoken until the check passes. The bank decides the check, such as date of birth with the last four digits of an account number. A line like "your balance qualifies you for a higher rate" names account facts, so it never comes before that. A customer who doesn't pass hears no offer at all, and the agent logs a request for a callback instead.
Our guide to AI voice agents for banking and credit unions follows the same order of checks on support calls.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Where advice stops
The agent describes an offer and never recommends one. It does not say "you should", compare a product with the customer's own situation, or tell them which option is better for them. Questions such as "should I move my savings into this?" go to a banker.
A prompt alone cannot guarantee that wording, so put the handover in fixed text. Add an "advice question" pathway whose Transition Speech plays a line like this:
"I can't give financial advice on this call. I'll pass your question to one of our bankers, who can walk you through it."
Choosing that pathway is the model reading the condition you wrote, never a hard rule. Test it with many phrasings and check the transcripts to prove the line played. On a speech-to-speech model, text Transition Speech does not play, so record the line as a clip.

Investment and annuity products stay off the agent entirely. A customer who asks about them goes to licensed staff through Transfer Call, which runs on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI. The licensed banker's line rings first, and the customer is connected after the banker picks up. Nothing about the call carries over on its own, so an HTTP API tool writes the customer's question to your CRM first.
Then check the calls. Replace the QA node's System Prompt with instructions that flag any call where the agent recommended a product or compared it with the customer's situation, and keep the Sample Rate at 100% while you start.
Consent for outbound offer calls
Who starts the call decides the consent you need. An offer inside a call the customer placed, made after their request is solved, generally needs no consent under the robocall rules. AI voice agents for upsell and cross-sell covers that split in full.
A call you place to make the offer is different. The FCC's 2024 ruling on AI-generated voices brings an AI voice under the Telephone Consumer Protection Act (TCPA) as an artificial voice. The FCC's calling rules then generally require prior express written consent before an artificial voice sales call reaches a mobile, and having an account at your bank does not supply that consent by itself. Build the call list in your own system from customers whose written consent is on file.
The greeting names the bank, and a customer who says stop has the opt-out written to your own do-not-call list through an HTTP API tool before the call ends. Each campaign's calling hours follow a single time zone, so a bank with customers across regions runs a separate campaign for each zone. Affiliate notices, fair-lending duties and state rules add more on top, so confirm your offer program with counsel before the first campaign.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Applications go through the bank's own link
A yes on the call starts an application, but the application itself never happens by voice. The agent records the yes, and an HTTP API tool asks the bank's system to send its own secure application link by text or email. The agent never asks for a card number, a full account number or a Social Security number, because the recording and transcript keep every word.
Dograh is self-hostable, so a bank can run it on its own servers, and then Dograh never receives customer call data. What runs there is orchestration, meaning the call flow, the tools and the telephony. The speech and language models form a separate layer the bank chooses, and customer audio stays in-house only when those models run on the bank's servers too. One default to change before launch is telemetry, because a self-hosted install sends anonymous usage data until ENABLE_TELEMETRY=false is set and POSTHOG_API_KEY is removed.
Start with offers on inbound service calls, where consent is simplest, then move to outbound offers once your consent records are clean.
Glossary
- Eligibility information
- What a bank knows about a customer's accounts or history that decides which offers they qualify for. When it comes from an affiliate, Regulation V requires a notice and an opt-out before it is used to make an offer.
- Affiliate marketing rule
- The part of Regulation V that stops a company from using an affiliate's eligibility information about a customer to make a solicitation unless the customer was told and could opt out.
- Transition Speech
- A fixed line, typed text or a recorded clip, that Dograh plays word for word when the call moves along a pathway. It is where a no-advice handover line belongs.
- Prior express written consent
- A signed agreement, electronic signatures included, that allows sales calls with an artificial voice to a named number. An account at the bank does not give it by itself.

