Skip to main content

Flowcall Built-in APIs

Most Custom APIs call an outside system — Shopify, Unicommerce, your ERP. But some things a flow needs already live inside Flowcall: your product catalog, your tickets, your uploaded resource tables, your connected mailbox.

The Flowcall Integration is a preset integration that points at Flowcall's own backend. Build a Custom API on it and the AI can use Flowcall's own capabilities the same way it uses any external provider — same endpoint layer, same input fields, same data points on top.

Setting it up​

Add the Flowcall preset in Integrations → API Library. It's usually named Flowcall Integration. Authentication is handled by the integration itself, so you're never asked for a token or an API key — and neither is the Copilot when it drafts an endpoint on it.

The Flowcall Integration is required for resource-backed Custom APIs. If it isn't connected, the Copilot will ask you to add it before generating the draft.

What's available​

CapabilityWhat it does
Send emailSends a new outbound email from the mailbox connected to your account.
Search productsSearches your Flowcall product catalog.
Search ticketsSearches or counts tickets, with filters for status, customer, task, and date.
Resource recordsSearches, inserts, updates, or upserts records in one of your resource objects.

Each becomes an ordinary Custom API in the library, so it can be wired into a flow as a lookup or an execute action, called by another Custom API as a dependency, or run manually from the API Library.

Send an email​

Sends a brand-new outbound email (not a reply) from whichever Gmail or Outlook mailbox is connected to your account.

  • Recipients — one or more to addresses, with optional cc and bcc.
  • Subject — the subject line.
  • Body — plain text is converted to HTML automatically; HTML is sent as-is.
  • Attachments — optional file uploads (up to 10 files, 25 MB each).

The most common pattern is a fixed template with a variable part: hardcode the recipient address and subject inside the Custom API, and generate only the body from the endpoint's inputs. That keeps the flow simple — it passes the order number and the reason, and the endpoint composes the mail.

"Create an API that emails ops@ourcompany.com when a customer reports a damaged item, with the order id and the description in the body." "Add a cc for the warehouse address on notify_ops_email."

Search products​

Searches the product catalog Flowcall already holds for your account.

  • Search text — what the customer is looking for ("black running shoes", "monstera plant").
  • Page size — how many products to return; defaults to 5, capped at 50.

Results come back with the fields your catalog carries — title, description, price, image, store URL, variants, collections, and any account-specific product fields — so the AI can recommend, check availability, or assemble an order from them. You never pass a catalog or schema ID; the account's catalog is used automatically.

"Create an API that searches our product catalog by description and returns the top 3 matches."

Search and count tickets​

Searches tickets in your own account, and — because the response carries a total — is just as often used to count them.

Filters:

  • Statuses — one or more of in_progress, queued, assigned, blocked, closed, marked-awaiting-response-by-agent, marked-awaiting-response-by-system, awaiting_response_to_resolve, stale, stale_marked_automatically, resolved_by_agent, resolved_by_ai.
  • Customer — the current conversation's customer, or a phone-number search when no customer ID is available.
  • Task — one or more workflows, for "tickets on this same task" questions.
  • Date window — a start and end timestamp, measured against created, resolved, executed, or assigned time.
  • Paging — page and limit (max 250). When you only need the number, ask for a limit of 1 and read the total.

This is the endpoint behind repeat-contact guardrails: "has this customer already had a ticket like this resolved recently?" Relative windows like "in the last 24 hours" are computed inside the endpoint — you don't pass "24h" as a filter.

"Create an API that counts how many tickets this customer had resolved by an agent on the same task in the last 24 hours." "Create an API that lists this customer's open tickets."

Resource records​

Resources are your own structured tables in Flowcall — an uploaded price list, a store directory, a warranty register. A resource-backed Custom API reads or writes those records.

Four operations are available:

OperationWhat it does
SearchFinds matching records, with filters, sorting, and paging.
InsertAdds one new record.
UpdateChanges exactly one existing record, found by record ID or by an exact field match.
UpsertUpdates the record matching an identifier field, or inserts it if there is none.

Search filters support eq, contains, gt, gte, lt, lte, and between. Use contains for text, enum, and relation fields; use the comparison operators for number and date fields. Results can be sorted ascending or descending and are returned up to 100 at a time.

A few rules shape how these endpoints are built:

  • One resource object per Custom API. The object is chosen when the endpoint is created and fixed inside it — it is never an input, so a flow can't point the endpoint at a different table. Build a separate endpoint per resource object.
  • Only real field keys. Filters and written values must use fields that exist on that resource object, and must respect their types.
  • Inputs stay flat. The endpoint takes plain values (a phone number, a pincode, a status) and maps them into filters, sort order, or the record body internally.
  • Update and upsert must resolve to exactly one record. If the match finds none or several, the call returns an error rather than guessing.

"Create an API that looks up a pincode in our serviceability resource and returns the delivery days." "Create an API that adds a row to the warranty-claims resource with the order id, reason, and photo URL." "Update the store-directory resource record for store code BLR-04 with the new phone number."

If your account has several resource objects and the request is ambiguous, the Copilot asks which one to use before drafting.

For the direct HTTP request and response contract, including an order_name upsert example, see Resource Record APIs.

Good to know​

  • Auth is never your problem. Every one of these endpoints authenticates through the Flowcall Integration, so drafts built on it don't ask for credentials.
  • They compose. A Flowcall endpoint can be a dependent API of another Custom API — for example, look up an order at your ERP, then write the outcome into a resource table, then email ops.
  • Read endpoints are auto-tested. Safe read-only drafts (product search, ticket search, resource search) are run with your sample inputs as soon as they're drafted, so you see real output before saving. Writes — insert, update, upsert, send email — are never fired automatically; test those yourself from the draft card.