Skip to main content

Overview

Sesami is a platform that allows merchants to automate workflows using Sesami Flows.

note

Sesami Flows are available on all our paid plans.

Using Sesami Flows, you can trigger events for any touchpoints throughout the customers' booking journey.

Flow types

Current flow types:

Email

For handling Sesami notifications or scheduling reminders or thank-you messages.

Webhook

For integrations to other platforms such as Klaviyo, Slack, or Zapier.

Flow triggers

Different types of triggers:

Instant

Useful for immediate event types, such as booking confirmations.

Scheduled

Useful for early or delayed event types, such as reminders or thank-you messages.

Flow templates

Each Flow has a template which has a different format based on the Flow types:

HTML or Text

For email-type Flows.

JSON

For webhook-type Flows.

Example:

  {
"customer_name": "{{CustomerName}}",
"phone_number": "{{CustomerPhone}}",
"properties": { {{#each LineItemProperties}}
"{{name}}": "{{value}}"{{/each}}
}
}

Will produce:

    {
"customer_name": "John Smith",
"phone_number": "+1000000000",
"properties": {
"location": "Los Angeles"
"preferred_color": "Green"
}
}

Rendering dates

For those who need more flexibility with date formats, they can use the below helper function to send any date object in their desired format / timezone:

Syntax:

{{formatDate <ANY_DATE_OBJECT> <DATE_FORMAT> <OPTIONAL:TIMEZONE>}}

Date objects:

  • DateTime - Appointment start time (Can change after rescheduling)
  • AppointmentCreatedAt - Appointment creation time

Date format tokens

TokenExample output
MonthM1 2 ... 11 12
Mo1st 2nd ... 11th 12th
MM01 02 ... 11 12
MMMJan Feb ... Nov Dec
MMMMJanuary February ... November December
QuarterQ1 2 3 4
Qo1st 2nd 3rd 4th
Day of MonthD1 2 ... 30 31
Do1st 2nd ... 30th 31st
DD01 02 ... 30 31
Day of YearDDD1 2 ... 364 365
DDDo1st 2nd ... 364th 365th
DDDD001 002 ... 364 365
Day of Weekd0 1 ... 5 6
do0th 1st ... 5th 6th
ddSu Mo ... Fr Sa
dddSun Mon ... Fri Sat
ddddSunday Monday ... Friday Saturday
Day of Week (Locale)e0 1 ... 5 6
Day of Week (ISO)E1 2 ... 6 7
Week of Yearw1 2 ... 52 53
wo1st 2nd ... 52nd 53rd
ww01 02 ... 52 53
Week of Year (ISO)W1 2 ... 52 53
Wo1st 2nd ... 52nd 53rd
WW01 02 ... 52 53
YearYY70 71 ... 29 30
YYYY1970 1971 ... 2029 2030
YYYYYY-001970 -001971 ... +001907 +001971
Y1970 1971 ... 9999 +10000 +10001
Era Yeary1 2 ... 2020 ...
EraN, NN, NNNBC AD Note: Abbr era name
NNNNBefore Christ, Anno Domini Note: Full era name
NNNNNBC AD Note: Narrow era name
Week Yeargg70 71 ... 29 30
gggg1970 1971 ... 2029 2030
Week Year (ISO)GG70 71 ... 29 30
GGGG1970 1971 ... 2029 2030
AM/PMAAM PM
aam pm
HourH0 1 ... 22 23
HH00 01 ... 22 23
h1 2 ... 11 12
hh01 02 ... 11 12
k1 2 ... 23 24
kk01 02 ... 23 24
Minutem0 1 ... 58 59
mm00 01 ... 58 59
Seconds0 1 ... 58 59
ss00 01 ... 58 59
Fractional SecondS0 1 ... 8 9
SS00 01 ... 98 99
SSS000 001 ... 998 999
SSSS... SSSSSSSSS000[0..] 001[0..] ... 998[0..] 999[0..]
Time Zonez or zzEST CST ... MST PST
Z-07:00 -06:00 ... +06:00 +07:00
ZZ-0700 -0600 ... +0600 +0700
Unix TimestampX1360013296
Unix Millisecond Timestampx1360013296123

*To escape some tokens and render them as regular text, you can use [], for example: YYYY Do [of] MMM [at] hh:mma will be rendered as: 2023 9th of May at 08:47pm Otherwise, a in at will be interpreted as AM/PM token and will result in: 2023 9th of May pmt 08:47pm

Examples:

{{formatDate DateTime "YYYY Mo DD HH:mm:ss" "Europe/Berlin"}} <-- Appointment time in Berlin timezone formatted like: 2022 Dec 12 18:30:00

{{formatDate AppointmentCreatedAt "YYYY/MM/DD HH:mm:ss"}} <-- Appointment creation time formatted like: 2022/12/21 18:30:00

{{formatDate DateTime "YYYY Mo DD HH:mm:ss" CustomerTimezone}} <-- Appointment time in customer timezone formatted like: 2022 Dec 12 18:30:00

Try yourself

Will be renders as:

2024 22nd of Sep at 02:56pm