FlowRunner
PricingContact
Theme
Start Free

SingleCase

ERP

Connect AI agents to SingleCase, a Czech legal practice management platform. Agents open cases against a client, file documents, track time and expenses, raise quick invoices and mark them sent to accounting, and read the retainers and case messages behind each matter.

61 actions API key available
Platform Documentation ↗ Capability data verified 2026-08-04
A monthly billing run starts, or a scheduled poll of List Timers over the period picks up the entries to be billed
List Timers returns each entry's user, case, date, total and billed time in seconds, activity and note
List Sheet Activities and List Billing Roles resolve the activity categories and rates this firm actually uses
Entries with billed time above total time, or with no note, are separated rather than rolled into a total
Create Quick Invoice raises the issued invoice for the case or client with its single total amount
The responsible lawyer receives the draft invoice, the entries behind it, and the exceptions
A person signs off before Mark Invoice Sent To Accounting sets the accounting lock on the record

What This Integration Enables

SingleCase is a Czech legal practice management platform, and the object it is built around is the case, which in this API is also called a project. That word choice tells you something useful: a case here is a container with a client, a responsible lawyer, custom fields, contacts, adversaries, linked courthouses, members, billing settings and a state. It is not a folder. This connector opens that container to agents so the administrative surface of a law firm, the intake, the filing, the time and the billing, stops depending on a paralegal retyping things between systems.

Clients and cases are fully writable through Create Client, Update Client, Create Case and Update Case, with List Client Custom Fields, List Case Custom Fields, List Case Types, List Case Branches, List Case Roles and List Client Roles exposing the per firm configuration a correct payload has to be built from rather than guessed at. Contacts are created and updated and can be attached to exactly one entity, a client, a case, an adversary or a courthouse, which is a deliberately narrow model and worth respecting. Documents move through Upload Document, Add Document Version, Get Document and Delete Document, with uploads fetched from a publicly accessible URL, base64 encoded and placed in the root folder of the case or of the task's case. Time tracking is complete: Create Timer, Update Timer and Delete Timer, with total time and billed time given in seconds, and List Sheet Activities returning the time entry categories the firm has configured. Expenses are recorded against a case with Create Expense. Tasks, users, teams, roles, billing roles and a full reference data surface covering courthouses, adversaries, countries and project types complete the picture.

Two parts of the description of this platform need to be stated precisely, because the object names invite an assumption the API does not support. On invoices, Create Quick Invoice creates a quick issued invoice for a client or case with a single total amount, and Update Invoice changes accounting related fields such as the QR or SwissBill reference and the accounting synchronization timestamps. Retainers, meaning advance and proforma invoices, are a different matter: List Retainers, Get Retainer and Update Retainer are what this connector exposes, and Update Retainer likewise changes accounting related fields. There is no action here that creates a retainer. A flow can read them, reconcile them and stamp their accounting state, and the retainer itself is raised inside SingleCase. Messages are the same shape. List Messages, Get Message and Update Message cover emails and data box messages with their subjects, senders, recipients, bodies and attachments, and Update Message assigns a message to a case, sets its mail status or sets its assignees. There is no send. This connector routes and classifies the correspondence a firm receives; it does not write to anyone on the firm's behalf, which for a law practice is the right side of the line to be on.

On events, this connector ships no triggers. There is nothing here to register and nothing here creates a FlowRunner trigger. Change detection is a scheduled poll, and the filters are good enough to make that comfortable: List Cases filters by client, visible case ID, responsible user, state, adversary, currency, language, type, creation date range and name; List Timers filters by user, case and date range; List Invoices filters by case, client, invoice number, supplier registration number and issued, paid and accounting synchronization status; and List Messages filters by case or client, which is what makes an unassigned message a findable queue rather than a hope.

Without FlowRunner

Time is assembled from three places Billable hours are reconciled from a timer app, a notebook and someone's memory of last Thursday
Documents arrive by email and are filed later A signed contract sits in an inbox for a week before anyone attaches it to the case
Accounting sync is a manual chase The finance team asks which invoices have gone across, and the answer is a spreadsheet

With FlowRunner

Time is read from the case it belongs to List Timers returns entries with their case, activity and billed seconds already attached
Documents are filed as they arrive Upload Document places the file on the case or the task at the moment it is received
Accounting state is visible on the record Mark Invoice Sent To Accounting stamps the record so the sync state is a fact, not a question

Use Case Scenarios

Intake that produces a complete case rather than a placeholder

A new matter is agreed. The agent reads the engagement details from the firm's intake form, checks List Clients filtered on company name or company identification number so an existing client is reused rather than duplicated, and calls Create Client only where there is genuinely no match. It reads List Case Types, List Case Branches and List Case Custom Fields first, because those values belong to the firm rather than to the documentation, then calls Create Case against the client with the responsible user and the custom fields populated. Contacts on the other side are added with Create Contact and attached to the case. The signed engagement letter is fetched and placed on the case with Upload Document, and the case reference is written back to the firm's CRM in HubSpot so business development and practice management agree on what exists.

