All examples below use
https://api.flowmatic.io as the base URL. Replace this with your environment’s base URL if you are using a self-hosted or staging instance.1
Register an account
Create your Flowmatic account by sending a A successful registration returns HTTP 201:
POST request to /api/auth/register. Provide your email address, a password, and your full name. On success, Flowmatic sends a one-time passcode (OTP) to the email address you registered — you will need it in the next step.string
required
The email address you want to associate with your Flowmatic account. This address will also receive workflow delivery receipts.
string
required
Your account password. Must be at least 8 characters. Store this securely — Flowmatic never exposes it again after creation.
string
required
Your full name. Used in account communications and the dashboard.
If you do not receive the OTP within a couple of minutes, check your spam folder. You can also request a fresh code in Step 2b using the resend endpoint.
2
Verify your email address
Flowmatic requires email verification before your account is active. Submit the OTP that was sent to your inbox along with your email address. On success, Flowmatic returns an A successful verification returns HTTP 200 with your tokens:Didn’t receive the code? Resend it with a single call:
accessToken and a refreshToken — you can start making authenticated requests immediately.string
required
The same email address you registered with.
string
required
The six-digit one-time passcode delivered to your inbox.
3
Log in and retrieve your access token
After your first verification you already have tokens, but for any subsequent session you will need to log in. Use A successful login returns HTTP 200 with both tokens:For the remaining steps, export your token as a shell variable to keep the examples concise:
POST /api/auth/login to receive a fresh JWT accessToken and refreshToken. You will attach the accessToken to every subsequent API request via the Authorization header.string
required
Your registered email address.
string
required
Your account password.
4
Upload a CSV file
Flowmatic reads your audience data from an uploaded CSV. Send the file as Save this as A successful upload returns HTTP 201:
multipart/form-data with a single field named file. The response returns an uploadId that you will reference inside your workflow graph.Your CSV should have a header row. For this quickstart, use a file with at least the columns email, name, and rating:audience.csv, then upload it:Copy the
uploadId — you will paste it into the workflow body in the next step.string
The unique identifier for this upload. Pass this as
data.uploadId in a DATA_SOURCE node.integer
The number of data rows Flowmatic parsed from the CSV (excluding the header).
string[]
The column names detected from the CSV header row.
5
Create your first workflow
Now define the automation as a graph. This example targets everyone in your CSV who gave a rating greater than 4 and sends them a thank-you email — no AI key required, just a A successful creation returns HTTP 201:Here is what each node does in this graph:
FILTER node.Replace <your-upload-id> in the body below with the uploadId from the previous step.string
required
A human-readable name for the workflow. Visible in the dashboard and run logs.
object
required
The workflow graph definition containing
nodes (array) and edges (array).array
required
An array of node objects. Each node must have a unique
id, a type, and a data object.array
required
An array of edge objects. Each edge must have a
source node id and a target node id.string
The unique identifier for the newly created workflow. You will use this to trigger runs.
6
Run the workflow
Trigger an execution of the workflow you just created. Flowmatic accepts the request immediately, schedules it asynchronously, and responds with HTTP 202 and a Flowmatic responds with HTTP 202:
runId.string
The unique identifier for this run. Use it to poll for status in the next step.
string
Initial status. Always
PENDING immediately after submission.HTTP 202 means “accepted, not yet complete.” The run is queued and will begin executing momentarily. Do not re-submit if you receive 202 — your run is already in the queue.
7
Monitor the run
Poll the run status endpoint until the status transitions to While the run is processing you will see:Once complete, the response includes a In this example, 2 out of 4 rows had
SUCCESS or FAILED. For a four-row CSV with a simple filter, this typically takes just a few seconds.result object with delivery statistics:string
One of
PENDING, RUNNING, SUCCESS, or FAILED.integer
The number of emails successfully dispatched by the OUTPUT node.
integer
The number of rows excluded by FILTER nodes.
integer
The total number of rows that entered the graph from the DATA_SOURCE node.
rating > 4 (Alice and Carol), so emailsSent is 2 and filteredOut is 2. Your first Flowmatic workflow is complete!Complete Workflow Example
For reference, here is the full workflow creation body used in Step 5 — ready to copy and paste with your ownuploadId:
Next Steps
Now that you have run your first workflow, explore the features that make Flowmatic powerful for production use cases.Authentication
Understand token refresh, expiry, and how to keep your integration authenticated long-term.
AI Nodes
Add LLM-powered transformations to personalise emails at scale.
Google Drive
Connect a Google Sheet as a live data source so every run pulls fresh data automatically.
Workflow Runs API
Explore the full runs API including listing historical runs and streaming logs.