engineeringFebruary 17, 2026

How AI Powers FUNDesk: Statement Analyzer, Built-in Assistant, and Bot Integration

Last updated: February 2026

There are three distinct AI stories in FUNDesk, and each one solves a different problem for MCA brokers.

The first: the Statement Analyzer. Upload a merchant's bank statements, and AI-powered underwriting produces average daily balance, NSF count, deposit patterns, negative day count, and a preliminary paper grade. This replaces the manual spreadsheet analysis that eats hours of every broker's week.

The second: a built-in AI assistant inside the CRM web UI. You open the chat panel, ask a question in plain English, and the assistant queries your merchant data, creates records, or updates deals. It streams responses in real time and requires confirmation before any write operation.

The third: external bot integration through the FUNDesk Bot skill file. Your AI bot, running in a terminal or connected to whatever tools you use, gets a skill file that teaches it the entire CRM API. Generate the file, drop it into your bot config, and your agent can manage merchants, deals, tasks, and notes from wherever you already talk to it.

This post is a deep-dive into all three systems. If you want to understand how the AI features work before using them, this is where to start.

What Each System Does

Statement Analyzer (Bank Statement Underwriting)

The Statement Analyzer is the AI feature most specific to MCA brokerage. When a merchant submits bank statements, your team uploads them to FUNDesk. The analyzer processes the statements and produces:

  • Average Daily Balance: The mean balance across the statement period
  • NSF/Overdraft Count: Number of non-sufficient funds events, a key risk indicator
  • Deposit Patterns: Daily, weekly, and monthly deposit frequency and amounts
  • Negative Day Count: How many days the account was in the negative
  • Revenue Estimates: Projected monthly revenue based on deposit patterns
  • Preliminary Paper Grade: A through D classification based on the combined metrics

This analysis feeds directly into the funder matching engine. A merchant graded as "B paper" gets matched against funders whose buy box includes B-grade deals. The whole chain, from bank statement upload to funder recommendation, happens inside the CRM.

The analyzer uses your choice of LLM through OpenRouter. Claude, GPT-4o, Llama, Gemini, pick whichever model gives you the best results for your volume. Your statements are stored securely in FUNDesk. Only the extracted text data goes to the LLM for analysis.

Built-in AI Assistant (In-App)

When you are inside the CRM, the assistant lives in the chat panel. It has 13 tools: 8 read and 5 write.

Read tools (auto-execute):

  • search_records: full-text search across all records
  • list_records: list records with optional filters
  • get_record: get a specific record by ID
  • list_objects: list all object types
  • get_object: get object schema with attributes
  • list_tasks: list tasks (optionally filtered)
  • get_notes: get notes for a record
  • list_lists: list saved lists

Write tools (require confirmation):

  • create_record: create a new record
  • update_record: update an existing record
  • delete_record: delete a record
  • create_task: create a task
  • create_note: add a note to a record

Read tools execute immediately. Write tools show a confirmation card in the UI: you review the action, click Confirm or Cancel. No data changes without your approval.

For MCA brokers, this means you can ask questions like:

  • "Which merchants in Texas have deals over $50k?"
  • "Show me all deals in the Submitted to Funder stage"
  • "What is the total pipeline value for B-grade paper this month?"
  • "Find all merchants with factor rates above 1.35"

External Bot Integration (FUNDesk Bot)

When you are outside the CRM, your AI bot handles it. The bot uses a skill file that documents the full REST API: 19 endpoint categories covering workspaces, objects, records, search, tasks, notes, lists, and notifications.

The skill file is a Markdown document with YAML frontmatter. The bot reads it, understands the API structure, and makes HTTP requests on your behalf. No SDK, no special client library. Just REST calls with a Bearer token.

Here is what that looks like in practice:

> add the merchant from this morning's call to the CRM

  Creating record in FUNDesk...

  done Mike's Auto Repair, Dallas TX
  Paper grade: B, Requested amount: $75,000

  Want me to run the funder match?
> show me all deals closing this week

  Querying FUNDesk...

  4 deals expected to fund this week:
  - Dallas Plumbing Co ($45k, Contracts Signed, factor 1.29)
  - Sunrise Deli ($25k, Funder Approved, factor 1.35)
  - Metro Tire Shop ($120k, Contracts Signed, factor 1.22)
  - Green Valley Landscaping ($35k, Funder Approved, factor 1.31)

  Total pipeline: $225k
  Total commissions: ~$18k
> add a note to the Metro Tire deal about the funder call

  Added note to Metro Tire Shop ($120k, Contracts Signed):
  "Spoke with funder rep. They need updated bank statement
   from February. Merchant agreed to send by EOD tomorrow."

  done. Want me to create a follow-up task?

The bot chains operations naturally. It searches for "Metro Tire," finds the deal, creates a note, then offers to create a follow-up task. Multi-step workflows, no manual API calls.

