Home › Platform › API and webhooks
API and webhooks · CanadaAn accounting API that reads the real record
Read the same clients, jobs and documents your team opens every morning — and receive a signed webhook the moment one of them moves. No overnight export, no staging spreadsheet, no second copy of the truth disagreeing with the record a partner reads in a client meeting.
Illustrative figures. Exact limits are confirmed in the published API reference.
Everything an integration needs, and nothing it has to work around
Reading data is the straightforward half. The difficult half is knowing something changed, proving it arrived, and being able to say who read what — which is where most integrations for accounting firms quietly fail.
Subscribe to the change, not the schedule
A webhook fires when a letter is signed, a job moves stage, a risk rating is set or an invoice settles. Every payload is signed, carries an id to de-duplicate on, and is retried on a backoff if your server has a bad minute.
A credential per integration
Scoped to least privilege, revocable on its own, and attributed on every call — so “which system read this client?” has an answer during a practice inspection.
A delivery log a partner can read
Integration health lives in the product, not in a developer’s logging stack, and a failed delivery can be replayed by hand.
Documents by reference
Metadata and a pointer into your own SharePoint — never a second copy of a client file to secure under your firm’s privacy policy.
Cursor pagination
Collections page on a cursor rather than an offset, so a list cannot shift underneath you mid-read.
Errors you can branch on
A machine-readable code plus a human sentence. A 429 tells you exactly how long to wait.
Versioned, with notice
Breaking changes ship behind a version, and you are told before anything you depend on is retired.
Sandbox first
Every firm gets a sandbox with sample clients, so the first call never touches live data.
From a signature in the portal to a job in your system
Five stops, no copies. The change happens on the record, the event carries it, and whatever your system does next is visible back inside FigsFlow.
A client signs an engagement letter in the portal — a real action, on the record the firm works from.
Stored with an id to de-duplicate on and a timestamp to order by, whether or not anyone is listening yet.
Signed so you can verify the sender. Retried on a backoff if you are down, and logged either way.
Creates the folder set, updates the warehouse, posts to a Teams channel — and reads back anything else over the same API.
Delivery health is a screen in the product, so “the automation is behind” is noticed rather than reported by a client.
Why the loop matters. An integration that only sends is a black box. Showing delivery back in the product is what lets someone other than the builder trust it.
Two people, one console, different halves
A developer wants the request, the response and the reason it failed. A partner wants to know whether the thing that was supposed to happen happened. Both open the same screen.
Every attempt, its response code and how long it took.
Most delivery problems are fixed by a person, not a deploy.
A real call against your sandbox, with the response beside it.
Get a first result without any local setup.
Where your calls go and how close each credential runs to its ceiling.
Spot the noisy integration before it trips a limit.
Which integrations exist, what each can reach, and when it was last used.
Access reviews become a two-minute job.
Where the API stops
An API page is easy to oversell. These are the boundaries worth knowing before you plan an integration.
No certified Canadian tax software connector
There is no certified connector for TaxCycle, Taxprep or other Canadian tax preparation software today. Anything that can make an HTTP call can still use the API.
Generic HTTPIt does not file with the CRA
The API moves practice data — clients, jobs, documents and events. Returns are still prepared and filed in your tax software.
Different jobLimits apply
Rate limits and payload sizes are set per credential. Exact figures are in the published reference — confirm them on a call before you design around them.
Ask on the callWhat the API reads and writes
Every resource the API exposes is a record your team already works in. Here is where each one lives in the product.
The self-serve connections that need no code at all.
See all integrations → Microsoft 365 integrationMail, calendar, Teams and SharePoint — the stack most firms already run.
See Microsoft 365 integration → Jobs, tasks and deadlinesThe jobs and stages most webhooks report on.
See jobs, tasks and deadlines → Engagement lettersWhere the signed-letter event the API sends you begins.
See engagement letters → AI assistant Reporting and analytics CRA filing deadlines FINTRAC client due diligence Audit trail and evidence CRM and pipeline Documents in SharePoint Security and data Canadian tax calendar Bookkeeping and CAS Onboarding suite Practice dashboard Pricing and quoting Proposals Team and capacity Timesheets and billing Workflow templates Email Client portal Forms and requests Tax firms The whole platformWhat developers ask before they build
Is there a REST API?
How are webhooks secured?
Can we limit what an integration can see?
Does the API return client documents?
Is there a sandbox?
Can we connect our Canadian tax software?
What are the rate limits?
Do we need a developer?
Bring the integration you have been putting off
Thirty minutes. Tell us what you want to connect, and we will show you the calls and events it would use — or tell you plainly that it would not fit.
Figures shown on this page are illustrative.


