17 | Zapier API

17 | Zapier API

Zapier Integration – Triggers, Actions, Documentation & Checklist for Submission

API Documentation (for Publishing)

Base URL

Authentication

·      
All requests require an API Key.

·      
API Key must be sent in the header:

X-API-KEY: YOUR_API_KEY

·      
Flowte users already have an API Key assigned to their account. Use the provided key directly in Zapier.

·      
If Zapier QA or users need assistance obtaining a test API Key, it can be requested directly from
.

Endpoints

1. Bookings

GET /bookings

Description:
Returns a list of bookings.

Headers:

·      
Accept: application/json

·      
X-API-KEY: YOUR_API_KEY

Sample Response:

[
  {
    "id": 123456,
    "id_venue": 1234,
    "active": 1,
    "name": "Country Superstars",
    "descr": "<div>…</div>",
    "last_modified": "2025-01-13T11:49:52",
    "url": "https://www.flowte.me/storefront/reconnect-regal-theatre?e=123456"
  }
]

2. Performances

GET /performances

Description:
Returns a list of booking performances.

Parameters:

·      
booking_id
(required, integer/string) – The ID of the related booking.

Headers:

·      
Accept: application/json

·      
X-API-KEY: YOUR_API_KEY

Sample Response:

[
  {
    "id": 123456,
    "datetime": "2025-11-14T20:30:00",
    "active": 1,
    "location": "SALA BULULU",
    "url": "https://www.flowte.me/storefront/sala-bululu-1?e=36243&pack=123456"
  }
]

Error Codes

·      
401 Unauthorized
– API Key is invalid.

·      
403 Forbidden
– Insufficient permissions.

·      
429 Too Many Requests
– Rate limit exceeded.

·      
500+ Server Errors
– Service temporarily unavailable.

·      
Privacy Policy:

·      
Terms of Service:

·      
Return Policy (optional):

·      
Support:
)

T1. “New Bookings Trigger”

Overview

·      
Key:
new_bookings

·      
Label:
New Bookings

·      
Noun:
Bookings

·      
Type:
Polling

·      
Description:
Triggers when a new booking is created.

Input Fields (Input Designer)

No input fields required.

API Configuration

·      
Endpoint:
GET /bookings

·      
Headers:
Accept: application/json,
X-API-KEY: {{bundle.authData.api_key}}

·      
Params:
None

·      
Deduplication logic:
id


Output Fields:

Key

Label

Type

Description

id

Booking ID

integer

Unique booking identifier.

id_venue

Venue ID

integer

Identifier of the venue where the booking was created.

active

Active

integer/boolean

Indicates if the booking is active (1) or inactive (0).

name

Name

string

Name of the event associated with the booking.

descr

Description (HTML)

string

Full HTML description of the booking or event.

last_modified

Last Modified

datetime

Date and time when the booking was last updated, in ISO 8601 format.

url

Public URL

string

Public storefront link to view booking details.

T2. “Booking Performances Trigger”

Overview

·      
Key:
performances

·      
Label:
Booking Performances

·      
Noun:
Performances

·      
Type:
Polling

·      
Description:
Triggers when a new booking performance is scheduled.


Input Fields (Input Designer)

Name (key)

Label

Type

Required

Description

booking_id

Booking ID

integer/string

true

Provide the Booking ID to filter performances.


API Configuration

·      
Endpoint:
GET /performances

·      
Headers:
Accept: application/json,
X-API-KEY: {{bundle.authData.api_key}}

·      
Params:
booking_id

·      
Deduplication logic:
id


Output Fields:

Key

Label

Type

Description

id

Performance ID

integer

Unique identifier of the performance.

datetime

Date/Time

string/datetime

Date and time when the performance is scheduled, in ISO 8601 format.

active

Active

integer/boolean

Indicates if the performance is active (1) or inactive (0).

location

Location

string

Venue or location where the performance will take place.

url

Public URL

string

Public storefront link where the performance details can be viewed online.


A1. “Find Booking Performances” (Search Action)

Overview

·      
Key:
find_booking_performances

·      
Label:
Find Booking Performances

