Skip to content

Connect FloQast to ChatGPT: Manage Reconciliations and Analytics

Learn how to connect FloQast to ChatGPT using a managed MCP server. Automate reconciliations, checklist analytics, and financial compliance audits with AI.

Uday Gajavalli Uday Gajavalli · · 9 min read
Connect FloQast to ChatGPT: Manage Reconciliations and Analytics

If you need to connect FloQast to ChatGPT to automate month-end close reporting, track reconciliations, or audit financial controls, you need a Model Context Protocol (MCP) server. This server acts as the translation layer between ChatGPT's JSON-RPC tool calls and FloQast's REST API. You can either spend weeks building and maintaining this infrastructure yourself, or use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL.

If your team uses Claude instead of OpenAI, check out our guide on connecting FloQast to Claude, or explore our broader architectural overview on connecting FloQast to AI Agents.

Giving a Large Language Model (LLM) read and write access to your core financial operations software is a serious engineering challenge. You have to handle API authentication, map nested financial schemas to MCP tool definitions, and deal with FloQast's specific data structures. Every time an endpoint updates, you have to rewrite your server code, redeploy, and test the integration.

This guide breaks down exactly how to use Truto to generate a secure, managed MCP server for FloQast, connect it natively to ChatGPT, and execute complex accounting workflows using natural language.

The Engineering Reality of the FloQast API

A custom MCP server is a self-hosted integration layer that translates an LLM's tool calls into REST API requests. While the open MCP standard provides a predictable way for models to discover tools, the reality of implementing it against a specialized financial API is painful.

If you decide to build a custom MCP server for FloQast, you own the entire API lifecycle. Here are the specific integration challenges that break standard CRUD assumptions when working with FloQast:

Strict Financial Period Filtering You cannot just query the FloQast API to "get all reconciliations." Financial data is strictly bound to periods. To retrieve reconciliations or checklists, the API strictly requires filter [month] and filter [year] parameters, or a combination of filter [modifiedBefore] and filter [modifiedSince]. If your MCP server does not explicitly force the LLM to provide these parameters via strict JSON Schema requirements, ChatGPT will hallucinate broad date ranges, resulting in API rejection and agent failure.

TLC (Trial Balance, Ledger, Close) Dependencies FloQast organizes data hierarchically through entities and TLCs. To perform an operation - like listing tags or running checklist analytics - the context of the entity and TLC is often required. The LLM cannot simply patch a record in isolation; it must first discover the correct environment context. Your MCP tool descriptions must explicitly instruct the LLM on how to chain these calls: first, fetch the entity ID, then fetch the checklists tied to that entity.

Rate Limits and 429 Errors Financial APIs enforce strict rate limits to protect backend database performance during month-end close spikes. Truto handles this cleanly by normalizing upstream rate limit information into standard IETF headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset). However, it is critical to note that Truto does not retry, throttle, or apply backoff on rate limit errors. When the FloQast API returns an HTTP 429, Truto passes that error directly to the caller. Your AI agent or MCP client is completely responsible for executing retry and exponential backoff logic. If your custom server fails to surface these errors correctly, the LLM will assume the write operation succeeded, leading to dangerous inconsistencies in your financial tracking.

Generating the FloQast MCP Server

Instead of building a server from scratch, handling token lifecycles, and manually writing JSON schemas for every FloQast endpoint, you can use Truto to generate a managed MCP server.

Truto's approach is dynamic and documentation-driven. It derives tool definitions directly from the integration's configuration and documentation records. A tool only appears in the MCP server if it has a corresponding documentation entry - acting as a quality gate to ensure only well-described endpoints are exposed to the LLM.

There are two ways to generate your FloQast MCP server URL: via the Truto UI or via the API.

Method 1: Via the Truto UI

  1. Navigate to the Integrated Accounts page in your Truto dashboard and select your connected FloQast account.
  2. Click the MCP Servers tab.
  3. Click Create MCP Server.
  4. Select your desired configuration (e.g., name, allowed methods like read or write, specific tags, and an optional expiration date).
  5. Click Save and copy the generated MCP server URL. This URL contains a cryptographic token that securely identifies the account environment.

Method 2: Via the API

You can dynamically provision an MCP server for a specific customer or internal team using the Truto API. The API validates that the integration is AI-ready, generates a secure token stored in Cloudflare KV, and returns the endpoint.

