Documentation menu

Klaviyo#

Connect Klaviyo with a private API key. The source writes 9 fixed tables under titan.klaviyo.

sql
select
  id,
  email,
  first_name
from titan.klaviyo.profiles
limit 10

Connect Klaviyo#

  1. Open Apps, choose Connect app, and select Klaviyo.

  2. Enter a private API key.

  3. Review the tables, then save the source.

  4. Watch Sync history until the first run completes.

Credentials are stored as secrets. They never become lake columns or appear in query results.

Sync behavior#

Profiles, lists, campaigns, flows, metrics, events, segments, templates, and catalog items sync together.

A new source syncs when you connect it and then follows its schedule. The default recurring interval is 4 hours. An interrupted run keeps its completed progress and retries safely.

Every lake table also has the system columns _synced_at and _deleted; the column reference below lists source columns only.

Table reference#

profiles#

titan.klaviyo.profiles has 8 source columns.

klaviyo.profiles8 columns
idstringpk

Source field id.

emailstring

Source field email.

first_namestring

Source field firstName.

last_namestring

Source field lastName.

phonestring

Source field phone.

createddatetime

Source field created.

updateddatetime

Source field updated.

propertiesjson

Source field properties.

lists#

titan.klaviyo.lists has 4 source columns.

klaviyo.lists4 columns
idstringpk

Source field id.

namestring

Source field name.

createddatetime

Source field created.

updateddatetime

Source field updated.

campaigns#

titan.klaviyo.campaigns has 6 source columns.

klaviyo.campaigns6 columns
idstringpk

Source field id.

namestring

Source field name.

statusstring

Source field status.

created_atdatetime

Source field createdAt.

updated_atdatetime

Source field updatedAt.

send_timedatetime

Source field sendTime.

flows#

titan.klaviyo.flows has 6 source columns.

klaviyo.flows6 columns
idstringpk

Source field id.

namestring

Source field name.

statusstring

Source field status.

createddatetime

Source field created.

updateddatetime

Source field updated.

trigger_typestring

Source field triggerType.

metrics#

titan.klaviyo.metrics has 5 source columns.

klaviyo.metrics5 columns
idstringpk

Source field id.

namestring

Source field name.

integrationjson

Source field integration.

createddatetime

Source field created.

updateddatetime

Source field updated.

events#

titan.klaviyo.events has 5 source columns.

klaviyo.events5 columns
idstringpk

Source field id.

metric_idstring

Source field metricId.

profile_idstring

Source field profileId.

datetimedatetime

Source field datetime.

event_propertiesjson

Source field eventProperties.

segments#

titan.klaviyo.segments has 4 source columns.

klaviyo.segments4 columns
idstringpk

Source field id.

namestring

Source field name.

createddatetime

Source field created.

updateddatetime

Source field updated.

templates#

titan.klaviyo.templates has 6 source columns.

klaviyo.templates6 columns
idstringpk

Source field id.

namestring

Source field name.

editor_typestring

Source field editorType.

htmlstring

Source field html.

createddatetime

Source field created.

updateddatetime

Source field updated.

catalog_items#

titan.klaviyo.catalog_items has 6 source columns.

klaviyo.catalog_items6 columns
idstringpk

Source field id.

titlestring

Source field title.

descriptionstring

Source field description.

urlstring

Source field url.

createddatetime

Source field created.

updateddatetime

Source field updated.

Deletes and history#

Rows are merged by their source key. When the source can prove that a row was deleted, Supernova keeps the row and sets _deleted so queries can choose whether to include history. Filter current-state queries with where not _deleted.