Fixes / Login & access

Grok Bot stuck in a QuickBooks 2FA loop

The Bot signs into QuickBooks Online, gets a 2FA prompt, and can't complete it. How to give a Bot durable QuickBooks access without handing it your Intuit login.

Short answerDon't fight 2FA. Create a separate Intuit user for the Bot with a role limited to what the routine does, connect QuickBooks through the app's OAuth flow once from your own machine, and let the connector hold the refresh token. The Bot never sees the 2FA prompt again.

Symptom

The routine opens QuickBooks Online, the login succeeds, then Intuit asks for a code sent to your phone. The Bot waits. You get a text at 2am. Or worse: it asks you for the code in chat, you paste it, and now that session lives on the shared computer.

Why it happens

Intuit re-challenges on new devices and datacenter IPs. The cloud computer is both. Every fresh browser session looks like a new device.

The fix

  1. In QuickBooks Online, add a new user for the Bot. Use a role like "Standard user, limited to Accounts Payable" for an AP triage routine, or a custom role with only the reports it needs.
  2. Connect QuickBooks using the OAuth-based connector (native plugin if available; otherwise via Composio) from your own browser, signed in as that Bot user. You complete the 2FA once, on a device Intuit trusts.
  3. The connector holds the refresh token. Routines call the API through the connector; no browser login is involved.
  4. Add an approval gate for any routine that creates bills or payments. Read and categorise unattended; write with a human tap.

If you must use the browser

Some QuickBooks screens (custom report layouts, some settings) have no API. For those, keep a human step. Do not store your own Intuit session on the shared computer.

Grok Bot + QuickBooks · Finance & AP ops playbook

Verified 28 Aug 2026 · Facts about Grok Bot change during beta. See changelog.

Build Grok Bot Team