curl -X POST https://api.truto.one/integrated-account/{integrated_account_id}/mcp \
  -H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "FloQast Month-End Assistant",
    "config": {
      "methods": ["read", "write"]
    }
  }'

The response provides the URL you will feed into ChatGPT:

{
  "id": "mcp_abc123",
  "name": "FloQast Month-End Assistant",
  "config": {
    "methods": ["read", "write"]
  },
  "url": "https://api.truto.one/mcp/a1b2c3d4e5f6..."
}

Connecting the MCP Server to ChatGPT

Once you have the Truto MCP URL, you need to route ChatGPT's tool calls to it. Because Truto handles the Server-Sent Events (SSE) or HTTP POST protocol mapping internally, configuration takes less than a minute.

Method A: Via the ChatGPT UI

For enterprise or developer users operating directly inside the ChatGPT interface:

  1. In ChatGPT, navigate to Settings -> Apps -> Advanced settings.
  2. Enable Developer mode (MCP support requires this flag to be active).
  3. Under the MCP servers / Custom connectors section, click to add a new server.
  4. Enter a Name (e.g., "FloQast Integration").
  5. Paste the Truto MCP URL into the Server URL field.
  6. Save the configuration. ChatGPT will immediately connect, perform an initialize handshake, and fetch the available FloQast tools.

Method B: Via Manual Config File

If you are running a local ChatGPT developer agent, an open-source ChatGPT clone, or a custom multi-agent framework utilizing standard MCP configuration files, you can connect using the SSE transport command.

Create or update your mcp.json (or equivalent configuration file):

{
  "mcpServers": {
    "floqast-truto": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "--url",
        "https://api.truto.one/mcp/YOUR_GENERATED_TOKEN"
      ]
    }
  }
}

When the client boots, it executes the NPX command to establish a persistent connection with the Truto proxy, mapping ChatGPT's flat input namespace into proper FloQast query and body parameters.

Hero Tools for FloQast

When the MCP initialization completes, Truto dynamically exposes FloQast endpoints as snake_case tools. Here are the highest-leverage tools available for your LLM workflows.

list_all_flo_qast_reconciliations

Retrieves reconciliations for a specific period. This tool is the backbone of automated close reporting, allowing the LLM to determine which accounts are balanced and which are lagging.

Usage Note: The LLM must supply filter [month] and filter [year], or date modification filters. If you omit these, the FloQast API will reject the request.

"Fetch all FloQast reconciliations for November 2025. Identify any accounts that do not have a 'Completed' status and group them by entity."

list_all_flo_qast_checklist_analytics

Extracts checklist analytics, providing insights into completion rates, workflow bottlenecks, and entity-level progress.

Usage Note: Crucial for generating daily stand-up reports for accounting teams during the close week.

"Pull the checklist analytics for October 2025. Summarize the checklist completion rates across all entities and highlight any workflow that is currently under 50% completion."

get_single_flo_qast_transaction_status_by_id

Checks the state of a specific transaction event within FloQast. This allows the LLM to trace processing states and identify associated error messages.

Usage Note: You must have the specific transaction ID. This is typically used in a chain after listing recent updates or bulk creations.

"Check the transaction status for ID 'tx-99812'. If it contains any error messages, explain what caused the failure based on the API response."

list_all_flo_qast_controls

Lists compliance controls with optional filters for month, year, activity status, and program ID. Essential for internal audit readiness and SOX compliance tracking.

Usage Note: Allows the LLM to verify that necessary controls are active and assigned to the correct owners for the given financial period.

"List all active FloQast controls for Q4 2025 under program ID 'prog-112'. Verify that each control has a designated assignee."

create_a_flo_qast_checklist

Creates a new checklist item in FloQast. The LLM can dynamically generate ad-hoc tasks, assign signatures, and define schedules based on unstructured input.

Usage Note: Requires companyId, folderName, schedule, signatures, and description. The LLM handles the complex JSON structure automatically.

"Create a new FloQast checklist item for the 'US Operations' company under the 'Accruals' folder. The description is 'Review unexpected cloud infrastructure expenses'. Assign it to user ID 'u-554'."

update_a_flo_qast_folder_by_id

Updates the lock state of a specific folder. This is used to programmatically freeze financial periods or unlock them for late adjustments.

Usage Note: Requires the folder ID. The LLM must be explicitly instructed on when to invoke lock operations to avoid disrupting active accounting work.