·      
Noun:
Performance

·      
Type:
Search Action

·      
Description:
This action retrieves all performances linked to a specific booking. It is typically used right after the New Booking trigger to fetch detailed performance information, which can then be passed to other actions such as Google Sheets or CRMs.


Input Fields (Input Designer)

Name (key)

Label

Type

Required

Description

booking_id

Booking ID

integer/string

true

The unique ID of the booking. Usually mapped directly from the New Booking trigger output.

API Configuration

·      
Endpoint:
GET /performances

·      
Headers:

o  
Accept: application/json

o  
X-API-KEY: {{bundle.authData.api_key}}

·      
Params:

o  
booking_id
→ provided by user input (mapped from trigger).

Sample Request:

X-API-KEY: YOUR_API_KEY


Output Fields:

Key

Label

Type

Description

id

Performance ID

integer

Unique identifier of the performance.

datetime

Date/Time

string/datetime

Date and time when the performance is scheduled, in ISO 8601 format.

active

Active

integer/boolean

Indicates if the performance is active (1) or inactive (0).

location

Location

string

Venue or location where the performance will take place.

url

Public URL

string

Public storefront link where the performance details can be viewed online.


 

 

3. Contacts

GET /contacts

Description:
Returns a paginated list of contacts.

Headers:

  • Accept: application/json
  • X-API-KEY: YOUR_API_KEY

Query Parameters:

  • page – Current page number (optional, default: 1)
  • limit – Number of records per page (optional, default: 100)
  • since – Minimum update datetime in ISO 8601 format (optional, default: 1970-01-01T00:00:00)

Sample Response:

[

  {

    "id": "485",

    "fname": "Jane",

    "lname": "Denyer",

    "phone": "",

    "email": "barnboxoffice@gmail.com",

    "notes": "",

    "health": 73,

    "custom_field_1": {

      "name": "ID Number",

      "value": null

    },

    "custom_field_2": {

      "name": "Company",

      "value": null

    },

    "custom_field_3": {

      "name": null,

      "value": null

    },

    "custom_field_4": {

      "name": "c1",

      "value": null

    },

    "custom_field_5": {

      "name": null,

      "value": null

    },

    "custom_field_6": {

      "name": null,

      "value": null

    },

    "custom_field_7": {

      "name": null,

      "value": null

    },

    "custom_field_8": {

      "name": null,

      "value": null

    },

    "custom_field_9": {

      "name": null,

      "value": null

    },

    "custom_field_10": {

      "name": null,

      "value": null

    },

    "custom_field_11": {

      "name": null,

      "value": null

    },

    "custom_field_12": {

      "name": null,

      "value": null

    },

    "custom_datetime_1": {

      "name": "dt1",

      "value": null

    },

    "custom_date_1": {

      "name": "d1",

      "value": null

    },

    "custom_date_2": {

      "name": null,

      "value": null

    },

    "subscribed": 0,

    "active": 0,

    "timestamp": "2025-11-10T14:21:28",

    "created": "2017-01-04T11:15:15",

    "addresses": null,

    "meta": {

      "statusCode": 200,

      "since": "1970-01-01T00:00:00",

      "nextPage": 2,

      "totalRowCount": 64853

    }

  }

]

T3. “New Contact Trigger”

Overview

  • Key:
    new_contact
  • Label:
    New Contact
  • Noun:
    Contact
  • Type:
    Polling
  • Description:
    Triggers when a new contact is created or an existing contact is updated after the specified since value.

Input Fields (Input Designer)

No input fields required.

API Configuration

  • Endpoint:
    GET /contacts
  • Headers:
    • Accept: application/json
    • X-API-KEY: {{bundle.authData.api_key}}
  • Params:
    • page – optional, defaults to 1
    • limit – optional, defaults to 100
    • since – optional, defaults to 1970-01-01T00:00:00
  • Deduplication logic:
    id

Output Fields

Key

Label

Type

Description

id

Contact ID

integer/string

Unique identifier of the contact.

fname

First Name

string

Contact’s first name.

lname

Last Name

string

