Skip to content

Zapier Integration

Connect Sesamy with thousands of apps using Zapier to automate workflows without writing code. Zapier allows you to create "Zaps" that trigger actions based on Sesamy events, enabling seamless data synchronization and automation.

Getting Started

Setting Up Your First Zap

  1. Go to zapier.com and create an account (or log into your existing account)
  2. Create a new Zap and search for the Sesamy App
  3. Select the event you want to listen to (trigger) or the action you want to perform
  4. Connect your Zapier account to Sesamy
  5. Configure the trigger or action with your vendor ID and other required fields
  6. Test the connection to verify it works
  7. Select the destination app you want to integrate with
  8. Activate your Zap

Triggers (Webhooks)

Sesamy supports webhook triggers that allow you to listen to specific events and synchronize data with third-party services.

Available Triggers

User Subscription Created

Triggered when a user purchases a subscription.

Use cases:

  • Send welcome emails to new subscribers
  • Add subscribers to email marketing lists
  • Create customer records in your CRM
  • Update analytics dashboards

Filtering parameters:

  • Vendor ID (Required)

Sample payload:

json
{
  "user": {
    "userId": "123",
    "firstName": "Bob",
    "lastName": "James",
    "email": "zapier@sesamy.com",
    "contactEmail": "zapier@sesamy.com",
    "signedUpAt": "2022-11-08T12:49:11.190Z",
    "deliveryAddress": {
      "firstName": "Lucas",
      "lastName": "James",
      "addressLineOne": "Bergsjösvängen 1",
      "addressLineTwo": "",
      "zip": "41560",
      "city": "Göteborg",
      "country": "SE"
    },
    "billingAddress": {
      "firstName": "Lucas",
      "lastName": "James",
      "addressLineOne": "Bergsjösvängen 1",
      "addressLineTwo": "",
      "zip": "41560",
      "city": "Göteborg",
      "country": "SE"
    },
    "tags": ["tagOne", "tagTwo"]
  },
  "sku": "123-xyz",
  "entitlementId": "abc-xyz",
  "purchaseOptionId": "xyz-567",
  "title": "Yearly subscription",
  "description": "A yearly subscription...",
  "productType": "bundle",
  "status": "active",
  "userInsights": {
    "canceledSubscriptions": 0,
    "activeSubscriptions": 1,
    "expiredSubscriptions": 0
  },
  "expiresAt": "2022-11-08T12:49:11.190Z",
  "canceledAt": "2022-11-07T12:49:11.190Z",
  "willCancelAt": "2022-11-09T12:49:11.190Z"
}

User Subscription Created Or Updated

Triggered when a user subscription is created or updated.

Subscription statuses:

  • VALID / ACTIVE: The subscription is active. If willCancelAt is set, the subscription will be canceled on that date
  • CANCELED: The subscription was canceled by Sesamy or a provider
  • EXPIRED: The subscription has expired
  • DELETED: The subscription was manually deleted

Use cases:

  • Keep subscriber status in sync with external systems
  • Update CRM records when subscription details change
  • Trigger renewal reminder workflows
  • Track subscription lifecycle events

Note: When a user cancels a subscription but has paid until a certain date, the willCancelAt field will be set to that date. The subscription remains active until then, and only when actually canceled will the "User Subscription Ended" event be sent.

Filtering parameters:

  • Vendor ID (Required)

User Subscription Ended

Triggered when a user subscription ends.

End reasons (status field):

  • CANCELED: Subscription canceled by refund or user request
  • EXPIRED: Subscription expired due to failed payment
  • DELETED: Subscription deleted by Sesamy for technical reasons

Use cases:

  • Remove users from subscriber-only email lists
  • Send win-back campaigns
  • Update access permissions
  • Trigger exit surveys

Filtering parameters:

  • Vendor ID (Required)

Contract Purchased

Triggered when a user completes a purchase on the Sesamy Checkout.

Use cases:

  • Track revenue and conversions
  • Send purchase confirmation emails
  • Update inventory systems
  • Trigger fulfillment workflows

Filtering parameters:

  • Vendor ID (Required)

Sample payload:

json
{
  "user": {
    "userId": "123",
    "firstName": "Bob",
    "lastName": "James",
    "email": "zapier@sesamy.com",
    "contactEmail": "zapier@sesamy.com",
    "signedUpAt": "2022-11-08T12:49:11.190Z",
    "deliveryAddress": {
      /* ... */
    },
    "billingAddress": {
      /* ... */
    },
    "tags": ["tagOne", "tagTwo"]
  },
  "contractId": "123",
  "totals": {
    "total": 10,
    "totalTaxes": 1,
    "netPrice": 9,
    "discount": 0,
    "currency": "SEK"
  },
  "products": [
    {
      "sku": "123-xyz",
      "quantity": 1,
      "purchaseOptionId": "xyz-567",
      "total": 10,
      "totalTaxes": 1,
      "netPrice": 9,
      "discount": 0,
      "currency": "SEK"
    }
  ],
  "utmTags": {
    "utmCampaign": "a",
    "utmContent": "b",
    "utmMedium": "c",
    "utmSource": "d",
    "utmTerm": "e"
  }
}