"Update the folder lock state for folder ID 'fld-887' to 'Locked'. Confirm when the operation is complete."

For the complete tool inventory and schema definitions, visit the FloQast integration page.

Workflows in Action

Exposing APIs to ChatGPT transitions you from building static dashboards to executing dynamic, agentic workflows. Here is how accounting teams use these MCP tools in practice.

Workflow 1: The Month-End Close Status Brief

During the critical days of a month-end close, the Financial Controller needs a real-time understanding of bottlenecks without logging into multiple systems.

"Analyze our FloQast close progress for November 2025. First, get the checklist analytics to see our overall completion rate. Then, list all reconciliations for this period and identify the top 5 reconciliations still pending. Summarize this into a daily status brief."

Execution Steps:

  1. ChatGPT calls list_all_flo_qast_checklist_analytics passing filter [month]=11 and filter [year]=2025.
  2. ChatGPT analyzes the analytics payload to determine overall entity completion rates.
  3. ChatGPT calls list_all_flo_qast_reconciliations with the same period filters.
  4. ChatGPT correlates the data, filtering out completed reconciliations, and formats a concise executive summary prioritizing the highest-risk lagging accounts.

What the user gets back: A formatted Markdown report detailing the exact completion percentage of the close, immediately followed by the specific reconciliation names, owners, and accounts that are causing delays.

Workflow 2: Audit Trail and Control Verification

Internal auditors need to ensure that compliance controls are being actively managed and that unauthorized changes haven't occurred.

"I need to run a compliance check for October 2025. List all active controls. Then, pull the audit trail logs starting from October 1st. Cross-reference the logs to see if any users modified the lock state of folders outside of standard procedures."

Execution Steps:

  1. ChatGPT calls list_all_flo_qast_controls to establish the baseline of active controls.
  2. ChatGPT calls list_all_flo_qast_audit_trail_logs passing filter [startDate]=2025-10-01.
  3. ChatGPT parses the log array, specifically looking for API actions related to folder states or tag detachments.
  4. If anomalies are found, ChatGPT extracts the userApiKey._id and cross-references it with list_all_flo_qast_users to name the offending party.

What the user gets back: A comprehensive audit summary that lists the active controls and highlights any exact timestamps and user names associated with irregular folder unlocking events, completely automating a manual IT audit task.

Security and Access Control

Giving an LLM access to your financial reconciliation system requires strict guardrails. Truto MCP servers provide four layers of security to scope and control access:

  • Method Filtering: Limit the server to read operations only. This allows the LLM to analyze analytics and reconciliations but entirely prevents it from creating checklists or locking folders.
  • Tag Filtering: Restrict the LLM to specific functional areas. If FloQast resources are tagged with compliance in the integration config, you can generate an MCP server that only exposes audit and control tools.
  • require_api_token_auth: Enable this flag to require the ChatGPT client to pass a valid Truto API token in the Authorization header. This ensures possession of the URL alone is insufficient for access.
  • expires_at: Generate short-lived MCP servers with a specific time-to-live. Cloudflare KV automatically drops the token, and background alarms clean up the database records, ensuring temporary contractor access revokes itself.

Moving Past Manual Close Management

Integrating FloQast with ChatGPT using a managed MCP server removes the friction of manual financial reporting and compliance auditing. Instead of forcing engineers to build pagination handlers, maintain JSON schemas, and monitor API deprecations, Truto auto-generates the tools your AI agents need directly from the integration's documentation.

By routing tool calls through Truto, your ChatGPT workflows inherit normalized rate limit headers, strict access controls, and dynamic schema resolution. Your finance team gets an intelligent assistant capable of executing complex multi-step close operations, and your engineering team avoids writing integration boilerplate.

FAQ

How does the FloQast MCP server handle API rate limits?
Truto normalizes FloQast's upstream rate limit information into standard IETF headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset). Truto passes HTTP 429 errors directly to the caller, meaning your AI agent is responsible for handling retries and exponential backoff.
Can I filter which FloQast tools the LLM can access?
Yes. When creating the MCP server in Truto, you can use method filtering (e.g., restricting to only 'read' operations) or tag filtering to limit access to specific endpoints like checklists or reconciliations.
Do I need to maintain JSON schemas for FloQast API endpoints?
No. Truto dynamically generates the JSON-RPC tool definitions and JSON schemas directly from the active integration documentation. The tools are evaluated at runtime, ensuring your LLM always has the correct parameters.

More from our Blog