Contact’s last name.

email

Email

string

Primary email address of the contact.

phone

Phone

string

Contact phone number.

notes

Notes

string

Free-form notes for the contact.

health

Health

integer

Health score of the contact.

subscribed

Subscribed

integer/boolean

1 if subscribed to marketing, 0 otherwise.

active

Active

integer/boolean

1 if contact is active, 0 otherwise.

timestamp

Updated At

datetime

Last update datetime in ISO 8601 format.

created

Created At

datetime

Creation datetime in ISO 8601 format.

custom_field_1–12

Custom Field 1–12

object

Each custom text field as an object with name and value.

custom_datetime_1

Custom Datetime 1

object

Custom datetime field (name / value as ISO 8601 datetime).

custom_date_1

Custom Date 1

object

Custom date field (name / value as YYYY-MM-DD).

custom_date_2

Custom Date 2

object

Second custom date field (name / value).

addresses

Addresses

array / null

Array of address objects or null if no addresses are stored.

meta.statusCode

Meta Status Code

integer

Status code for the contacts list response.

meta.since

Meta Since

datetime

Effective since filter used for the query.

meta.nextPage

Meta Next Page

integer

Next page number, if available.

meta.totalRowCount

Meta Total Row Count

integer

Total number of contacts available for the query.

A2. “Create Contact” (Action)

Overview

  • Key:
    create_contact
  • Label:
    Create Contact
  • Noun:
    Contact
  • Type:
    Create
  • Description:
    Creates a new contact in the Flowte account.

Input Fields (Input Designer)

Name (key)

Label

Type

Required

Description

fname

First Name

string

true

Contact’s first name.

lname

Last Name

string

true

Contact’s last name.

email

Email

string

true

Primary email address.

phone

Phone

string

false

Contact phone number.

notes

Notes

string

false

Free-form notes.

health

Health

integer

false

Health score value.

subscribed

Subscribed

integer/boolean

false

1 if subscribed, 0 otherwise.

active

Active

integer/boolean

false

1 if active, 0 otherwise.

custom_field_1–12

Custom Field 1–12

string

false

Custom text fields.

custom_datetime_1

Custom Datetime 1

datetime

false

Custom datetime (ISO 8601).

custom_date_1

Custom Date 1

date

false

Custom date (YYYY-MM-DD).

custom_date_2

Custom Date 2

date

false

Second custom date.

addresses

Addresses

line item group

false

List of address objects for the contact.

Each address line item can include: id_country, address_1, address_2, city, county, post_code, default_add.

API Configuration

  • Endpoint:
    POST /contact
  • Headers:
    • Content-Type: application/json
    • Accept: application/json
    • X-API-KEY: {{bundle.authData.api_key}}
  • Body:
    JSON object built from the input fields, for example:

{

  "custom_field_1": { "value": "asdfg" },

  "custom_field_2": { "value": "" },

  "custom_field_3": { "value": null },

  "custom_field_4": { "value": null },

  "custom_field_5": { "value": null },

  "custom_field_6": { "value": null },

  "custom_field_7": { "value": null },

  "custom_field_8": { "value": null },

  "custom_field_9": { "value": null },

  "custom_field_10": { "value": null },

  "custom_field_11": { "value": null },

  "custom_field_12": { "value": null },

  "custom_datetime_1": { "value": "2025-10-28T16:26:14" },

  "custom_date_1": { "value": "2025-10-27" },

  "custom_date_2": { "value": null },

  "subscribed": 1,

  "active": 1,

  "addresses": [

    {

      "id_country": 102,

      "address_1": "Some address 1 1",

      "address_2": "",

      "city": "Some city 1",

      "county": "Some province 1",

      "post_code": "",

      "default_add": 1

    },

    {

      "id_country": 11,

      "address_1": "Some address 2 2",

      "address_2": "",

      "city": "Some city 2",

      "county": "Some province 2",

      "post_code": "",

      "default_add": 0

    }

  ]

}

Output Fields

Sample Response:

{

  "statusCode": 200,

  "message": "The contact information was successfully added",

  "contactId": 12345678

}

