---
title: "Brightflag Integration"
description: "Connect AI agents to Brightflag, an AI legal spend management platform. Agents open matters and budgets, create and assign allocations, update invoice payment status, and read vendor invoices and accrual configuration."
url: https://flowrunner.ai/integrations/brightflag
date_modified: 2026-08-11T09:36:14-07:00
---

# Brightflag

[Finance](https://flowrunner.ai/integrations/category/finance-accounting)

Connect AI agents to Brightflag, an AI legal spend management platform. Agents open matters and budgets, create and assign allocations, update invoice payment status, and read vendor invoices and accrual configuration.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 59 actions · Custom auth · available

[Brightflag website](https://app.brightflag.com/) · [Platform Documentation](https://app.brightflag.com/developer) · Capability data verified 2026-08-04

1.  A schedule opens the run, because the Brightflag API exposes no webhook or event subscription surface and this connector ships no triggers
2.  List AP Batches By Date Range and Get AP Batch Invoices return the invoices in the period's payment batches
3.  Search Invoices reconciles those against the invoice summaries Brightflag holds for the same period
4.  The agent matches each payment in the AP ledger to a batch invoice by reference and isolates the ones that do not match
5.  Get Invoice Document downloads the PDF for every unreconciled invoice and stores it alongside the exception
6.  Legal operations receives the reconciled batch, the exceptions, and the matters each one belongs to
7.  A finance owner confirms the batch before Update Invoice Payment Status writes paid status back against each invoice

## What This Integration Enables

Legal spend is the one line in the budget where the reviewer usually cannot judge the item. Outside counsel bills in narrative, across dozens of timekeepers and hundreds of line entries. By the time an invoice reaches a legal operations lead, the useful questions are structural rather than linguistic: is this matter within budget, which entity's profit and loss wears it, and has it already been accrued. Brightflag exists to answer those, and this connector gives an agent the objects underneath them.

The surface is broad. Matters are created and retrieved by identifier or by your own reference, which matters more than it sounds because it lets a flow find a matter using the identifier your intake system already holds. Matter budgets are created, updated, and deleted, and Assign Matter Allocations decides which parts of the business carry the cost. Allocations and allocation options are managed independently, so the coding structure itself can be maintained from a flow rather than by hand. Vendors, vendor offices, and pay sites cover the law firm side. Purchase orders are created, updated, and assigned to or unassigned from matters. Trading entities, tax rates, and predefined value attributes cover the reference data that everything else codes against. Request Report produces Matter Spend, Line Items, Timekeepers, Accruals, and Invoices extracts for a BI tool. Submit Legal Service Request and Upload Legal Service Request Attachment handle intake from the business.

The invoice surface deserves precision, because it is narrower than the object list suggests and it shapes where automation can help. This connector reads invoices and reports on them. Search Invoices returns invoice summaries, Get Invoice Document downloads the PDF into FlowRunner file storage and returns a URL, and Update Invoice Payment Status reports payment status back from an accounts payable system. There is no approve or reject action here. Invoice review and approval happen inside Brightflag, where the line item detail and the AI review sit. A flow's job around invoices is therefore reconciliation and reporting, not adjudication, and building it any other way means building something the API does not offer.

Accruals are similar and worth stating plainly for the same reason. The connector reads and updates a matter's accrual configuration through Get Matter Accrual Config and Update Matter Accrual Config, and Accruals is available as a report type through Request Report. Posting an individual accrual is not an operation in this connector. What a flow can do is keep the configuration that drives accruals correct, and pull the resulting numbers out for the close.

There are no triggers. The Brightflag API exposes no webhook or event subscription surface, so every flow is driven by a schedule or by an event in another system, meaning an intake form submitted, a matter opened in a contract system, or a payment run completing in the ERP.

### Without FlowRunner

**Matters opened by email request**: A legal request arrives as a message and someone creates the matter when they get to it

**Payment status reconciled by hand**: Two spreadsheets are compared to work out which invoices the AP system has actually paid

**Accrual inputs assembled at close**: Budgets and allocations are gathered under deadline from whoever last touched them

### With FlowRunner

**Matters opened from the request**: The intake record creates the matter, its budget, and its allocations in one pass

**Payment status written back as a step**: Reconciliation runs on a schedule and the exceptions are the only thing a person reads

**Reporting pulled rather than chased**: Spend reports are requested and delivered into the tools finance already uses

## Use Case Scenarios

### Intake that opens the matter, the budget, and the coding in one pass

A business unit submits a legal request through an intake form in [Airtable](https://flowrunner.ai/integrations/airtable). The flow calls List Matter Categories to resolve the category, Get Trading Entity By Name to resolve the entity from the requesting business unit, and Create Matter with your own reference identifier carried through so the matter can be found later without a lookup table. It then calls Create Matter Budget with the approved figure and Assign Matter Allocations to code the matter to the right cost centres, using List Allocation Options to validate the codes rather than trusting the form. If the request came with documents, Submit Legal Service Request and Upload Legal Service Request Attachment carry them across. The requester gets one confirmation with the matter reference, and legal operations stops rekeying intake forms.

### Reconciling what was paid against what Brightflag believes

Monthly, the flow calls List AP Batches By Date Range for the period and Get AP Batch Invoices for each batch, then Get AP Batch Export where the export file is needed for the ledger. It matches each invoice against the payment run in the ERP by reference and splits the result in two. The matches become a proposed payment status write. The exceptions get Get Invoice Document called on them so the PDF is attached to the exception rather than referenced, and go to a review queue in [Slack](https://flowrunner.ai/integrations/slack) with the matter and the vendor named. Only the reconciled set moves forward, and only after a person confirms it, for the reason set out below.

### Spend reporting that arrives instead of being chased

Legal operations needs Matter Spend by entity at every close, and the usual process is asking somebody to export it. Instead the flow calls List Reports to resolve the report definition, Request Report for the period, and delivers the result into [Google Sheets](https://flowrunner.ai/integrations/google-sheets) with the matter and vendor context already joined from List Vendors and List Trading Entities. The same pattern serves Timekeepers and Line Items reporting for rate compliance review. Nothing is written to Brightflag in this flow at all, which is the point: the highest volume use of this connector is read, and read flows are where an agent should be running unattended.

## Human-in-Loop Highlight

The gate cannot sit on invoice approval, because this connector does not approve invoices. That decision lives inside Brightflag with the line item detail in front of it, and a page that promised otherwise would be describing software that does not exist. The gate sits one step later, on Update Invoice Payment Status, and it is the right place for a reason specific to what that action means. Every other write here describes an intention: a budget is a plan, an allocation is a coding decision, a purchase order is a commitment. Payment status is a statement about the past. Writing it asserts that money has left the organisation and reached a specific law firm, and Brightflag treats that assertion as fact. Matter spend, accrual reporting, and the budget consumption every legal operations lead reads at close are all computed from it.

A wrong write is technically correctable, since payment status can be written again. What cannot be recalled is what happened in between: an invoice marked paid that was not gets excluded from the chase, so a firm goes unpaid while the ledger says otherwise, and an invoice marked paid twice inflates the matter's spend in a report somebody has already circulated. Both errors are quiet, both surface weeks later, and both are indistinguishable from a data problem when they do. So the agent does everything that is genuinely mechanical, meaning pulling the AP batches, matching against Search Invoices by reference, downloading the documents for anything that will not match, and separating the clean set from the exceptions. Then it stops: "42 invoices reconciled against the March payment run, total 318,400. 3 could not be matched, documents attached, listed by matter and vendor. Write paid status for the 42?" A finance owner confirms the set, and the write runs on that confirmation. The agent did the reconciliation, which is the part nobody enjoys and machines are reliably good at. A person owned the assertion about money, which is the part that should never have been delegated. That is [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) doing what [Orchestration as a Service](https://flowrunner.ai/concepts/orchestration-as-a-service) is for: the work moves, and the accountability stays where it belongs.

One further caution belongs on the pay site actions rather than a second gate. Create Pay Site and Enable Pay Site determine where remittance to a vendor is directed. That makes them a different category of write from the rest of this connector and a well known target for payment redirection fraud, so they should be treated as a controlled change with verification outside the automated path, not as ordinary vendor maintenance.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

59 actions

### Matters

4

-   **Create Matter** Creates a matter, optionally carrying your own reference identifier and custom attributes as a JSON object. The anchor object that budgets, allocations, invoices, and purchase orders all attach to.
-   **Get Matter By ID** Retrieves a matter by Brightflag identifier.
-   **Get Matter By Reference** Retrieves a matter by your own reference. The lookup that lets a flow find a matter using the identifier the intake system already holds, with no mapping table.
-   **List Matter Categories** Lists the matter categories available. Call it to resolve a category before creating a matter rather than passing a string and hoping.

### Matter Budgets and Accruals

7

-   **Get Matter Budgets** Returns the budgets set on a matter. The read behind any budget consumption check.
-   **Create Matter Budget** Creates a budget on a matter, with budget units passed as a JSON structure.
-   **Update Matter Budget** Updates an existing matter budget.
-   **Delete Matter Budget** Deletes a matter budget.
-   **Assign Matter Allocations** Assigns cost allocations to a matter, deciding which parts of the business carry its spend. Allocation lines are passed as a JSON array.
-   **Get Matter Accrual Config** Reads a matter's accrual configuration.
-   **Update Matter Accrual Config** Updates a matter's accrual configuration. This changes the basis on which accruals are calculated at close rather than posting an accrual itself.

### Allocations

8

-   **List Allocations** Lists the allocations defined on the account.
-   **Create Allocations** Creates allocations, passed as a JSON array.
-   **Update Allocation** Updates an allocation.
-   **Set Allocation Active** Activates or deactivates an allocation, which controls whether it can be used going forward without removing its history.
-   **List Allocation Options** Lists the allocation options available. Use it to validate a code from an intake form before assigning it.
-   **Create Allocation Option** Creates an allocation option, extending the coding structure.
-   **Update Allocation Option** Updates an allocation option.
-   **Set Allocation Option Active** Activates or deactivates an allocation option.

### Vendors and Offices

8

-   **List Vendors** Lists vendors, meaning the law firms and legal service providers on the account.
-   **Get Vendor By ID** Retrieves a vendor by Brightflag identifier.
-   **Get Vendor By Reference** Retrieves a vendor by your own reference, matching the pattern used for matters.
-   **Create Vendor** Creates a vendor, with vendor access passed as a JSON structure.
-   **List Vendor Offices** Lists the offices belonging to a vendor. Rate and jurisdiction questions usually resolve at office level rather than firm level.
-   **Get Vendor Office By ID** Retrieves a vendor office by identifier.
-   **Get Vendor Office By Reference** Retrieves a vendor office by your own reference.
-   **Find Vendor Office By Address** Finds a vendor office by address. Useful when matching an incoming invoice to the right office of a large firm.

### Invoices

3

-   **Search Invoices** Searches invoice summaries. The read behind reconciliation, spend analysis, and any exception queue built on this connector.
-   **Get Invoice Document** Downloads the invoice PDF into FlowRunner file storage and returns a file URL. The right action for attaching the actual document to an exception rather than a reference to it.
-   **Update Invoice Payment Status** Reports payment status back from an accounts payable system. This asserts that money has moved, and matter spend and accrual reporting are computed from it, which is why this page argues it should always pass through a person.

### Accounts Payable

4

-   **List AP Batches** Lists accounts payable batches.
-   **List AP Batches By Date Range** Lists accounts payable batches within a date range. The starting point for a period reconciliation.
-   **Get AP Batch Invoices** Returns the invoices in a batch.
-   **Get AP Batch Export** Returns the batch's export file, for loading into the ledger.

### Purchase Orders

4

-   **Create Purchase Order** Creates a purchase order, with line items passed as a JSON array.
-   **Update Purchase Order** Updates a purchase order.
-   **Assign Purchase Order To Matter** Assigns a purchase order to a matter, connecting a commitment to the work it funds.
-   **Unassign Purchase Order From Matter** Removes that assignment.

### Tax Rates

3

-   **List Tax Rates** Lists the tax rates configured on the account.
-   **Create Tax Rate** Creates a tax rate.
-   **Deactivate Tax Rate** Deactivates a tax rate, retiring it for future use while leaving historical invoices coded against it intact.

### Pay Sites

5

-   **List Pay Sites** Lists pay sites, meaning the remittance destinations configured for vendors.
-   **Get Pay Site** Retrieves one pay site.
-   **Create Pay Site** Creates a pay site. Because a pay site determines where money is remitted, this belongs in a controlled change process with verification outside the flow.
-   **Enable Pay Site** Enables a pay site for use. Same caution as creation: this is a payment routing change, not vendor maintenance.
-   **Disable Pay Site** Disables a pay site, which is the fast lever when a remittance destination is in doubt.

### Trading Entities

4

-   **List Trading Entities** Lists the trading entities on the account, meaning the legal entities that spend is attributed to.
-   **Get Trading Entity By ID** Retrieves a trading entity by identifier.
-   **Get Trading Entity By Name** Retrieves a trading entity by name, which is how a flow resolves a business unit from an intake form.
-   **Create Trading Entity** Creates a trading entity.

### Reporting

2

-   **List Reports** Lists the report definitions available, covering Matter Spend, Line Items, Timekeepers, Accruals, and Invoices.
-   **Request Report** Requests a report for a period. The delivery mechanism for getting Brightflag data into a warehouse, a sheet, or a BI tool without anyone exporting it by hand.

### Matter Custom Fields

5

-   **List Predefined Value Attributes** Lists the custom field attributes that carry predefined values.
-   **Get Predefined Values** Returns the predefined values for an attribute.
-   **Add Predefined Values** Adds predefined values to an attribute, extending a picklist from an upstream system of record.
-   **Rename Predefined Values** Renames predefined values, which changes how they appear everywhere they are already in use.
-   **Delete Predefined Values** Deletes predefined values from an attribute.

### Legal Service Requests

2

-   **Submit Legal Service Request** Submits a legal service request with its form fields passed as a JSON structure. The intake action, and the natural bridge from a form or a service desk into legal operations.
-   **Upload Legal Service Request Attachment** Attaches a supporting document to a legal service request, so the request arrives with its evidence rather than a promise of it.

## Frequently Asked Questions

### What can FlowRunner do with Brightflag?

FlowRunner agents can run Create Matter, Get Matter By ID, and Get Matter By Reference in Brightflag, plus 56 more actions.

### Does connecting Brightflag to FlowRunner require OAuth?

Brightflag uses a custom authentication method to connect to FlowRunner.

### Can Brightflag trigger a FlowRunner workflow automatically?

Brightflag doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Brightflag?** This integration exposes Brightflag to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/brightflag. Site index: https://flowrunner.ai/llms.txt
