FAQs

Flow Fundamentals

What is a flow, and why do I need it?​
  • In the Fastn platform, flows are sequences of steps that perform an end-to-end operations like inserting data into a database or retrieving a list of products from a Shopify store.

  • Users can build flows to create APIs that give a synchronous real-time response or workflows that are executed as asynchronous jobs.

  • Using a range of available actions such as connectors, loops, switches, custom code, and more, users can tailor flows for their unique applications.

How do I run a Flow?
  • After a flow is created it can be run using the available Debugger which allows users to test the DRAFT version of the flow, see the output and debug any issues.

  • To run the Debugger, users can click on the Run Debugger button on the top right of the canvas page.

  • Once flows are tested and finalized, they can be deployed as the LIVE version. Users can use the Embed this Flow feature on the canvas page to generate code or curl commands that trigger the flow externally either as part of user applications or through API tools such as Postman.

  • API keys can be generated with desired permissions to authenticate access to selective flows.

  • Executed flows can be monitored in the Logs page which can be accessed using the navigation menu.

How do I debug a flow that is returning an error?
  • A flow can be tested at any stage during its creation using the Debugger.

  • To run the Debugger, users can click on the Run Debugger button on the top right of the canvas page.

  • The Debugger allows users to view the end result of a flow as well as any error messages that may have been thrown in the execution of the flow.

  • The step which threw the error is highlighted with a red border in the canvas page.

  • The Debug view in the Debugger can offer more insight by showing users the output of each step used in the flow.

  • When staged versions of flows are triggered externally using an API request, their logs and metrics are available in the Logs page.

  • For each flow, the executed steps are highlighted along with any steps that threw an error.

  • Using information gathered from these various means users can pinpoint the source of the error.

How do I integrate a flow into my application?
  • Once flows are tested and finalized, they can be deployed as the LIVE version. Users can then use the Embed this Flow feature on the canvas page to generate code or curl commands that trigger the flow externally.

  • The Generate API Key option can be used generate a new API key that is passed in the request headers to authenticate access to flows.

  • The generated code in the Embed This Flow dialog box can then be copied into a user application in the desired format.

Data Volume and Pagination

What is pagination and why is it important when syncing large data sets?

Pagination is the process of dividing a large dataset into smaller chunks (or "pages") for processing. This helps avoid timeouts and API limits by pulling a limited number of records at a time. For APIs like OData, pagination is often done by modifying the request URL with parameters to limit and skip records.

What should I do if large sync jobs time out or fail mid-way?

Split the data pull into smaller pages using pagination, and consider storing data in the Fastn database first. Then, use a second flow to push data to the target system in smaller, controlled batches. This reduces the risk of timeouts and improves reliability.

How can I retry or resume a sync from where it failed?

You can add a field such as lastSyncedInBigCommerce to help the process identify which records have already been synchronized and where to resume from. Another option is to store a state in the database that the flow can check the next time it runs to continue from the last record that was not synced.

Connectors and Configuration

How do I handle connector URLs that may or may not include a company or tenant name?

Fastn flows support dynamic URL generation. You can conditionally include a company/tenant name in the request URL based on configuration, avoiding the need for separate connectors.

Can I cast values (like strings to integers or boolean) in Fastn before writing to a database?

Yes. Flows support value casting using built-in transformations or custom code. You can convert strings to integers, booleans, or date formats before inserting them into target systems.

How can I generate composite keys from multiple fields in a flow?

You can use expression steps or custom code actions to concatenate multiple fields and generate a unique composite key such as a price_key.

BigCommerce Connector

How can we pass an email address to the getCustomers endpoint in BigCommerce?

The connector supports filtering by email as a query parameter. You can configure it to retrieve specific customer records using encoded email strings.

Does the connector support plus-addresses in emails (e.g., [email protected])?

Yes. Email addresses with plus-signs are supported if properly URL-encoded in the flow.

How should datetime values be formatted for syncing with BigCommerce?

BigCommerce expects date values in ISO 8601 format (yyyy-mm-dd). Fastn flows can convert other formats like Unix timestamps into this format using built-in transformations.

Flow Design and Reliability

How should I structure my flows for large, multi-step data syncs?

Use two flows:

  1. Ingestion Flow – Fetch and store data in the Fastn database.

  2. Publishing Flow – Retrieve stored records and push them to the target system (e.g., BigCommerce).

This separation helps reduce API pressure, simplifies retries, and improves visibility into partial progress.

Why were only some records processed even though the sync log said it succeeded?

In one case, limit and skip were set as string values instead of integers, which caused unexpected pagination behavior and skipped records. Changing them to integers resolved the issue.

How can I verify how many records were actually synced?

To validate whether all records were processed, a simple log can be created in the database. This confirmed that only a subset of records had synced, even though the flow logs showed a success message.

Last updated

Was this helpful?