Key

Label

Type

Description

statusCode

Status Code

integer

Operation status code (e.g., 200 on success).

message

Message

string

Human-readable description of the result.

contactId

Contact ID

integer

ID of the newly created contact.

A3. “Update Contact” (Action)

Overview

  • Key:
    update_contact
  • Label:
    Update Contact
  • Noun:
    Contact
  • Type:
    Create
  • Description:
    Updates an existing contact in the Flowte account.

Input Fields (Input Designer)

Name (key)

Label

Type

Required

Description

contact_id

Contact ID

integer/string

true

ID of the contact to update.

fname

First Name

string

false

Updated first name.

lname

Last Name

string

false

Updated last name.

email

Email

string

false

Updated email address.

phone

Phone

string

false

Updated phone number.

notes

Notes

string

false

Updated notes.

health

Health

integer

false

Updated health score.

subscribed

Subscribed

integer/boolean

false

Updated subscription flag.

active

Active

integer/boolean

false

Updated active flag.

custom_field_1–12

Custom Field 1–12

string

false

Updated custom text fields.

custom_datetime_1

Custom Datetime 1

datetime

false

Updated custom datetime.

custom_date_1

Custom Date 1

date

false

Updated custom date.

custom_date_2

Custom Date 2

date

false

Second custom date.

addresses

Addresses

line item group

false

Full updated address list for the contact.

API Configuration

  • Endpoint:
    PUT /contact
  • Headers:
    • Content-Type: application/json
    • Accept: application/json
    • X-API-KEY: {{bundle.authData.api_key}}
  • Query Params:
    • contact_id – ID of the contact that needs to be updated (required).
  • Body:
    JSON object built from the input fields. The structure matches the create request body, with address objects including id where applicable.

Example (excerpt):

{

  "custom_field_1": { "value": "" },

  "custom_field_2": { "value": "" },

  "custom_field_3": { "value": null },

  "...": "...",

  "custom_datetime_1": { "value": "2025-10-28T16:26:14" },

  "custom_date_1": { "value": "2025-10-27" },

  "custom_date_2": { "value": null },

  "subscribed": 1,

  "active": 1,

  "addresses": [

    {

      "id": 1143476,

      "id_country": 102,

      "address_1": "Some address 1 1",

      "address_2": "",

      "city": "Some city 1",

      "county": "Some province 1",

      "post_code": "",

      "default_add": 1

    },

    {

      "id": -1,

      "id_country": 11,

      "address_1": "Some address 2 2",

      "address_2": "",

      "city": "Some city 2",

      "county": "Some province 2",

      "post_code": "",

      "default_add": 0

    }

  ]

}

Output Fields

Sample Response:

{

  "statusCode": 200,

  "message": "The contact information was successfully updated",

  "contactId": 123456789

}

Key

Label

Type

Description

statusCode

Status Code

integer

Operation status code (e.g., 200 on success).

message

Message

string

Human-readable description of the result.

contactId

Contact ID

integer

ID of the updated contact.

A4. “Delete Contact” (Action)

Overview

  • Key:
    delete_contact
  • Label:
    Delete Contact
  • Noun:
    Contact
  • Type:
    Create
  • Description:
    Deletes an existing contact from the Flowte account.

Input Fields (Input Designer)

Name (key)

Label

Type

Required

Description

contact_id

Contact ID

integer/string

true

ID of the contact to be deleted.

API Configuration

  • Endpoint:
    DELETE /contact
  • Headers:
    • Accept: application/json
    • X-API-KEY: {{bundle.authData.api_key}}
  • Query Params:
    • contact_id – ID of the contact which needs to be deleted (required).

Sample Request:

X-API-KEY: YOUR_API_KEY

Accept: application/json


Output Fields

Sample Response:

{

  "statusCode": 200,

  "updatedRows": 1,

  "message": "The contact was removed."

}

Key

Label

Type

Description

statusCode

Status Code

integer

Operation status code (e.g., 200 on success).

updatedRows

Updated Rows

integer

Number of rows affected (typically 1).

message

Message

string

Human-readable description of the result.