Integration
Connect Cliniko and Klaviyo
When Cancelled individual appointment fires in Cliniko, your agent runs Create Event in Klaviyo, or New Event in Klaviyo to Find patient by email in Cliniko. Describe the whole flow and it is built, tested on every scenario and kept running.
What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.
Build solutions, not workarounds.
What do you want Cliniko and Klaviyo to do together?
Ask the assistant
Connect your AI client
Give your AI client this address.
https://mcp.apiant.aiOne connection does both: ask your client to act in an app once, or have it build an automation that keeps running. Any client that takes a remote MCP server. Nothing to install. Create your free account, then sign in once in your browser.
Set it up in your client
Claude Code
Run this in the directory you want to work in.
claude mcp add --transport http -s project apiant-ai https://mcp.apiant.aiStart Claude Code there, approve the server, and sign in in the browser page it opens.
Claude Code guide (opens in a new tab)Claude, web and desktop
Open Customize, then Connectors, then Add custom connector, and paste the address. On Team and Enterprise an owner adds it first.
Setup guide (opens in a new tab)Cursor
Add the address to your MCP configuration as a server URL. Cursor signs you in in your browser.
Setup guide (opens in a new tab)Zed
Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.
Setup guide (opens in a new tab)Codex and the ChatGPT desktop app
Open Settings, then MCP servers, then Add server, and choose Streamable HTTP. From the terminal, Codex takes the address with its own add command and then signs you in.
Setup guide (opens in a new tab)Any other MCP client
Paste the address where the client asks for a remote MCP server URL, and name the server apiant-ai where it lets you. APIANT's skills reach the client over the same connection.
Setup guide (opens in a new tab)Cliniko holds patient, contact and appointment records; Klaviyo holds the profiles, lists and events behind your email and SMS. Connecting them means a new or updated patient in Cliniko can become a Klaviyo profile on the right list, and appointment or invoice activity can be tracked as Klaviyo events you can build flows on.
Example flows
What Cliniko and Klaviyo can do together
From Cliniko to Klaviyo
When Cancelled individual appointment in Cliniko
then Create Event in Klaviyo
When New or updated contact in Cliniko
then Add Categories to Catalog Item in Klaviyo
From Klaviyo to Cliniko
When New Event in Klaviyo
then Find patient by email in Cliniko
When New or Updated Profile in Klaviyo
then Create contact in Cliniko
Starting points drawn from the triggers and actions in the catalog today. Describe the flow you need, at any depth, and your agent builds it and tests every scenario before it ships.
Everything your agent can do with Cliniko and Klaviyo
Triggers and actions 19 triggers · 174 actions
Trigger
Cancelled individual appointmentTriggered when an individual appointment is cancelled.
Trigger
New cancelled attendeeTriggered when an attendee is cancelled.
Trigger
New or updated attendeeTriggered when an attendee is created or updated.
Trigger
New or updated businessTriggered when a business is created or updated.
Trigger
New or updated communicationTriggered when a communication is created or updated.
Trigger
New or updated contactTriggered when a contact is created or updated.
Trigger
New or updated daily availabilityTriggered when a daily availability is created or updated.
Trigger
New or updated group appointmentTriggered when a group appointment is created or updated.
Trigger
New or updated individual appointmentTriggered when an individual appointment is created or updated.
Trigger
New or updated invoiceTriggered when an invoice is created or updated.
Trigger
New or updated patientTriggered when a patient is created or updated.
Trigger
New or updated patient caseTriggered when a patient case is created or updated.
Trigger
New or updated practitionerTriggered when a practitioner is created or updated.
Trigger
New or updated treatment notesTriggered when treatment notes is created or updated.
Trigger
Patient added or removed for group appointment in date rangeTriggered when a patient is added or removed for a group appointment within the specified date range.
Trigger
Two-way sync new or updated contactsA trigger for two-way syncing new and updated contacts, with enhanced on-the-fly mapping. Can only be used with enhanced two-way sync actions that support on-the-fly mapping.
Trigger
Two-way sync new or updated patientsA trigger for two-way syncing new and updated patients, with enhanced on-the-fly mapping. Can only be used with enhanced two-way sync actions that support on-the-fly mapping.
Action
Archive patientArchives a patient. An error will occur if the patient is not found.
Action
Create contactCreates a new contact.
Action
Create patientCreates a new patient.
Action
Find Appointment by Patient IdReturns appointment details for the specified patient if the Patient ID exists.
Action
Find cancelled appointmentSearches for a cancelled appointment. If no matching appointment is found, an error occurs.
Action
Find contact by emailReturns details of the contact having the specified email address. An error occurs if zero or multiple are found.
Action
Find patient by emailReturns details of the patient having the specified email address. An error occurs if zero or multiple are found.
Action
Find Patient by Email and Date of BirthFinds the single active patient whose email and date of birth both match, returning the patient ID and the match count.
Action
Get appointmentReturns details of the specified appointment.
Action
Get appointments by practitioner IDReturns appointment details by practitioner ID.
Action
Get appointment typeReturns details of the specified appointment type.
Action
Get appointment type billable itemReturns details for a billable item.
Action
Get billable itemReturns details of the specified billable item.
Action
Get businessReturns details of the specified business.
Action
Get cancelled appointmentReturns details of the specified cancelled appointment.
Action
Get contactReturns details of the specified contact.
Action
Get group appointmentReturns details of the specified group appointment.
Action
Get group appointment attendeesReturns attendee information for the specified group appointment.
Action
Get individual appointment attendeesReturns attendee information for the specified individual appointment.
Action
Get invoiceReturns details of the specified invoice.
Action
Get patientReturns details of the specified patient.
Action
Get patient attachmentReturns a patient attachment from Cliniko, including its filename, file type and description.
Action
Get patient caseReturns details of the specified patient case.
Action
Get patient referral sourceReturns the referral source for the specified patient.
Action
Get practitionerReturns details of the specified practitioner. An error occurs if not found.
Action
Get practitioner availabilitiesReturns availability information for the specified practitioner.
Action
List Appointments in Date RangeReturns every individual appointment that starts within a given time window, with the total count.
Action
List invoices for patient caseEmits all invoice IDs for the specified patient case.
Action
List PatientsReturns Cliniko patients, optionally filtered (e.g. updated after a date) and sorted, with the total count.
Action
Two-way sync add or update a contactAn action for two-way syncing new and updated contacts, with enhanced on-the-fly mapping using contact email addresses for matching. Can only be used with enhanced two-way sync triggers that support on-the-fly mapping.
Action
Two-way sync add or update a patientAn action for two-way syncing new and updated patients, with enhanced on-the-fly mapping using patient email addresses for matching. Can only be used with enhanced two-way sync triggers that support on-the-fly mapping.
Action
Update contactUpdates a contact.
Action
Update patientUpdates a patient.
Action
Update patient custom fieldUpdates the value of the specified custom field for the specified patient.
Action
Update patient referralSets or changes a patient's referral source. Choose the referral source type; supply a Referrer ID only for types that take one (e.g. Patient or Contact).
Action
Upload patient attachmentUploads a file, such as a PDF, to a patient's record in Cliniko as an attachment.
Trigger
New EventPolling trigger. Fires when a new event (metric occurrence) is recorded, ordered by most-recent datetime.
Trigger
New or Updated ProfilePolling trigger. Fires when a profile is created or updated, ordered by most-recently updated.
Action
Add Categories to Catalog ItemAdd Categories to Catalog Item
Action
Add Items to Catalog CategoryAdd Items to Catalog Category
Action
Add Profiles to ListAdd Profiles to List
Action
Add Profile to ListAdd an existing profile to a list by profile ID.
Action
Bulk Create Catalog CategoriesBulk Create Catalog Categories
Action
Bulk Create Catalog ItemsBulk Create Catalog Items
Action
Bulk Create Catalog VariantsBulk Create Catalog Variants
Action
Bulk Create Coupon CodesBulk Create Coupon Codes
Action
Bulk Create EventsBulk Create Events
Action
Bulk Delete Catalog CategoriesBulk Delete Catalog Categories
Action
Bulk Delete Catalog ItemsBulk Delete Catalog Items
Action
Bulk Delete Catalog VariantsBulk Delete Catalog Variants
Action
Bulk Import ProfilesBulk Import Profiles
Action
Bulk Subscribe ProfilesBulk Subscribe Profiles
Action
Bulk Suppress ProfilesBulk Suppress Profiles
Action
Bulk Unsubscribe ProfilesBulk Unsubscribe Profiles
Action
Bulk Unsuppress ProfilesBulk Unsuppress Profiles
Action
Bulk Update Catalog CategoriesBulk Update Catalog Categories
Action
Bulk Update Catalog ItemsBulk Update Catalog Items
Action
Bulk Update Catalog VariantsBulk Update Catalog Variants
Action
Cancel Campaign SendCancel Campaign Send
Action
Clone CampaignClone Campaign
Action
Clone TemplateClone Template
Action
Create Back In Stock SubscriptionCreate Back In Stock Subscription
Action
Create CampaignCreate Campaign
Action
Create Campaign CloneCreate Campaign Clone
Action
Create Catalog CategoryCreate Catalog Category
Action
Create Catalog ItemCreate Catalog Item
Action
Create Catalog VariantCreate Catalog Variant
Action
Create CouponCreate Coupon
Action
Create Coupon CodeCreate Coupon Code
Action
Create EventTrack an event for a profile (e.g. a custom metric like "Placed Order").
Action
Create FlowCreate Flow
Action
Create ListCreate a new list.
Action
Create or Update ProfileCreate a profile if it doesn't exist, otherwise update the matching profile (upsert by email/phone/id).
Action
Create ProfileCreate a new profile. Errors if a profile with the email already exists.
Action
Create SegmentCreate Segment
Action
Create TagCreate Tag
Action
Create TemplateCreate Template
Action
Delete CampaignDelete Campaign
Action
Delete Catalog CategoryDelete Catalog Category
Action
Delete Catalog ItemDelete Catalog Item
Action
Delete Catalog VariantDelete Catalog Variant
Action
Delete CouponDelete Coupon
Action
Delete Coupon CodeDelete Coupon Code
Action
Delete FlowDelete Flow
Action
Delete ListDelete List
Action
Delete SegmentDelete Segment
Action
Delete TagDelete Tag
Action
Delete TemplateDelete Template
Action
Get CampaignGet Campaign
Action
Get Campaign Recipient EstimationGet Campaign Recipient Estimation
Action
Get CampaignsGet Campaigns
Action
Get Catalog CategoriesGet Catalog Categories
Action
Get Catalog CategoryGet Catalog Category
Action
Get Catalog ItemGet Catalog Item
Action
Get Catalog ItemsGet Catalog Items
Action
Get Catalog VariantGet Catalog Variant
Action
Get Catalog VariantsGet Catalog Variants
Action
Get CouponGet Coupon
Action
Get Coupon CodeGet Coupon Code
Action
Get Coupon CodesGet Coupon Codes
Action
Get CouponsGet Coupons
Action
Get EventGet Event
Action
Get EventsRetrieve events, optionally filtered (e.g. by metric or profile).
Action
Get FlowGet Flow
Action
Get FlowsGet Flows
Action
Get Flows Triggered by ListGet Flows Triggered by List
Action
Get Flows Triggered by MetricGet Flows Triggered by Metric
Action
Get Flows Triggered by SegmentGet Flows Triggered by Segment
Action
Get FormGet Form
Action
Get FormsGet Forms
Action
Get Form VersionGet Form Version
Action
Get ImageGet Image
Action
Get ImagesGet Images
Action
Get ListGet List
Action
Get List ProfilesGet all profiles that are members of a given list.
Action
Get ListsRetrieve all lists in the account.
Action
Get MetricGet Metric
Action
Get MetricsRetrieve all metrics in the account.
Action
Get ProfileGet Profile
Action
Get Profile by EmailFetch a single profile by its email address. Emits empty values if no profile is found.
Action
Get Profile by IDFetch a single profile by its Klaviyo profile ID.
Action
Get ProfilesList profiles, optionally filtered by email or other attributes.
Action
Get Push TokensGet Push Tokens
Action
Get ReviewsGet Reviews
Action
Get SegmentGet Segment
Action
Get Segment ProfilesGet all profiles in a given segment.
Action
Get SegmentsRetrieve all segments in the account.
Action
Get TagGet Tag
Action
Get TagsGet Tags
Action
Get TemplateGet Template
Action
Get TemplatesGet Templates
Action
Merge ProfilesMerge Profiles
Action
Query Campaign ValuesQuery Campaign Values
Action
Query Flow SeriesQuery Flow Series
Action
Query Flow ValuesQuery Flow Values
Action
Query Form SeriesQuery Form Series
Action
Query Form ValuesQuery Form Values
Action
Query Metric AggregatesQuery Metric Aggregates
Action
Query Segment SeriesQuery Segment Series
Action
Query Segment ValuesQuery Segment Values
Action
Refresh Campaign Recipient EstimationRefresh Campaign Recipient Estimation
Action
Remove Categories from Catalog ItemRemove Categories from Catalog Item
Action
Remove Items from Catalog CategoryRemove Items from Catalog Category
Action
Remove Profile from ListRemove a profile from a list by profile ID.
Action
Remove Profiles from ListRemove Profiles from List
Action
Remove Tag from CampaignsRemove Tag from Campaigns
Action
Remove Tag from FlowsRemove Tag from Flows
Action
Remove Tag from ListsRemove Tag from Lists
Action
Remove Tag from SegmentsRemove Tag from Segments
Action
Render TemplateRender Template
Action
Request Profile DeletionRequest Profile Deletion
Action
Send CampaignSend Campaign
Action
Subscribe ProfileSubscribe a profile (email/SMS consent) to a given list.
Action
Suppress ProfileSuppress a profile from receiving email marketing (global suppression).
Action
Tag CampaignsTag Campaigns
Action
Tag FlowsTag Flows
Action
Tag ListsTag Lists
Action
Tag SegmentsTag Segments
Action
Unsubscribe ProfileUnsubscribe a profile from email/SMS marketing for a given list.
Action
Update CampaignUpdate Campaign
Action
Update Catalog CategoryUpdate Catalog Category
Action
Update Catalog ItemUpdate Catalog Item
Action
Update Catalog VariantUpdate Catalog Variant
Action
Update Categories for Catalog ItemUpdate Categories for Catalog Item
Action
Update CouponUpdate Coupon
Action
Update Coupon CodeUpdate Coupon Code
Action
Update Flow StatusUpdate Flow Status
Action
Update ImageUpdate a Klaviyo image. Reads the image first, overlays only the values you supply, then saves the merged result — so anything you leave blank keeps its current value.
Action
Update Items for Catalog CategoryUpdate Items for Catalog Category
Action
Update ListUpdate List
Action
Update ProfileUpdate an existing profile by its Klaviyo profile ID.
Action
Update SegmentUpdate Segment
Action
Update TagUpdate Tag
Action
Update TemplateUpdate Template
Action
Upload Image From FileUpload Image From File
Action
Upload Image From URLUpload Image From URL
No trigger or action matches that. Ask your agent to add it: it reads the API documentation and builds what you describe.
Each app on its own
Reviews
What our customers say
More from Cliniko
Cliniko to JIRAAtlassian JIRA Cloud — issue tracking and project management.
Cliniko to ZoomZoom unifies cloud video conferencing, simple online meetings, group messaging, and a software-based...
Cliniko to SendGridSendGrid by Twilio — email delivery and marketing platform.
Cliniko to IntercomIntercom is a customer communications platform for support, engagement, and marketing.
Cliniko to FreshdeskFreshdesk is a cloud-based customer support and helpdesk platform.
Cliniko to JotFormJotForm is a web-based WYSIWYG form builder. Create forms, integrate them into your site, and collect...
More into Klaviyo
HubSpot to KlaviyoHubSpot is your all-in-one stop for all of your marketing software needs.
ActiveCampaign to KlaviyoActiveCampaign is a marketing automation, email marketing, and CRM platform.
JIRA to KlaviyoAtlassian JIRA Cloud — issue tracking and project management.
Intercom to KlaviyoIntercom is a customer communications platform for support, engagement, and marketing.
Freshdesk to KlaviyoFreshdesk is a cloud-based customer support and helpdesk platform.
Webflow to KlaviyoWebflow is a professional website builder and CMS for designing, building, and launching responsive...
Questions
Cliniko and Klaviyo, answered
How are Cliniko patients matched to Klaviyo profiles?
Matching is done on the email address: Klaviyo's Create or Update Profile upserts by email, and Cliniko's Find patient by email returns the record for a given address. If no patient is found for an email, that scenario is handled rather than left to error out.
Can appointment activity in Cliniko show up in Klaviyo?
Yes. A cancelled individual appointment in Cliniko can be recorded with Klaviyo's Create Event, so the occurrence sits on the profile as a metric you can use. The agent tests every scenario before it goes live and keeps watching it afterwards.
What can start an automation from Cliniko?
Any of Cliniko's 17 triggers in the catalog, including Cancelled individual appointment, New or updated contact, New or updated patient and New cancelled attendee. Describe the moment in plain language and your agent picks the right one.
What can your agent do in Klaviyo when something happens in Cliniko?
Any of Klaviyo's 138 actions, including Create Event, Subscribe Profile, Create Back In Stock Subscription and Create Campaign. Your agent maps the data both ways and tests every scenario before it ships.
Can it also run from Klaviyo to Cliniko?
Yes. When something happens in Klaviyo, your agent can act in Cliniko too. This page covers both directions: Klaviyo's triggers and Cliniko's actions are listed here as well.
Do I have to build a connector for Cliniko or Klaviyo?
No. Both are in the catalog with their triggers and actions. You describe the automation; your agent builds it, tests every scenario and keeps it running.
Can my AI client use Cliniko and Klaviyo without building an automation?
Yes. With your AI client connected to APIANT, ask it to do something in either app once and it runs that action on the spot. Ask for an automation and your agent builds it, tests every scenario and keeps it running. One connection covers both.
What happens when something fails?
Your agent works that out for you. It plans the failure paths along with the happy path, then tests every scenario before it ships.
Is there a free plan?
Yes. Every plan includes the agent, including free, and building from your own AI client spends no assistant credits.