FlowRunner
PricingContact
Theme
Start Free

FAPI

Accounting

FAPI is a Czech invoicing and sales-automation platform for course sellers, membership sites, and small businesses. Agents create and send invoices, record payments, manage clients, order forms, and discount codes, apply vouchers, and pull sales statistics.

Verified 85 actions Basic auth available
FAPI website Platform Documentation Capability data verified 2026-08-25
A form's own notification posts an order to a FlowRunner endpoint
Verify Invoice Notification recomputes the security hash and confirms the record is real
The agent reads the returned paid flag and document type, because a proforma and its invoice both arrive
Get Invoice reads the buyer, the lines, and the item templates behind them
The agent provisions access in the course platform and records the sale
The revenue owner receives the day's orders with anything unresolved called out
A person decides what to do with the payments FAPI could not attach to an invoice

What This Integration Enables

FAPI is filed under accounting and it is really a selling machine. It is built for Czech course sellers, membership sites, and small businesses whose revenue arrives through an order form, and the order form is the product rather than a page decoration. A form carries the payment methods, the currencies, the items, the discount codes, the consent records, and the automation rules that fire when an order is placed, paid, or canceled. Invoices are what falls out of the end. Reading this connector as an invoicing API misses where the money is actually decided.

FlowRunner agents work at both ends of that funnel. They build and update forms with their automation rows, maintain item templates and their price lists, validate discount codes before an order is attempted, create orders and clients, issue and send invoices, and read the payment queues FAPI could not resolve on its own. Two operations exist purely for safety: Verify Invoice Notification and Verify Voucher Notification recompute the vendor's undocumented security hash and compare it in constant time, so a flow acts on a real record rather than on whatever was posted to a URL somebody guessed. The connector ships no trigger, because a notification URL is configured inside a form's own automation rows and there is no way to subscribe an arbitrary endpoint to an account-wide event stream. Point a form at a FlowRunner endpoint, make verification the first step, and let the connectors do the rest.

Without FlowRunner

Notifications trusted on sight Anything posted to the callback URL is treated as a real order because nothing verifies it
Access granted by hand Someone reads the order confirmation and provisions the course or membership manually
Unmatched money sits Payments that matched no invoice wait in a queue nobody has time to work through

With FlowRunner

Notifications proved before use Every delivery is recomputed against the vendor's own hash before a flow acts on it
Access follows the paid flag Provisioning happens on a verified paid invoice, not on an order that may still be a proforma
Unmatched money is a work list Unpaired and unresolved payments are surfaced as a reviewed queue with candidates attached

Use Case Scenarios

  • A paid order becomes access, not a maybe

    A customer completes a form and FAPI's own notification posts to a FlowRunner endpoint carrying the invoice reference, a timestamp, and a security value. The agent calls Verify Invoice Notification first, which fetches the record, recomputes the hash from the invoice and its items, and compares it. Only then does anything happen. Because a proforma notification and its invoice notification both arrive for the same sale, the agent reads the paid flag and the document type before provisioning, rather than granting access twice or granting it early. It then creates the account in the course platform, records the sale against the contact in HubSpot, and appends the line to the revenue sheet in Google Sheets. Without the verification step, anyone who learned the callback URL could post a paid order.

  • A campaign that cannot break its own checkout

    A promotion is going out, and the discount code is the part that fails quietly. Create Order treats a code that is not found or not valid as fatal: no order is created at all, which the customer experiences as a checkout that simply refused them. So the agent calls Validate Discount Code first, using the form's path rather than its identifier, and only builds the order when the code resolves. Ahead of launch it runs the same check across every code in the campaign and posts the failures to marketing in Slack. Create Order also requires the consent record the vendor demands: the purpose identifier, the full text shown to the customer, and whether they ticked it. The agent stores what was actually displayed, because a consent record that does not match the page is not evidence of anything.

  • The two payment queues, worked separately

    FAPI splits unmatched money into two different problems, and treating them as one is how reconciliation stalls. Unpaired payments arrived and matched no invoice, which is a lookup job. Unresolved payments are the ones FAPI could not decide about, which is a judgment job. The agent works the first queue on a schedule: it searches payments by amount, date, and reference, matches them against invoices found through Get Invoice By Number or Search Payments, and records the match. The second queue it does not touch. It assembles each case with the payment details, the closest invoice candidates, and the customer's recent orders, and posts it for a person. Get Statistics gives the finance owner the shape of the month while that work is in progress.

