Skip to main content
A connection’s status says whether its data is current and whether you must act. Every connection shows one status. You see it on the connection’s row in the sidebar’s Connections section, on the card that opens when you point at the row, on the connection’s page, and on the source’s card in the connection manager. Ari reads the same status when you ask about a connection. To fix a problem step by step, see Fix a connection that needs attention. The mark at the right end of a connection’s row in the sidebar says whether anything needs you. With no connections, the section reads No connections yet. The Connections section shows one row per app. An app you connected more than once, such as one QuickBooks company per entity, gets a parent row with its connections nested under it, and the parent shows the mark of its most urgent connection. A connection with no name of its own, such as an unfinished setup, is named for its source, and several such connections of one source are numbered in the order they were created: Stripe, Stripe (2). Ari uses the same names in its chat notes. Under a parent row, a nested MCP server or API that has only its app’s name reads MCP server or API, with the same number.

Statuses

Synced

The data reached your Model, and the last sync finished. Mark: none. Action: none. The card also shows Last synced and Used in.

Connected

An MCP server or an API is ready for Ari to call. Nothing syncs from it, so it has no Last synced time. Mark: none.

Syncing

A sync is running, or a first sync is queued. Mark: blinking orange dot. The connection’s page reads A sync is running now. No Reconnect or Retry is offered while it runs. While cfo.ai waits on the provider, the line says how long it has waited:
  • Waiting [time] so far for [source]’s first sync to finish. It may add what the provider last reported, then If it hasn’t finished by [date and time], this sync stops at its next check after that. cfo.ai checks every 10 minutes and waits up to 20 hours. For a source that syncs through Fivetran, the provider’s report reads Fivetran reports its first historical sync of the account still running, or, when the source’s API has stopped answering Fivetran for now, Fivetran rescheduled its first historical sync of the account because the source’s API allows no more calls for now; its next attempt is due at [time]. cfo.ai keeps waiting through a rescheduled first sync and asks Fivetran to run it again once that time has passed.
  • Waiting [time] so far for cfo.ai’s request allowance at [source] to reset. The allowance for this organization is used up or nearly used up, and the sync resumes on its own when it resets. It ends the same way. Xero, for example, limits how many requests an app can make each day.
  • Waiting [time] so far for [source] to finish a sync it is still running. cfo.ai loads that sync once it finishes. If [source] still reports it running at the first check after [date and time], this sync stops. A source that syncs through Fivetran was still running its own sync 45 minutes after cfo.ai asked for one. cfo.ai starts no new sync and checks again about every 10 minutes for up to 20 hours. The data from the last loaded sync stays usable meanwhile.

Partly synced

The last sync finished without some of the source’s tables. The data that arrived is usable. Mark: steady orange dot. The line names up to three tables and counts the rest, and it says whose side the cause is on once cfo.ai has read why each table failed:
  • Until cfo.ai has read the cause, for a moment after the page opens or for as long as cfo.ai cannot read the connection’s sync outcome: [Source]’s last sync couldn’t refresh [tables]. Everything else is up to date, and cfo.ai will try again on the next sync. Action: Reconnect, as for any connection that needs attention, until the cause replaces this line.
  • The source refused this connection’s sign-in or permissions for every missed table, such as a QuickBooks account that cannot read accounts: [Source] refused this connection access to [tables], so the last sync didn’t refresh that data. A reconnect with an account that can read it lets the next sync refresh it. Everything else is up to date. Action: Reconnect.
  • The source refused some tables and the rest failed for another reason: the refusal sentence, then A problem on cfo.ai’s or [Source]’s side kept [tables] from refreshing, and cfo.ai will try again on the next sync. Everything else is up to date. Action: Reconnect, which repairs only the refused tables.
  • No table was refused: A problem on cfo.ai’s or [Source]’s side kept the last sync from refreshing [tables]. Reconnecting won’t change it. cfo.ai will try again on the next sync, and everything else is up to date. Action: none; the next sync retries the missing tables.
A refusal is the source answering a sync request with a sign-in or permission error, such as HTTP 401 or 403, or QuickBooks Online’s Permission Denied. A rate limit, a timeout, or a failure in cfo.ai’s own reader is not a refusal.

