Approve Every AI Credit Lookup Before It Runs: Approvals and Spending Limits

Connected assistants can now be set to ask before every paid lookup, and each connection gets its own monthly spending limit. How an approval works from request to rerun, and which teams should turn it on.

A man and a woman looking at a laptop together at a high table in an open-plan office
Photo by Walls.io on Unsplash
On this page
  1. The two settings
  2. How human approval for AI agents works, start to finish
  3. What it looks like from the assistant’s side
  4. Seeing what’s waiting, from your own systems
  5. Who should turn approvals on
  6. Who probably doesn’t need it
  7. A few details we get asked about

Picture a sales manager, call him Harlan, who connects one AI assistant to the company’s account so his six reps can pre-qualify callers without leaving the chat. It works. Then a rep pastes a spreadsheet of 40 phone numbers into the chat and asks it to “check all of these.” Nobody did anything malicious. But that’s up to $300 of lookups, and nobody confirmed that all 40 people agreed to a credit check.

That’s the gap we’ve closed today with human approval for AI agents. Any assistant connected to our MCP server can now be set to stop and ask before each paid lookup, and every connection gets a monthly spending limit of its own. Both are choices on the consent page, the same page where you already pick permissions, live or test, and how long a connection lasts.

When we launched the MCP server in October, we said controls for teams were coming. These are them.

The two settings

Approve each paid lookup. On a live connection set this way, lookup_phone and unlock_tradelines don’t run when the assistant calls them. They answer with an approval link instead. A person on your account looks at the request and approves it (or doesn’t), and only then does it go through.

A monthly spending limit for the connection. Set a dollar figure, and once that connection’s lookups for the month reach it, it stops running paid calls until the month turns over. The account-wide limit you may already have still applies on top. Think of the new one as a budget for one assistant, and the old one as the ceiling for the whole company.

You can use either one alone. They solve different problems: approvals are about whether this lookup should happen, and the spending limit is about how much one connection can spend if nobody’s watching.

How human approval for AI agents works, start to finish

Here’s one approval, in order, with Gwendolyn, one of Harlan’s reps, on the phone with a caller.

  1. Gwendolyn asks. “The caller at (555) 555-0137 just agreed to a credit check for the 60-month plan. Can you pre-qualify him?”
  2. The assistant calls lookup_phone with the number and consent as the purpose, as it would have before.
  3. The tool answers with an approval request, not a result. It includes an approval ID and a link. The assistant tells Gwendolyn the lookup is waiting for sign-off and shares the link.
  4. Harlan gets an email. It goes to whoever connected the app, which in this case is him. It says an assistant is waiting on a paid lookup.
  5. Someone approves it on API / Developer, then Apps & AI, where pending requests wait.
  6. The assistant checks with the new check_approval tool, sees it’s approved, and runs the same lookup_phone call again with the approval ID attached.
  7. The lookup runs, once. The approval covers that one stored request. The assistant can’t reuse it for a different number, or for the same number tomorrow.

If nobody acts, the approval expires after 24 hours and the request is dropped. Nothing is charged for a request that never ran.

A small thing we like about this: the approval link is something a person has to open and click. The assistant can ask, wait and check, but it can’t approve its own request. Which seems obvious, until you’ve watched enough software approve its own requests.

A young man at a desk holding a smartphone with notifications on its screen
Photo by Jonas Leupe on Unsplash

What it looks like from the assistant’s side

Most of the time, nothing special. The assistant reads the approval request the way it reads any tool result, and the server’s instructions tell it what to do next: share the link, wait, call check_approval, then run the call again with the approval_id. If a request was denied or expired, check_approval says so and the assistant can tell the user.

The spending limit behaves the same way. When a connection has used its monthly budget, the paid tools return an error explaining that, and the model passes it along in plain language (“this connection has reached its spending limit for the month”). Free calls keep working: reading past lookups with get_lookup and list_lookups, checking usage, listing sandbox numbers.

Test connections don’t ask for approval. They’re free, so there’s nothing to approve, and you’ll want to practice the rest of the flow without someone clicking a button every two minutes. To try the approval steps themselves, a live connection with a low spending limit is the cheapest way to see it end to end.