Human-in-Loop Highlight

The most expensive operation in this connector does not look dangerous. On Create Item Template and Update Item Template, the prices you send replace the entire price list. The vendor states it plainly: any price you do not include is deleted. An agent asked to raise the Czech price on a course template sends one currency, and the euro and dollar prices are gone. Nothing errors, the template still works, and every order form pointing at it now sells in one currency instead of three. The first evidence is a customer emailing to ask why the checkout will not take their card. So a pricing agent never writes a template blind. It calls Get Item Template, diffs the incoming price set against the stored one, and when the write would remove any currency it stops and posts: "Update to template Advanced Course sends CZK 4,900 only. The stored template carries CZK 4,900, EUR 199, and USD 219. Writing this removes EUR and USD from every form referencing it. Send the full price set, or confirm the removal?" A person answers. Read-only price checks and templates whose full currency set is present run unattended, because approving every routine price change trains people to stop reading them.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via email
Human decides
Agent resumes with decision

Agent Capabilities

85 actions

Clients

6
  • List Clients Lists customers with filters for date ranges and identifiers. The read behind a sync or an audience export.
  • Count Clients Returns how many clients match a filter without pulling them. Used to size a job before running it.
  • Get Client Retrieves one client record.
  • Create Client Creates a client. Supplying a Czech company registration number pulls the registered details from the public register, and leaving the tax payer flag empty lets FAPI decide it from the VAT identifier.
  • Update Client Updates a client's details.
  • Delete Client Removes a client record.

Invoices

12
  • List Invoices Lists invoices, with a modified-since filter that returns only what changed and an id cursor that returns only what is new. The two filters a scheduled sync should be built on.
  • Count Invoices Returns a match count without returning the invoices.
  • Get Invoice Retrieves one invoice as structured data, including its paid flag and document type.
  • Get Invoice By Number Finds an invoice by its printed number. The lookup a customer question or a bank reference actually starts from.
  • Get Invoice PDF Returns the invoice as a file. It shares a route with Get Invoice and differs only by the requested content type, which the connector sets for you.
  • Create Invoice Creates an invoice. Emailing the customer and running the form's automations are both switched off unless you ask for them, so an invoice created through the API reaches nobody until you say so.
  • Update Invoice Updates an invoice. The vendor documents no fields on this call beyond the identifier, so a flow checks the result rather than assuming a change was accepted.
  • Cancel Invoice Cancels an invoice while keeping the audit trail. The correct operation for a document a customer has already seen.
  • Delete Invoice Deletes an invoice outright. Appropriate only for a document that never left the account.
  • Send Invoice Email Emails an invoice using a named message template. The template is identified by its name rather than its identifier.
  • Generate Invoice QR Code Produces the payment QR code for an invoice, which is how Czech customers usually pay one.
  • Get Invoice Sequence Reads a numbering sequence, so a flow can reference a document number before the document exists.

Invoice Items

4
  • Add Invoice Item Adds a line to an invoice.
  • Get Invoice Item Retrieves one invoice line.
  • Update Invoice Item Changes a line on an invoice.
  • Delete Invoice Item Removes a line from an invoice.

Item Templates

6
  • List Item Templates Lists the reusable products behind order forms and invoice lines.
  • Search Item Templates Finds a template by query.
  • Get Item Template Retrieves one template with its full price list. The read that has to happen before any price write.
  • Create Item Template Creates a template. Every currency you intend to sell in has to be present, because the price list is written whole.
  • Update Item Template Updates a template. The prices sent replace the entire list, and the item count is required even when it has not changed, so the current record is read first.
  • Delete Item Template Removes a template.

Payments

6
  • List Payments Lists payments, including the unpaired ones that matched no invoice and the unresolved ones FAPI could not decide about.
  • Count Payments Returns a payment count for a filter.
  • Search Payments Finds payments by amount, reference, or date. The matching step in reconciliation.
  • Get Payment Retrieves one payment record.
  • Create Payment Records a payment against an invoice.
  • Update Payment Amends a recorded payment.