Correspondence routed to the case it belongs to

Emails and data box messages arrive continuously and most of them belong to a matter that is already open. On a schedule the agent calls List Messages filtered to those with no case assigned, reads each with Get Message for the subject, sender, recipients and attachments, and matches against List Cases and List Adversaries so a message from an opposing counsel is recognised as such. Where the match is unambiguous, Update Message assigns the message to the case and sets its mail status from List Mail Statuses. Where it is not, the message is left unassigned and named to the responsible lawyer in Microsoft Teams with the two or three candidate cases and what each match was based on. Nothing is sent from here, because this connector reads and files correspondence rather than writing it.

A billing pack the responsible lawyer can actually check

At the end of the period the agent calls List Timers across the date range, joins each entry to its case and its user, and reads List Sheet Activities and List Billing Roles so activity categories and rates resolve to the firm's own configuration. Create Expense entries recorded during the month are pulled alongside. The pack that goes to the responsible lawyer is the entries, not the total: the case, the date, the activity, the note, and both the total time and the billed time in hours rather than the seconds the API uses. Entries where billed time exceeds total time, or where the note is empty, are separated and listed first, because those are the ones a client queries. Once the lawyer has signed off, Create Quick Invoice raises the invoice, Get Invoice PDF stores the rendered document in FlowRunner file storage, and the accounting hand off is stamped on the record.

Human-in-Loop Highlight

Mark Invoice Sent To Accounting is the gate. It marks an issued invoice as sent to accounting with the current timestamp, and it also sets the accounting lock timestamp if the invoice is not already locked. That lock is the point at which the bill stops being the firm's working document and becomes the accounting system's record, and this connector exposes no action that unlocks it. Everything before that point is recoverable. A quick invoice can be reviewed, a timer can be corrected with Update Timer, an entry can be removed with Delete Timer. After it, the correction is a credit note and a conversation, and in a law firm the conversation is with a client who has just received a bill for hours they are being asked to accept on trust. The material behind that bill is also the softest data in the system: List Timers returns total time and billed time in seconds, the two are frequently different on purpose, and a note is the only evidence of what an hour was spent on. An agent can add those numbers perfectly and has no basis whatsoever for judging whether 4.5 hours of "review of correspondence" is a defensible line on this client's bill. So the agent assembles and stops. It posts to the responsible lawyer: "Case 2211, Havlíček v. Stavební CZ, billing period June. 62 time entries across 4 fee earners, 38.75 total hours and 34.5 billed hours. 3 entries need your eye before I raise anything. Entry 90881, Novotná, 6 hours billed against 4 hours total on 12 June, activity Příprava podání. Entry 91002 has 2.25 hours billed with an empty note. Entry 91130 is dated 29 June against a case whose state changed to closed on 24 June. Quick invoice draft is 168,400 CZK excluding VAT. If you approve I will create the invoice and mark it sent to accounting, which sets the accounting lock and I cannot take that back from here. Approve as drafted, or tell me which of the three to pull first?" The lawyer answers once. Create Quick Invoice runs on the approved set and Mark Invoice Sent To Accounting is the last step rather than the first. This is the human-in-the-loop moment on a platform where the agent is better than any person at reconciling the entries and has no standing at all to decide which of them a client should be asked to pay for.

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

61 actions

Clients

5
  • List Clients Lists clients, optionally filtered by company name or company identification number, returning identifiers, addresses, billing details, custom fields and linked contacts.
  • Get Client Returns the full detail of a single client, including custom user roles, linked contacts and originators.
  • Create Client Creates a client. A company name is required and all other fields are optional.
  • Update Client Updates a client. Only the fields you supply are changed.
  • List Client Custom Fields Returns the custom field names configured for clients on this account, which is what a correct client payload is built from.

Cases

8
  • List Cases Lists cases across the account with filtering by client, visible case ID, responsible user, state, adversary, currency, language, type, creation date range and name.
  • List Cases For Client Lists the cases belonging to one client, optionally filtered by name, returning custom fields, contacts, adversaries and linked courts.
  • Get Case Returns the full detail of a case, including state, billing settings, custom fields, contacts, adversaries, courts, custom user roles, types and members.
  • Create Case Creates a case for a client. Client ID and name are required.
  • Update Case Updates a case. Only the fields you supply are changed.
  • List Case Custom Fields Returns the custom field names configured for cases on this account.
  • List Case Types Returns the case type names configured on this account.
  • List Case Branches Returns the branches, meaning offices, configured for cases on this account.

Contacts