Seeing what’s waiting, from your own systems

Three new webhook events go with this:

Event When it fires
app.connected Someone connected an app or assistant to the account
app.disconnected A connection was ended
approval.requested A connected assistant is waiting on approval for a paid call

approval.requested is the useful one for busy teams. Instead of relying on the email, you can post it into a team channel, put it in a queue, or page whoever’s covering. Like all our webhooks, the payloads carry IDs and event details but never personal or credit data, so it’s safe to route them through chat tools. If you’ve already built something like our webhook lead router, this is the same signing and the same retry behavior.

Apps & AI also now shows what each connection spent this month, next to its settings, so a manager can see at a glance which assistant is doing the work.

Who should turn approvals on

Our honest view: approvals are for situations where the person asking isn’t the person accountable for the spend or the purpose.

Shared assistants. One connection used by a team is the clearest case. The person who connected it gets the email, so they see every paid request even when they’re not the one typing.

New teams and new hires. The first few weeks are when people paste lists, mistake “they called us” for “they agreed to a credit check,” or ask for tradelines on everyone. An approval step is a cheap way to catch that and coach it. Our post on credit check consent is worth sending around at the same time.

Anyone connecting a live account for the first time. You’ve practiced in test mode. Turning on approvals for the first live month lets you see what the assistant actually asks for before you let it run on its own.

Who probably doesn’t need it

A solo owner with their own assistant. If you connect your assistant and you’re the only one using it, you’d be approving your own requests. The assistant already tells you the price and asks for the purpose before a paid call. A monthly spending limit on the connection is plenty.

A team doing high volume with a clear process. If reps run dozens of pre-qualifications a day from inbound calls where consent is captured up front (the setup in our AI loan pre-qualification post), approving each one turns into a rubber stamp. An approval nobody reads protects nothing. Use a per-connection limit sized to a normal month and review the logs weekly instead.

Your own scripts on API keys. Approvals are a setting on assistant connections. Agents you build yourself that use an API key as a Bearer token aren’t affected, and they’re better guarded by your own code and the account-wide limit. A developer walkthrough on building a credit check agent is coming.

A few details we get asked about

  • Approvals don’t replace a permissible purpose. The approver is saying “yes, run this.” Your business still needs a real permissible purpose for each lookup, and the record of the person’s OK still belongs in your system. We’ll go deeper into how the FCRA treats requests made by software in an upcoming post on the FCRA and AI agents.
  • Setting it up. The two new settings are on the consent page, so you choose them when someone connects an assistant, and you can change either one later on Apps & AI without reconnecting. Disconnecting is still one click on Apps & AI and takes effect immediately.
  • Price. Nothing changes. The server is still part of the API plan, lookups are still $7.50 when we find someone and $2 more for tradelines, and no match is still free.

If you’re setting up an assistant for a team this month, our earlier guides on pulling a credit report with Claude and pulling credit reports with AI tools cover the connecting part, and the API page lists every tool and setting. Then pick your settings: approvals on for the shared connection, a spending limit on every connection, and the approval.requested webhook pointed somewhere a person will actually see it.

One last suggestion for the first week: set the per-connection limit lower than you think you need. Raising a limit takes a minute. Explaining a surprise invoice to the person who signs the checks takes longer.

Share this article LinkedIn X Facebook Email

Written by

Jordan AveryHead of Content

Jordan Avery runs the blog at Phone Number Credit Score and writes about phone data, credit scores, tenant and lead screening, and the rules that come with all of it. Most posts start as a question a customer asked us.

Try it now

Have a phone number? Find their credit score.

Name, current address and real FICO® Score 4 from TransUnion data. Results in seconds. As low as $9.99.

Have a phone number? Find their score.

Type in any U.S. phone number. We’ll tell you who it belongs to, where they live and their real credit score.

  • Soft pull, they’re never notified
  • Results in seconds
  • As low as $9.99

Use it for a permissible purpose, like the person’s OK. The rules