Step Configuration (Mapping)
When building an integration in FlowMate, the step configuration defines how data flows between two systems. On the left side, you see the the target system, and on the right side, the outgoing API (the source of the data).
FlowMate supports different types of mapping to give you full flexibility depending on the data, the structure, and the integration needs.
Default Field Mapping
Default Field Mapping allows you to select a value directly from the available schema fields—typically used to map fields with identical or similar names.

Core Mappers
FlowMate includes a set of Core Mappers for common transformations - such as strings, arrays, or passthrough.
String (Free Text)
Use the String Mapper when you want to pass a fixed string value in your mapping.
For example, when creating a new lead in HubSpot, you might always assign the same status like "new" .

Array Mapper
The Array Field Mapper allows you to define custom array structures. You can add multiple arrays and include any number of objects or values within them—perfect for APIs that expect nested array data.

Passthrough Mapper
Use the Passthrough Mapper in multi-step flows when you need to reference data from previous steps. It lets you access values from earlier actions or triggers and reuse them in later mappings.

User Input Configuration
User Inputs allow you to collect information directly from the end user - either through text fields, dropdowns, or dynamic lookups. These inputs are used to personalize or parameterize the behavior of a flow.
User Input – Text
Use the Text Input when the user should manually enter a value into a text field. This is suitable for fields like names, email addresses, or static configuration values that cannot be selected from a list. You can define a label (e.g. “Enter Email Address”) to guide the user.

Lookups
Use a Lookup when the user should select a value from a dropdown. This is useful for fields like "Slack Channel", where the user needs to choose which channel a message should be sent to.
The Lookup performs an additional API request to fetch available options. You can define:
Key Path: The value to send in the API request (e.g.
channel_id)Label Path: The value shown to the user in the Integration Center (e.g.
channel_name)
You can also define a prompt such as “Select Slack Channel”, which will be displayed to the user as the input label.

Dynamic Mapping
This is a special kind of Lookup. It fetches the custom fields that a user has defined in the target system and allows them to map the incoming data themselves in the Integration Center. Note: On the right side (outgoing API), this must be combined with a Lookup or User Input.

Predefined User Select
Define static options - such as booleans (true/false) or custom dropdowns—that will be shown in the Integration Center. Customers can toggle or select a value without needing to know the underlying logic.

Step Input Reference
Use Reused Input when the same user value is needed across multiple steps in a flow. Instead of prompting the user again, you can reference an existing input from an earlier step, ideal for create/update flows that require consistent data (e.g. email address, Slack channel, or user ID).

When not using dropdown fields and switching to:
JSONataLookupsPassthroughYou must follow FlowMate's naming conventions (data.,passthrough.) to ensure compatibility.
Data Transformation Configuration
Data Transformations let you modify, format, or translate data between systems. Whether it's changing a value using a mapping table or restructuring arrays, these tools help ensure compatibility between APIs.
JSONata
Use JSONata to write powerful expressions that transform or filter the incoming data. JSONata lets you access nested data, apply conditions, and even perform calculations directly within the mapping.

When not using dropdown fields and switching to:
JSONataLookupsPassthroughYou must follow FlowMate's naming conventions (data.,passthrough.) to ensure compatibility.
Mapping Tables
Use a Mapping Table to define how specific values within a field should be translated between systems.
This is especially useful for fields like "Status" where the values used in the source and target APIs differ.
For example, you can map "open" from System A to "new" in System B, allowing consistent and meaningful data transfer.

Last updated