4
  • List Contacts Lists contacts, optionally scoped to a case or a client, with type, name, title, organization, phone, email, address and custom fields.
  • Get Contact Returns a single contact in full, including the entity it is attached to.
  • Create Contact Creates a contact. For a person supply first and last name, for an organization supply the organization name. A contact can be attached to exactly one entity, a client, case, adversary or courthouse.
  • Update Contact Updates a contact. Setting an entity type and ID re-attaches it, and leaving both empty keeps the current attachment.

Documents

4
  • Get Document Returns document metadata by ID, including its name and the case it belongs to.
  • Upload Document Uploads a document to a case or a task. The file is fetched from a publicly accessible URL, base64 encoded and placed in the root folder of the case, or of the task's case. Provide exactly one of case or task.
  • Add Document Version Uploads a new version of an existing document and returns it with its latest version details, so a revised draft supersedes rather than duplicates.
  • Delete Document Permanently deletes a document.

Time and Expenses

7
  • List Timers Lists time entries, optionally filtered by user, case and date range, returning the user, case, date, total and billed time, activity and note. This is the read a billing run is built on.
  • Get Timer Returns a single time entry in full.
  • Create Timer Creates a time entry for a user on a case. Total time and billed time are given in seconds.
  • Update Timer Updates a time entry, again in seconds. This is how a correction is made before an invoice is raised.
  • Delete Timer Permanently deletes a time entry.
  • List Sheet Activities Returns the sheet activities, meaning time entry categories, configured on this account.
  • Create Expense Records an expense against a case.

Invoices and Retainers

10
  • List Invoices Lists issued invoices with filtering by case, client, invoice number, supplier registration number and issued, paid and accounting synchronization status, returning each invoice's header, line details and summary.
  • Get Invoice Returns a single invoice in full.
  • List Invoice Payments Lists the payments recorded against a specific invoice.
  • Get Invoice PDF Retrieves the invoice PDF and saves it to FlowRunner file storage, returning a URL to the stored file.
  • Create Quick Invoice Creates a quick issued invoice for a client or case with a single total amount, returning its header, details and summary.
  • Update Invoice Updates accounting related fields on an invoice, such as the QR or SwissBill reference and the accounting synchronization timestamps.
  • Mark Invoice Sent To Accounting Marks an issued invoice as sent to accounting with the current timestamp, and sets the accounting lock timestamp if it is not already locked. This connector exposes no action that unlocks it.
  • List Retainers Lists retainer, meaning advance or proforma, invoices with filtering by client, number, supplier registration number and paid and accounting synchronization status.
  • Get Retainer Returns a single retainer in full, including header, details and summary.
  • Update Retainer Updates accounting related fields on a retainer, such as the QR or SwissBill reference and the accounting synchronization timestamps. Retainers are not created through this connector.

Payments

3
  • Get Payment Returns the detail of a single payment.
  • Create Payment Records a payment against an invoice or a retainer. Provide either an invoice ID or a retainer ID.
  • Delete Payment Permanently deletes a payment.

Tasks

4
  • List Tasks Lists tasks, optionally filtered by case, client or assigned user, with status, dates, assignees and linked documents.
  • Get Task Returns a single task in full.
  • Create Task Creates a task on a case. Name and case ID are required.
  • Update Task Updates a task. Only the fields you supply are changed.

Messages

4
  • List Messages Lists messages, both emails and data box messages, optionally filtered by case or client, with subject, type, direction, sender, recipients, body and attachments.
  • Get Message Returns a single message in full.
  • Update Message Updates a message: assign it to a case, set its mail status, or set its assignees. This files correspondence; it does not send any.
  • List Mail Statuses Returns the mail statuses configured on this account, available when the mail statuses feature is enabled.

Users and Reference Data

12
  • List Users Lists the company users on the account, optionally filtered by name.
  • Get User Returns a single user in full, including role, billing role, teams and branches.
  • List Teams Returns the teams configured on this account.
  • List Roles Returns the user roles configured on this account.
  • List Billing Roles Returns the billing roles configured on this account, which is what a rate resolves against.
  • List Courthouses Returns courthouses, optionally scoped to those linked to a case.
  • List Adversaries Returns adversaries, meaning opposing parties, optionally scoped to a case, with identifiers, address and linked contacts.
  • List Countries Returns the countries known to SingleCase, each with the numeric ID used by client and adversary address fields.
  • List Project Types Returns the case types configured on this account with their names, labels and shortcuts.
  • List Case Roles Returns the case roles configured on this account.
  • List Client Roles Returns the client roles configured on this account.
  • Get Service Info Returns basic information about the account, including its display name, logo and API token name, which is a useful connection check.

Frequently Asked Questions

What can FlowRunner do with SingleCase?

FlowRunner agents can run List Clients, Get Client, and Create Client in SingleCase, plus 58 more actions.

Does connecting SingleCase to FlowRunner require OAuth?

No. SingleCase connects to FlowRunner with an API key, no OAuth flow required.

Can SingleCase trigger a FlowRunner workflow automatically?

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

Start building with SingleCase

$100 in credits. No card required. Connect in minutes.