Setup not finished

Someone started connecting the source and did not finish. The setup may have failed, been abandoned, or still be open in someone’s tab. Mark: gray dot. Line: Syncing won’t begin until setup is finished. Actions: Finish setup continues the same connection, and Cancel setup removes it without asking, because it holds no data yet. A source whose setup cannot be resumed, such as Stripe (Direct), offers only Cancel setup on the card, with Setup wasn’t finished. Cancel it and connect [source] again. On the connection’s page, the line says Remove it and the button is Remove connection. People who cannot manage connections see the line and no button.

Connection failed

Setup failed before the source linked. Mark: red triangle. Line: the failure’s reason, or Retry to set it up again. Action: Retry.

cfo.ai lost access

The source revoked cfo.ai’s access, for example after a password change or an expired authorization. Mark: red triangle. Line: Reconnect to start syncing again. Action: Reconnect, then sign in to the same company the connection already holds.

Missing access in [source]

The source is not sharing some tables the reports need, such as Missing access in NetSuite SuiteAnalytics. Mark: red triangle. Line on the card: [Source] isn’t sharing some tables the reports need. Open the connection for the steps to fix it. The connection’s page shows an Access missing badge and the steps. For NetSuite they read: NetSuite isn’t sharing some tables cfo.ai needs for your financial statements. Have your NetSuite admin create an access token for the Data Warehouse Integrator role, then reconnect NetSuite with that token. Changing only the role ID won’t work. Missing tables: … Action: fix the access in the source, then Reconnect.

Sync failed

There are two kinds:
  • The provider’s own sync failed, often for a moment. Mark: steady orange dot. Line: [Source]’s sync hit an error. cfo.ai will try again on the next scheduled sync. When the provider gave a reason, its report sits between the two sentences, for example BigQuery’s sync hit an error. Fivetran reports: Problem with view (BigQueryConnectorTask_VIEW_ERROR): [the view Fivetran could not read]. cfo.ai will try again on the next scheduled sync. Fivetran’s report gives each failing task as its message, its code in parentheses, and its details, which name what failed, such as the view or table; several tasks are separated by semicolons. Ari reads the same report. Action: none, or Retry to run it now. When the report names something to fix at the source, fix that first. When Fivetran reports the connector broken by a generic sync failure and nothing else, and its setup tests pass, the nightly refresh starts one ordinary sync on up to two later nights; a success clears the count, and a connector that needs a new sign-in or is paused is not retried this way.
  • cfo.ai could not tell why the sync failed. Mark: red triangle. Line: the source’s own reason, or The last sync couldn’t finish. Actions: Retry and Investigate with Ari.

First sync not ready

The provider had not finished its own first sync of your account 20 hours after cfo.ai began waiting. Mark: steady orange dot. Line: [Source]’s data still wasn’t ready when cfo.ai stopped waiting for its first sync, so this sync ended without data. The next scheduled sync tries again. Action: none, or Retry to start a new wait. A later sync that the source still reports running when the 20 hours run out does not get this status. The connection reads Sync failed with a red triangle, and the line is the reason sentence the provider’s latest report still showed its sync running 20 hours after the wait for that sync began at [time], followed by what the source last reported. The next scheduled sync tries again, or select Retry.

Paused until next sync

The source’s daily request allowance ran out. Mark: steady orange dot. Line: [Source]’s daily limit was reached. Progress is saved, and syncing picks up on the next scheduled run. Action: none. Signing in again would not change the limit, so Reconnect is not offered.

Sync stopped

cfo.ai’s data warehouse refused the data. Mark: steady orange dot. Line: Contact cfo.ai support if it isn’t fixed soon. Action: none; only cfo.ai can fix it. When several causes apply at once, this one is shown, because nothing else helps until it is fixed.

Stopped

Someone stopped the latest sync. Nothing broke. Mark: gray dot. Line: This sync was stopped before it finished. Action: Retry.

No queries yet

The source’s data synced, but no saved query brings it into your Model yet. Mark: red triangle, or a steady orange dot when someone else must set up the queries. Line: Data synced. No queries saved yet., or Data synced. Someone with access can set up queries with Ari. Action: Set up queries with Ari, for people who can edit the connection.