How the Statement Analyzer Works

The Statement Analyzer follows a streamlined document processing pipeline:

  1. Upload: The broker uploads 3 months of bank statements (PDF or image) to a deal record
  2. Extraction: The system extracts text from PDFs. For scanned documents, OCR runs first
  3. Parsing: The extracted text is structured into transaction data: dates, amounts, descriptions, running balances
  4. Analysis: The structured data goes to the AI model via OpenRouter with a specialized prompt that asks for specific metrics
  5. Scoring: The system calculates average daily balance, NSF count, deposit patterns, negative days, and assigns a paper grade
  6. Storage: Results are stored as structured fields on the deal record, visible in both the UI and through the API
  7. Matching: The paper grade and metrics feed directly into the funder matching engine

The AI model never sees the raw PDF. It receives structured transaction data with amounts and dates. Merchant PII (names, account numbers) can be stripped before analysis if your compliance requirements demand it.

Why AI Instead of Rules

Traditional bank statement analysis uses rule-based scoring: if average daily balance > $X and NSFs < Y, then grade = B. This works but is brittle. Edge cases break it constantly.

The AI approach handles nuance. A merchant with a low average daily balance but consistent, growing deposits might be better paper than the numbers suggest. A business with seasonal patterns needs different evaluation than a steady-revenue operation. The AI considers context that rules miss.

You can also customize the analysis. If your funder network values certain metrics more heavily, the system can weight them accordingly.

How the Built-in Assistant Works

The in-app assistant follows a streamlined pipeline: you type a question, the AI processes it against your workspace data, and results stream back in real time.

Dynamic Schema Awareness

The assistant is not static. It reads your workspace schema at request time. Every object type, every attribute, every status value is available to the AI on each request.

Add a "Funders" object with custom attributes for buy rates and advance limits, and the assistant knows about it on the next message. No configuration, no retraining. The AI automatically understands your MCA data model, including your 12-stage pipeline, paper grade options, and industry categories.

Read/Write Safety Model

Read operations (searching records, listing deals, checking pipeline status) execute immediately. Write operations (creating records, updating deals, deleting data) show a confirmation card in the UI first.

For example, if you say "Create a deal for Metro Tire Shop, amount $120k, B paper," the assistant first searches for Metro Tire Shop to check if it already exists, then presents a confirmation card: Create Deal, Business: Metro Tire Shop, Amount: $120,000, Factor Rate: 1.22, Paper Grade: B. Two buttons: Confirm and Cancel. Only Confirm triggers the write.

This safety model is critical for MCA brokers dealing with live deals worth tens of thousands of dollars. No data changes without your explicit approval.

Real-Time Streaming

Responses stream in real time. Tokens appear as they are generated, so the UI updates progressively instead of making you wait for a complete response. This makes the assistant feel responsive even for complex queries.

Model Flexibility

The assistant uses OpenRouter, which means you choose from Claude, GPT-4o, Llama, Gemini, and 200+ other models. Set an OpenRouter API key and pick a model in workspace settings. One integration, every model available.

How Bot Integration Works

The external bot integration works differently from the built-in assistant. Instead of being embedded in the CRM, the bot learns your CRM's API from a skill file: a structured document that teaches it how to interact with your data.

The Skill File

The skill file is generated from within FUNDesk and contains everything your bot needs to understand the CRM: what objects exist (Merchants, Funders, Deals), what fields are available (factor rate, paper grade, holdback percentage), and how to make API calls to read and write data.

The skill file includes:

  • Authentication details: How the bot authenticates with your CRM instance
  • API endpoint documentation: Every available operation with request/response formats
  • Schema information: Your workspace's objects, attributes, and valid values

The 19 API Endpoint Categories

The skill file documents these endpoint groups:

Category Endpoints Operations
Workspace 2 Get details, update settings
Workspace Members 2 List members, add member
Objects 3 List objects, get object, get attributes
Records 5 List, create, get, update, delete
Search 1 Full-text search across all records
Tasks 5 List, create, update, delete, get by record
Notes 6 List all, get by ID, get by record, create, update, delete
Lists 6 List all, get details, get entries, add entry, update entry, remove entry
Notifications 3 Get notifications, mark read, mark all read

Every endpoint includes the HTTP method, path, parameters, and expected request/response format. The bot reads this once, then makes standard HTTP requests with the Bearer token.

Environment Variables and Auth