User Signed Up

Triggered when a user signs up to your platform (fires only once).

Note: This trigger fires immediately when a user signs up and may not contain all user-selected settings like address or accepted terms and conditions (those are collected after signup). To get complete data, use "User Signed Up Or Updated" below.

Use cases:

  • Send welcome emails
  • Create user records in external systems
  • Track user acquisition
  • Trigger onboarding sequences

Filtering parameters:

  • Vendor ID (Required)

Sample payload:

json
{
  "acceptedTCVersion": "2022-11-08T12:49:11.190Z",
  "newsletters": { "newsletterX": true },
  "mobilePhone": "699000111222",
  "user": {
    "userId": "123",
    "firstName": "Bob",
    "lastName": "James",
    "email": "zapier@sesamy.com",
    "contactEmail": "zapier@sesamy.com",
    "signedUpAt": "2022-11-08T12:49:11.190Z",
    "deliveryAddress": {
      /* ... */
    },
    "billingAddress": {
      /* ... */
    },
    "tags": ["tagOne", "tagTwo"]
  },
  "businessDetails": {
    "companyName": "X Company",
    "vatNr": "1234"
  }
}

User Signed Up Or Updated

Triggered when a user is created or updated.

Use cases:

  • Keep user data synchronized across systems
  • Update CRM records with latest information
  • Track profile completeness
  • Trigger personalized communications based on user data

Note: Use this trigger to maintain complete, up-to-date user data. Users may update settings like address or accept terms and conditions after signup, and this event will capture those changes.

Filtering parameters:

  • Vendor ID (Required)

Actions

Sesamy supports actions that allow you to send information from third-party services to the Sesamy platform.

Available Actions

External Purchase

Synchronize purchases from your external system with the Sesamy platform.

Required fields:

  • source: External source ID (must be type 'HOOK', created from the Sesamy Portal)
  • vendorId: Your vendor ID from the dropdown list
  • sku & poId: Product SKU and purchase option ID (required if not using productId)
  • productId: Product ID (required if not using sku & poId - requires product mapping)
  • startsAt: Subscription start date

Optional fields:

  • publisherPurchaseId: Your system's purchase ID for matching
  • endsAt: Subscription end date
  • firstName: Customer first name
  • lastName: Customer last name
  • email: Customer email
  • userId: Customer's Sesamy user ID
  • publisherUserId: Your system's user ID for matching
  • notes: Purchase notes
  • Delivery address fields
  • Billing address fields

Sample payload:

json
{
  "source": "sesamy-source-id-1234",
  "vendorId": "vendor-id-1234",
  "publisherPurchaseId": "purchase-id-1234",
  "sku": "1234",
  "poId": "1234",
  "startsAt": "2022-11-08T12:49:11.190Z",
  "endsAt": "2022-12-08T12:49:11.190Z",
  "firstName": "John",
  "lastName": "James",
  "email": "zapier@sesamy.com",
  "userId": "1234",
  "publisherUserId": "user-id-1234",
  "notes": "Note..",
  "productId": "product-1234",
  "deliveryAddressFirstName": "John",
  "deliveryAddressLastName": "James",
  "deliveryAddressCo": "",
  "deliveryAddressStreet": "Sveavägen 59",
  "deliveryAddressCity": "Stockholm",
  "deliveryAddressZip": "113 59",
  "deliveryAddressCountry": "SE",
  "billingAddressFirstName": "John",
  "billingAddressLastName": "James",
  "billingAddressCo": "",
  "billingAddressStreet": "Sveavägen 59",
  "billingAddressCity": "Stockholm",
  "billingAddressZip": "113 59",
  "billingAddressCountry": "SE"
}

Google Sheets Integration

  • Trigger: User Subscription Created
  • Action: Add row to Google Sheets
  • Use case: Maintain a spreadsheet of all new subscribers

Slack Notifications

  • Trigger: User Subscription Created or Contract Purchased
  • Action: Send channel message in Slack
  • Use case: Notify your team of new subscriptions or purchases

Mailchimp Sync

  • Trigger: User Signed Up Or Updated
  • Action: Add/Update subscriber in Mailchimp
  • Use case: Keep email lists synchronized

CRM Integration

  • Trigger: User Signed Up Or Updated
  • Action: Create/Update contact in your CRM (HubSpot, Salesforce, etc.)
  • Use case: Maintain customer records automatically

External System Purchase Sync

  • Trigger: New row in Google Sheets / Airtable / Database
  • Action: External Purchase
  • Use case: Import subscriptions from legacy systems or external platforms

Authentication

To connect Sesamy with Zapier:

  1. When creating a Zap, select Sesamy as your app
  2. Click "Sign in to Sesamy"
  3. Enter your Sesamy API credentials
  4. Grant Zapier permission to access your Sesamy account

Your connection will be saved and can be reused across multiple Zaps.

Need Help?

For more information about setting up Zapier integrations:

  • Visit zapier.com/apps/sesamy to see all available integrations
  • Check our webhooks guide for custom webhook implementations
  • Contact support for assistance with complex automation workflows

Released under the MIT License.