No data found

The sync finished, but neither the source nor its queries returned any rows. Mark: red triangle. Line: The last sync finished but found no data. Action: Investigate with Ari.

Upload incomplete

A file upload connection has no file attached yet. Upload the file again.

Needs attention

The general status for a connection that stopped short of your Model. MCP servers and APIs show it with a next step, such as Reconnect this source to continue. for a server whose saved sign-in no longer works.

Not connected

A source was added, for example from a list Ari asked you to connect, but nothing was connected yet. Mark: gray dot.

Statuses for MCP servers and APIs

In Settings → Connections and on the MCP and API tabs, a server or API reads one of these, followed by its next step when it has one. An MCP server’s row also shows the state of its saved sign-in. The state describes the saved credential, not whether the provider answered or how fresh its data is.

Connection actions

A connection never offers both Retry and Reconnect. No action appears while a sync is running, when only cfo.ai support can fix the failure, when cfo.ai has turned the source off, or for people who cannot manage connections. To rename a connection, open its page and select its name.

The connection’s page

Select a connection’s row to open its page. Its sections, top to bottom: At the bottom, people who can manage connections see Remove connection, or Remove file for an upload.

A removed connection’s page

A link to a connection that was removed, such as a table cell’s View source, opens a page headed Connection removed, with No longer in this workspace under it. Its Status section shows a Removed badge and reads This connection was removed, so its data no longer updates. The values it already imported stay in your model until you replace them. Imported names the saved queries that still read the connection, and Used in lists the Pages. Replace with Ari opens a new chat with an unsent request that names the connection and what it imported, so Ari can tell you which Variables and Pages use that data and help you replace it with a current source or a new file. Add a connection opens the connection manager, for people who can add connections.

Directory cards

The connection manager’s Integrations tab shows one card per source.

Messages when a new connection is refused

These appear in the plan tooltip on a directory card:
  • Your plan includes [N] standard integrations and all are in use. Upgrade to add more. (or premium integrations)
  • Your plan has reached its integration limit. Upgrade to add more.
  • Integrations aren’t included in your plan. Upgrade to connect this one.
  • Premium integrations aren’t included in your plan. Upgrade to connect this one.
  • Unable to resolve an active plan for this workspace. Choose a plan to connect integrations.
  • Your plan is scheduled to change to [plan] on [date], [what it includes]. Keep your current plan to connect this one.
These come from cfo.ai when a setup starts:
  • your plan has no room for another integration of this kind — upgrade your plan to add more
  • this workspace has reached this integration’s connection limit
  • start the free trial to add integrations
  • this workspace has no active plan — choose one, or settle the outstanding payment, to add integrations
  • this workspace has a plan change scheduled, and the upcoming plan has no room for this integration — keep your current plan to add it
  • this integration is temporarily disabled by cfo.ai; contact support to re-enable it
Signing in to a company the workspace already holds shows [Company] is already connected, with Use the existing connection instead of adding another., or It is connected as “[name]”. Use that connection instead of adding another., or It needs reconnecting. Reconnect it instead of adding another. with a Reconnect button.

Messages while connecting

The Google flow reads Opening Google authentication…, Choosing in Google…, Completing connection…, and Connected. Rillet reads Creating connection…, Verifying API key…, and Connected. Fivetran sources read Creating connection… and Opening Fivetran…, and a failure reads Connection failed.

Messages about uploaded files

Google Sheets and Google Drive connections report their import on the row and in the page’s Import section:

Messages about MCP servers and APIs

Messages in a chat

When Ari syncs a connection, a line above the message box reads Syncing with the connection’s name. Selecting it opens a card with the run’s two steps, Sync source data and Run saved queries, its progress, such as Step 1 of 2, and View connection and Stop. A failed run reads Couldn’t finish and keeps the connection’s own status and action. A run you stopped reads Stopped. When a scheduled sync finds that a source you connected stopped updating and a repair needs you, cfo.ai opens a chat titled [Connection name] stopped updating in your chat list. When a workspace has no active plan, a refresh you ask for answers data syncing is paused for this workspace — choose a plan, or settle the outstanding payment, to resume syncing, and the nightly refresh skips the workspace until it has a plan again.