Skip to main content

External Data Sources

Connect external data sources so your forms and events can pull in data from other systems. For example, connect an employee directory from your HR system -- then use it as a dropdown in your forms so customers can select a contact person.

This area depends on your plan. If not available, the section is visible but locked.

How it works

You configure an API endpoint, Eventyflow fetches the data, and it becomes available as field options in the Form Builder. Your forms always show up-to-date data from the external system.

What you can do

  • Create and edit data sources.
  • Set up usage purpose, HTTP method, timeout, and login method.
  • Block or unblock a source.
  • See which forms are using a source.

Login methods

Pick how the external system verifies your connection:

  • None -- open endpoints without authentication.
  • Basic Auth -- classic login credentials.
  • Bearer Token -- a single access token.
  • API Key -- a key provided by the external service.

Saved passwords and tokens are hidden when you edit later. After saving, the system automatically tests the connection.

Deleting a source

If a source is currently used by forms, you get a warning before deleting. The warning shows which forms are affected so you can avoid breaking anything.

Status and monitoring

You can track:

  • Current status (approved, blocked, or pending).
  • How many requests succeeded or failed.
  • Overall success rate.
  • When the last check ran.

Good to know

If you add custom headers beyond the standard login fields, make sure they match what the external system expects before using the source in live automations.

Configuration tabs

When you edit a data source, the configuration is split into three tabs:

  • Request -- URL, connection settings, authentication, and request parameters.
  • Response -- data mapping for transforming the API response.
  • Booking -- booking configuration (only for room availability sources).

Request parameters

Define parameters that are sent with each API request. Parameters can be static values or dynamic values from form fields.

For room availability sources, the following context values are automatically available as parameter sources:

  • Event Date -- the date selected by the customer.
  • Start Time -- the start time selected by the customer.
  • End Time -- the end time selected by the customer.
  • Attendees -- the number of attendees entered by the customer.

Each parameter can have a format applied (e.g., date format conversion).

Multi-date queries

When date alternatives are enabled (see below), you can configure how multiple dates are sent to the external API:

ModeDescriptionExample
SeparatorDates joined with a separator characterdate=01.08;02.08
Date RangeSeparate from/to parametersfrom=01.08&to=05.08
JSON ArrayDates as a JSON array in the request body["01.08", "02.08"]
Repeated parameterSame parameter repeated for each datedate=01.08&date=02.08

Data mapping

When a third-party system uses a different data format than Eventyflow expects, you can set up mapping rules to transform the data automatically.

Visual mapping editor

For room availability sources, a visual mapping editor lets you map API fields to Eventyflow fields by clicking -- no manual path entry required. The editor discovers available fields from a sample JSON response and shows them alongside Eventyflow's semantic slots.

Semantic slots are the target fields Eventyflow needs for room availability:

SlotDescription
Room IDWhich field identifies the room.
DatesWhich field contains the dates (expected format: YYYY-MM-DD).
Time FromStart time of the booking slot (optional, expected format: HH:mm).
Time ToEnd time of the booking slot (optional, expected format: HH:mm).

Click a field in the API response column, then click the matching semantic slot to create a mapping. The editor automatically detects date and time formats from sample values and suggests the correct transformer.

Sample JSON

To discover the available fields from the external system, you can:

  • Paste a sample JSON response into the text area.
  • Fetch from API -- click the button to make a real test request and load the response automatically.

The discovered fields are listed with their data types and example values.

Inbound mapping (response)

Transform data coming back from the external system into the format Eventyflow needs. For example, if the external system returns dates as "25.12.2026", you can convert them to the standard format "2026-12-25".

  1. Open the Response tab.
  2. Turn on Map API response to Eventyflow format.
  3. Add mapping rules. Each rule has:
    • Source (API response) -- where to find the value in the external response.
    • Transformers -- optional conversions like date format, value mapping, or type casting.
    • Target (Eventyflow) -- where to place the value in Eventyflow format.

Outbound mapping (request)

Transform the data Eventyflow sends to the external system. Use this when the external API expects a specific request format.

  1. Open the Request tab.
  2. Turn on Enable outbound request mapping.
  3. Add mapping rules to define how Eventyflow data maps to the external system's expected format.

Available transformers

TransformerWhat it doesExample
Date FormatConverts between date formats"25.12.2026" to "2026-12-25"
Boolean CoerceConverts text to on/off values"yes" to on, "no" to off
Map ValuesReplaces values using a lookup table"frei" to "available"
Type CastChanges the data typeText "42" to number 42
Default ValueFills in a fallback when data is missingEmpty to "ZRH1"
To ArrayWraps a single item in a list"item" to ["item"]
ConcatAdds text before or after a value"123" to "ROOM-123"
TemplateBuilds text from multiple values"Room 3, 2nd Floor"
Split TextSplits a text value at a separator into a list"A;B;C" to ["A", "B", "C"]

Live preview

After saving a data source with mapping rules, you can test the mapping without making real API calls. Open the Live Preview section, paste sample JSON from the external system, and see the transformed result instantly.

Import and export

You can export a mapping configuration as a JSON file and import it into another data source. This lets you share configurations between sources or tenants.

Booking (room availability only)

For room availability sources, you can configure Eventyflow to send a booking request to the external system when a form is submitted. The booking happens before the submission is saved -- if the booking fails, the submission is not created.

  1. Open the Booking tab (only visible for room availability sources).
  2. Turn on Send booking on form submission.
  3. Enter the Booking URL (must be HTTPS).
  4. Set the HTTP method and timeout.
  5. Add request mapping rules to format the booking data.
  6. Define a success condition to check if the booking was accepted (e.g., field "status" equals "confirmed").
  7. Add response mapping to extract the booking reference from the response.

Success condition operators

OperatorDescription
equalsValue matches exactly.
not equalsValue does not match.
is one ofValue is in a list.
is none ofValue is not in a list.
containsValue contains the text.
does not containValue does not contain the text.
existsField exists in the response.

Date alternatives

For room availability sources, you can enable date alternatives so that Eventyflow queries nearby dates when the customer's chosen date has no available rooms. This helps customers find the next available slot without manually trying different dates.

Date alternative settings are configured per data source and depend on the multi-date query mode (see Request parameters above).