Make Integration Documentation

Connect Exportlab to thousands of apps via Make.com.

Written by Exportlab · Updated March 2026

Connect Exportlab to thousands of apps via Make.com. Automate your photography and videography workflows — from contract signatures to video delivery.


Getting Started

1. Create an API Key

  1. Log in to your Exportlab workspace
  2. Go to Settings → Integrations → API Keys
  3. Click Create API Key, give it a name (e.g. "Make.com")
  4. Copy the key — it starts with sk_ and is shown only once

2. Find your Workspace Slug

Your workspace slug is the subdomain of your Exportlab URL. Example: if your workspace is at mystudio.exportlab.io, your slug is mystudio.

3. Connect in Make.com

When adding an Exportlab module to a scenario, click Add next to the Connection field and enter:

  • API Key — your sk_ key from step 1
  • Workspace Slug — from step 2

Authentication

All API requests use two headers:

HeaderDescription
X-Api-KeyYour API key (sk_...)
X-Tenant-SlugYour workspace slug

Verify Connection

text
Copied
GET https://api.exportlab.io/v1/integrations/make/connection/verify

Returns { "ok": true, "tenantSlug": "..." } on success, 401 on invalid key.


Trigger Modules

All trigger modules poll the following endpoint:

text
Copied
GET https://api.exportlab.io/v1/integrations/make/events

Query Parameters

ParameterRequiredDescription
typeYesEvent type (see below)
sinceNoISO 8601 timestamp — only return events after this date
limitNoMax results per poll, default 20, max 100

Response Format

json
Copied
{
  "ok": true,
  "events": [ ... ],
  "count": 5,
  "hasMore": false
}

Available Triggers

Watch Video Review Feedback

type: videoReviewFeedback

Fires when a client submits video review feedback.

FieldTypeDescription
eventIdtextUnique event ID
videoIdtextVideo ID
reviewerNametextName of the reviewer
statustextReview status (inprogress, closed)
notetextOptional note from the reviewer
commentsTexttextAll comments as plain text (newline-separated)
commentsarrayIndividual comments with text, author, timestamp
createdAtdateWhen the feedback was submitted

type: galleryPublished

Fires when a gallery is published and made visible to clients.

FieldTypeDescription
eventIdtextUnique event ID
galleryTokentextGallery token (8-char ID)
galleryUrlurlDirect URL to the gallery
publishedbooleantrue = published, false = unpublished
createdAtdateWhen the gallery was published

Watch Video Processing Complete

type: videoProcessingComplete

Fires when a video has finished processing and is ready to share.

FieldTypeDescription
eventIdtextUnique event ID
videoIdtextVideo ID
videoUrlurlDirect URL to the video in Exportlab
jobIdtextProcessing job ID
renditionsnumberNumber of renditions created
createdAtdateWhen processing completed

Watch Client Created

type: clientCreated

Fires when a new client is added to the workspace.

FieldTypeDescription
eventIdtextUnique event ID
clientIdtextClient ID
emailemailClient email address
companytextCompany name (if provided)
statustextClient status
createdAtdateWhen the client was created

Watch Project Phase Transition

type: projectPhaseTransition

Fires when a project moves to a new workflow phase (e.g. Shooting → Editing → Delivery).

FieldTypeDescription
eventIdtextUnique event ID
projectIdtextProject ID
targetPhaseIdtextThe new phase the project moved to
createdAtdateWhen the transition happened

Watch Contract Signed

type: contractSigned

Fires when a client signs a contract.

FieldTypeDescription
eventIdtextUnique event ID
contractIdtextContract ID
projectIdtextAssociated project ID
clientNametextName of the client who signed
contractTitletextName of the contract template
createdAtdateWhen the contract was signed

Watch Contract Fully Executed

type: contractFullyExecuted

Fires when all parties have signed and the contract is fully executed.

FieldTypeDescription
eventIdtextUnique event ID
contractIdtextContract ID
projectIdtextAssociated project ID
clientNametextName of the client
contractTitletextName of the contract template
createdAtdateWhen the contract was fully executed

Error Handling

StatusErrorDescription
401unauthorizedMissing or invalid API key
400missing_paramRequired query parameter missing
400invalid_event_typeUnknown event type
503not_configuredFeature not enabled for this workspace

Error response format:

json
Copied
{
  "ok": false,
  "error": "unauthorized",
  "message": "Invalid or disabled API key"
}

Example Use Cases

  • Contract signed → Send invoice via Stripe or Lexoffice
  • Gallery published → Email client with gallery link + PIN
  • Video processing complete → Notify via Slack that footage is ready for review
  • New client → Create contact in HubSpot, Salesforce, or Airtable
  • Project phase: Delivery → Send final files to Google Drive