Two environment variables power the integration:

  • FUNDESK_API_URL: the base URL of your CRM instance (e.g., https://crm.yourbrokerage.com)
  • FUNDESK_API_KEY: a workspace-scoped API key (prefixed with fd_sk_)

API keys are generated in Settings > API Keys inside the CRM. Each key is scoped to a single workspace. All requests include Authorization: Bearer $FUNDESK_API_KEY.

The response envelope is consistent across all endpoints:

  • Success: { "data": ... }
  • Error: { "error": { "code": "...", "message": "..." } }

How the Bot Uses the Skill File

When you ask your AI bot to do something CRM-related, it recognizes the request matches the fundesk skill, reads the skill file, plans a sequence of API calls, executes them over HTTP, and formats the results.

For "add the merchant from this morning's call to the CRM," the bot reads its call notes (from another skill or context), calls GET /api/v1/objects/merchants/attributes to learn the schema, calls POST /api/v1/objects/merchants/records to create the merchant, and returns a summary.

The bot chains operations naturally because it has the full API documentation in context. Search for a merchant, get the deal ID, create a note attached to it.

Setup: 2 Minutes

  1. Go to Settings > FUNDesk Bot in the CRM
  2. Select an API key (or create one in Settings > API Keys)
  3. Download the generated SKILL.md
  4. Place it in your bot's skill directory
  5. Add the config to your bot configuration:
{
  "skills": {
    "fundesk": {
      "enabled": true,
      "env": {
        "FUNDESK_API_URL": "https://your-instance.com",
        "FUNDESK_API_KEY": "fd_sk_your_key_here"
      }
    }
  }
}
  1. Restart your bot

The CRM generates the skill file with your instance URL pre-filled. The only manual step is pasting your API key into the config.

Why Three Systems Instead of One

Statement Analyzer: you need AI-powered underwriting without manual spreadsheet analysis. Upload bank statements, get a paper grade and metrics.

Built-in assistant: you are already in the CRM and want to ask a quick question or create a record without navigating forms. "Show me all B-paper deals over $50k" is faster than clicking through filters.

Bot integration: you are not in the CRM. You are in your terminal or talking to your bot through whatever interface you use, and the bot handles CRM operations without you opening a browser.

Same underlying platform, different access patterns. The Statement Analyzer processes documents. The built-in assistant works directly within the CRM interface. The bot calls the REST API over HTTP from wherever you use it.

Challenges We Solved

Bank statement variability. Every bank formats statements differently. Chase, Bank of America, Wells Fargo, local credit unions all produce different PDFs. FUNDesk's extraction layer handles this variability automatically, so the AI gets clean, structured data regardless of the source.

AI accuracy and safety. AI models can sometimes misinterpret requests. FUNDesk handles this with a confirmation-before-write safety model, result capping to keep responses focused, and error recovery that lets the AI self-correct when something goes wrong.

Schema flexibility. MCA brokerages have different data models. Some track ISOs as a separate object, others embed them in merchant records. FUNDesk's AI automatically adapts to whatever schema you configure, no retraining required.

Skill file maintenance. The skill file is generated from your current schema. If you add custom objects or attributes, regenerate the file from Settings and your bot picks up the changes immediately.

Lessons Learned

Direct Data Access Over Search Indexes

CRM data is structured. Brokers ask "show me deals over $50k with B paper" or "create a task to follow up with Metro Tire." The AI queries your data directly rather than searching through document embeddings, which means more accurate results for structured business data.

Schema-Aware AI Feels Smart

Users think the assistant is "learning" their data. In reality, the AI reads your current schema on every request. Add a custom object for funders with buy rate fields, and the assistant knows about it on the next message. No retraining needed.

The Read/Write Safety Split is Non-Negotiable

Read operations are safe. Worst case: wrong results, user ignores them. Write operations are dangerous. If the AI misinterprets "delete the deal" and deletes 50 records, trust is gone. Confirmation cards solve this cleanly. For MCA brokers dealing with live deals worth tens of thousands of dollars, this safety net is critical.

Skill Files are a Powerful Pattern

Teaching a bot through a structured document (instead of requiring a custom integration) has advantages: it is human-readable, easy to update, and works with any bot that can read text. Simple format, powerful result.

Streaming Makes AI Feel Fast

Without streaming, users wait 3-5 seconds for a full response. With SSE streaming, tokens appear as they are generated. Users see progress. It feels fast even when total generation time is the same.

Domain-Specific AI Features Win

The Statement Analyzer is not a generic document analysis tool. It is specifically built for MCA bank statement underwriting. That specificity makes it dramatically more useful than a general-purpose AI feature. Know your user, build for their exact workflow.

Try It

Statement Analyzer: upload bank statements to any deal record and click "Analyze." Results appear in seconds.

Built-in assistant: open the CRM, navigate to Chat, and start asking questions about your merchants and deals.

Bot integration: go to Settings > FUNDesk Bot, generate your skill file, and connect your AI bot. Two minutes. For the full walkthrough, see How to Connect Your AI Bot to FUNDesk.

All three systems work independently. Use one, two, or all three. The CRM is the same underneath.


Start Free at FUNDesk | Live Demo | Documentation


Related:

Deploy in under 5 minutes. Free forever.

All posts