Skip to main content
FigsFlow is coming to Canada 🍁 Launching January 2027 🇨🇦 Built for Canadian accounting firms
Figs Flow Canada

Home › Platform › API and webhooks

API and webhooks · Canada

An 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.

G2G2 reviews GoogleGoogle reviews Verified reviews on TrustindexVerified reviews Trustpilot reviews

Integration consoleLive
Deliveries today
1,284
99.6% on first attempt
Median latency
220 ms
Last 24 hours
Active credentials
6
2 read-only · 4 scoped
Waiting to retry
1
invoice.paid · backoff
engagement_letter.signeddelivered
job.stage_changeddelivered
invoice.paidretrying

Illustrative figures. Exact limits are confirmed in the published API reference.

Trusted by the best

  • Taxule
  • Ledgian
  • Sterling Wells
  • UK Property Accountants
  • Property SPV
What the API gives you

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.

SIGNEDRETRIEDREPLAYABLE

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.

SCOPEDREVOCABLEATTRIBUTED

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.

How a webhook travels

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.

Something changes

A client signs an engagement letter in the portal — a real action, on the record the firm works from.

The event is raised

Stored with an id to de-duplicate on and a timestamp to order by, whether or not anyone is listening yet.

Your endpoint is called

Signed so you can verify the sender. Retried on a backoff if you are down, and logged either way.

Your system acts

Creates the folder set, updates the warehouse, posts to a Teams channel — and reads back anything else over the same API.

The firm sees it landed

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.

One console, two audiences

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.

What it showsDelivery health

Every attempt, its response code and how long it took.

Attempts per event — with timings
Failures grouped by endpoint
Oldest undelivered event — at a glance
What you do from itAct

Most delivery problems are fixed by a person, not a deploy.

Replay a delivery without waiting for the next retry
Pause an endpoint while it is being fixed
Share the log with whoever owns the receiving system
What it showsRequest explorer

A real call against your sandbox, with the response beside it.

Request and response — side by side
Scopes used by the call
Example payloads for every event type
What you do from itAct

Get a first result without any local setup.

Send a test call against sample clients
Copy a working request into your own code
Fire a test webhook to your endpoint
What it showsTraffic and limits

Where your calls go and how close each credential runs to its ceiling.

Calls by resource — clients, jobs, documents
Rate-limit headroom per credential
Error rate over time
What you do from itAct

Spot the noisy integration before it trips a limit.

Find the busiest job that polls instead of subscribing
Move to webhooks where polling is wasteful
Ask for headroom with the traffic attached
What it showsAccess and scopes

Which integrations exist, what each can reach, and when it was last used.

Every credential with its owner
Scopes granted in plain language
Last used date and resource
What you do from itAct

Access reviews become a two-minute job.

Revoke a credential in one click
Narrow a scope without breaking the others
Export the list for your annual review
Before you build

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 HTTP

It 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 job

Limits 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 call

What developers ask before they build

Is there a REST API?

Yes. The API is JSON over HTTPS with cursor-paged collections and machine-readable errors. The published reference lists every resource, scope and event.

How are webhooks secured?

Every payload is signed so your endpoint can verify it came from FigsFlow, carries an id you can de-duplicate on, and is retried on a backoff if your server does not respond.

Can we limit what an integration can see?

Yes. Each integration gets its own credential with only the scopes it needs, and you can revoke it without affecting any other connection.

Does the API return client documents?

It returns document metadata and a pointer into your own SharePoint, rather than a second copy of the file to secure and retain.

Is there a sandbox?

Yes. Every firm can test against sample clients and jobs before an integration touches live data.

Can we connect our Canadian tax software?

There is no certified connector for Canadian tax preparation software today. If your software can make HTTP calls, it can use the API; otherwise filing status is tracked on the job.

What are the rate limits?

Limits are set per credential and published in the API reference. If an integration needs more headroom, ask us with the traffic attached.

Do we need a developer?

For the API, yes — or a technical operations lead. If you only need standard connections such as Microsoft 365 or your ledger, the self-serve integrations need no code.

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.

See it run on your own practice.

Screen-shared, using your services, your client mix and your deadlines. You will see where FigsFlow fits, and where it does not.

Design previews, not a shipped build — we will tell you on the call what is live today.

9:41
SignatureEngagement letter
Ready to sign
Engagement letter 20263 signatories · you are firstSign
Audit trailIP, device and timestamp recordedOn
Also waiting
Letter of representationDue 30/09Due
HomeDocsTasksChatProfile
9:41
Tasks3 open
Upload bank statementsVAT Q3 · due todayDue
Sign engagement letterOnboarding · due 05/09Sign
Approve VAT returnQ2 · due 07/09Review
Confirm payroll changesAugust · doneClosed
HomeDocsTasksChatProfile
9:41
Client portalRidgeline Foods Ltd
Upload Sign Pay Ask
Your services
Annual accountsYear end 31/03/2026Live
VAT returnsQuarterly · next 07/10Filed
PayrollMonthly · 14 employeesCurrent
Your team
Amara · ManagerUsually replies within a day
HomeDocsTasksChatProfile
9:41
DocumentsStored in your SharePoint
Recent
Bank statement — AugUploaded by camera · 2 MBSynced
Sales ledger Q3Shared by AmaraNew
Accounts 2025Signed 14/06/2025Final
Add a document
Scan with the cameraEdges cropped automatically
HomeDocsTasksChatProfile
9:41
MessagesAmara · Manager
This job
Re: VAT Q3Amara · 2 hours agoNew
Statement attachedYou · yesterday
Next deadline
VAT Q3 filing07/10/2026 · 15 daysSoon
HomeDocsTasksChatProfile