Periodic Invoices

3
  • List Periodic Invoices Lists recurring billing schedules.
  • Get Periodic Invoice Retrieves one schedule with its period and next date.
  • Update Periodic Invoice Changes a schedule. The pay day is required on every call, including one that only suspends the schedule, and the period is written as a phrase with a plural unit rather than as a number.

Forms

5
  • List Forms Lists order forms. This is the inventory of every place the business currently takes money.
  • Count Forms Returns a form count for a filter.
  • Get Form Retrieves one form with its items, payment methods, consents, and automation rows.
  • Create Form Creates an order form. It carries the payment methods, currencies, items, discount codes, legal consents, and the automation rules that fire on order, payment, and cancellation.
  • Update Form Updates a form. The form is identified in the request body rather than in the path, which the connector handles.

Orders

2
  • Create Order Places an order against a form. A discount code that is not found or not valid rejects the whole order rather than being skipped, and the consent record is required.
  • Get Order Conversion Reads conversion data for an order, which is how a campaign's performance is read back.

Discount Codes

6
  • List Discount Codes Lists the codes configured on the account.
  • Get Discount Code Retrieves one code with its rules and validity.
  • Validate Discount Code Checks a code against a form before an order is attempted. The pre-check that stops a promotion from refusing customers silently.
  • Create Discount Code Creates a discount code.
  • Update Discount Code Updates a code's value, rules, or validity window.
  • Delete Discount Code Removes a discount code.

Vouchers

2
  • Get Voucher Retrieves a voucher by its identifier.
  • Apply Voucher Redeems a voucher, keyed on the printed code rather than the identifier.

Shipping Methods

5
  • List Shipping Methods Lists the delivery options available on forms.
  • Get Shipping Method Retrieves one shipping method.
  • Create Shipping Method Creates a shipping method.
  • Update Shipping Method Updates a shipping method. The carrier type cannot be changed here, so switching carriers means creating a new method.
  • Delete Shipping Method Removes a shipping method.

Message Templates

9
  • Get Message Template Retrieves one customer-facing message template.
  • Create Message Template Creates a message template.
  • Update Message Template Updates a message template.
  • Delete Message Template Removes a message template.
  • List Message Template Sets Lists the grouped sets a form can reference.
  • Get Message Template Set Retrieves one template set.
  • Create Message Template Set Creates a template set.
  • Update Message Template Set Updates a template set.
  • Delete Message Template Set Removes a template set.

Settings

5
  • List Settings Lists account settings.
  • Get Setting Reads one setting.
  • Create Setting Creates a setting.
  • Update Setting Changes a setting.
  • Delete Setting Removes a setting.

Reference

7
  • List Projects Lists the projects orders and invoices can be tagged with.
  • List Countries Lists country records as FAPI holds them.
  • Get Exchange Rates Reads the exchange rates the account prices in.
  • Get Statistics Returns sales statistics. The VAT option splits the answer into net and inclusive amounts rather than filtering it.
  • Get Statistics News Reads the statistics feed the account publishes.
  • Get User Returns the authenticated user.
  • Get Country Currency Setting Reads the currency configured for a country, which is what decides how a form prices for that market.

API Tokens

5
  • List API Tokens Lists the account's API tokens. The results carry each token's secret in plain text, so a flow reading them is handling credentials.
  • Get API Token Retrieves one token, with the same caution.
  • Create API Token Issues a token. One per integration means any of them can be revoked without breaking the others.
  • Update API Token Updates a token's details.
  • Delete API Token Revokes a token.

Notifications

2
  • Verify Invoice Notification Fetches the invoice named in a notification, recomputes the vendor's security hash, and compares it in constant time. It also returns the paid flag and document type, because verifying a delivery is not the same as knowing the invoice was paid.
  • Verify Voucher Notification Does the same for a voucher notification, against the voucher's own hash recipe.

Frequently Asked Questions

What can FlowRunner do with FAPI?

FlowRunner agents can run List Clients, Count Clients, and Get Client in FAPI, plus 82 more actions.

Does connecting FAPI to FlowRunner require OAuth?

No. FAPI connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

Can FAPI trigger a FlowRunner workflow automatically?

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

Start building with FAPI

Free plan, no card required. Connect in minutes.