Toki.

Docs/Merchants/Integrations & API

Toki events and properties in your email and SMS tools

When you connect an email or SMS tool on the Integrations page, Toki starts sending it two things: an event each time something happens to a member (they earn points, unlock a tier, add a product to their wishlist), and an up-to-date set of properties on that member's profile (their balance, tier, referral link, and more). Use the events to start flows and journeys, and the properties to build segments and personalize messages. This article is the reference for both.

How the feed works

  • Connect the tool and you're done. Install Klaviyo, Attentive, Postscript, Omnisend, or Sendlane from the Integrations page and every event and every property below starts flowing. There is nothing else to switch on. See Integrations and your API key.
  • Members are matched by email. Toki identifies the customer in your tool by email address. Members without an email address are not sent. Klaviyo also receives the member's phone number when it is a valid number.
  • Every event refreshes the profile. Each time Toki sends an event, it sends the event with its own details first, then the member's profile properties in the same go, not just the ones that changed. If you want every member's properties in Klaviyo or Omnisend right away, chat with us and we'll sync them for you.
  • The same moment runs your Toki automations. Each event also sets off your event-triggered campaigns and workflows, so you can message a customer from Toki, from your tool, or from both.
  • Suspended members are left alone. While a member is suspended, Toki does not send events for them. See Member profile.
  • One store at a time. If you run several stores on one Toki account, an event that belongs to a specific store, such as an order or a redemption, goes only to the tools connected for that store.
  • Your tool sees every event before any customer sets one off. When you connect Klaviyo, Toki sends each event once with sample values, so Klaviyo already knows every event when you build your first flow. Postscript gets the same sample set when you enter the optional Email during install, and Sendlane gets each event name created on its custom integration.

The same feed also reaches Drip, Gorgias, Listrak, and Reloadify when they are installed. Shopify: Customer Metafields takes the profile properties only and writes them onto the customer in your Shopify admin as metafields.

Check a member's current values

To see exactly what Toki is sending for one member, open Members, open the member's profile, and choose User properties from the More actions menu. The dialog lists every property as a Key and Value pair; type in Search by key or value to find one. The keys match the property names in the profile properties reference below.

Events reference

Every event below goes to every connected tool unless its row says otherwise. Event names are shown as Toki sends them; Klaviyo and Postscript show a few of them under their own names, listed under "Event names in each tool" after the tables. The "Details" column lists the properties attached to the event itself; the member's profile properties are refreshed at the same time.

Points and rewards

EventWhen it firesDetails it carries
Toki Points EarnedPoints are added to a member's balance, from any source: an activity, an order, a manual adjustment, a group transfer. See How points work.amount (the points added), toki_point_balance (the new balance), toki_points_earned (lifetime points), toki_activity_id when an activity caused it, toki_source_type and toki_source_id for where the points came from.
Toki Points SpentPoints leave a member's balance: a redemption, an expiry, a deduction, or points the member sends to someone else.amount, toki_point_balance, toki_points_earned, toki_source_type, toki_source_id.
Toki Redemption CreatedA member turns points into a discount code in their wallet. See Redemption options.toki_discount_code, toki_discount_amount.
Toki Reward CreatedA member earns a Discount code or Free gift reward and Toki creates its code at that moment: a Discount code with Create discount immediately turned on (a Newsletter sign up reward always creates it right away), or a Free gift with a single product variant. Codes that a member gets later, from the reward in their wallet, don't send it. See Reward types.toki_type (discount or gift), toki_code, toki_value (for example $10.00 or 15%), toki_activity_id.
Toki Automated Gift SentA member enters a membership with a Free gift reward set to Automated, and Toki creates the draft order for the gift. See Membership rewards.product_label, product_variant_id, tier_reward_id, invoice_url (the draft order's invoice link).
Toki Transactions DeletedPoints transactions are removed from a member's history.toki_transaction_ids.

Activities and challenges

EventWhen it firesDetails it carries
Toki Activity CompletedA member completes an activity from your Ways to Earn, including purchases.toki_activity_id, toki_activity_name, toki_activity_completion_id, and toki_order_id when an order completed it.
Toki Activity ApprovedYou approve a completion that was waiting for your review. See Reward approvals.activity_name, reward.
Toki Activity DeniedYou deny a completion that was waiting for your review.activity_name, reason.
Toki Challenge StartedA member starts an attempt at a challenge with Time-based challenge turned on.toki_challenge_id, toki_challenge_name, toki_expires_at, toki_total_completed, toki_total_required, toki_total_remaining, the same three counts per activity in the challenge, and a timestamp property named after the challenge, for example toki_summer_sprint_challenge_started_at.
Toki Challenge ProgressA member completes another activity in a time-based challenge. It also fires once a day as the reminder when the challenge's Challenge reminders setting is on, for members whose time runs out within Days before expiration days.The same progress properties as Toki Challenge Started.
Toki Challenge CompletedA member completes a challenge.challenge_name, reward, and a timestamp property named after the challenge, for example toki_Summer_Sprint_challenge_completed_at (spaces become underscores, capitals are kept).
Toki Voting Activity CompletedA member answers a survey, quiz, or poll.toki_voting_activity_name, activity_id, alias (the activity's Alias), user_answer, one property per question named by the question's alias, and toki_voting_activity_ followed by the activity's alias, holding the answer. The answers are also saved on the profile as toki_ + activity alias + _ + question alias.

Memberships

EventWhen it firesDetails it carries
Toki Membership UnlockedA member reaches a membership tier. See Membership tiers.toki_tier_name, toki_tier_id (tier_name carries the same name).
Toki Membership LostA member drops out of a membership tier.toki_tier_name, toki_tier_id.
Toki Paid Membership SubscribedA member subscribes to a paid membership. See Paid memberships.toki_membership_name, toki_membership_id, toki_plan_option, toki_order_id, toki_is_gift, and for gifted memberships toki_gifter_id, toki_gifter_email, toki_gift_quantity.
Toki Paid Membership Trial UsedA member starts a paid membership trial.toki_membership_id, toki_plan_option.
Toki Paid Membership RenewedA paid membership renews.toki_membership_name, toki_membership_id, toki_plan_option, toki_order_id.
Toki Paid Membership Renewal Payment FailedA renewal payment fails. See Paid membership billing.membership_name, membership_id, plan_option, order_id, failed_attempt_number, failed_attempts_max, failed_attempts_remaining, next_retry_at, payment_failure_status, error_code, error_message.
Toki Paid Membership Cancellation RequestedA member asks to cancel a paid membership.toki_paid_membership_id, toki_paid_membership_interval, toki_reason, toki_reason_description, toki_cancelled_by, toki_requested_at, toki_expires_at.
Toki Paid Membership CancelledA paid membership ends, by cancellation or because it expired.toki_paid_membership_id, toki_paid_membership_interval, toki_exit_type (CANCEL or EXPIRE), toki_reason, toki_reason_description.
Toki Segment ReminderOnce a day, for each segment with Reminder enabled, for every member who would no longer qualify Days before days from now. Turn it on in the segment's Reminder Settings, or in the tier editor for a membership tier. See Segments.toki_segment_id, toki_condition_type (the condition the member is about to miss), toki_condition_total_needed, toki_condition_need_to_get (how much the member still needs).

Referrals

EventWhen it firesDetails it carries
Toki Referred a FriendA friend's order is linked to a member's referral. Sent to the member who shared the code. See Referral rewards.toki_referrer_email, toki_referrer_name, toki_referee_email, toki_referee_used_code, toki_order_id, toki_order_amount, toki_order_amount_cents.
Toki Referral Code UsedThe same moment, sent to the friend who used the code.Same as above.
Toki Send Refer A Friend InviteA member emails a refer-a-friend invite from a referral reward whose Send invite via setting is Klaviyo. Sent to the invited friend, who gets a member profile at that moment.toki_referrer_email, toki_referrer_name, toki_referrer_link, toki_subject, toki_message.
Toki Referral Properties UpdatedA member's referral link or referral discount code is created or changes.toki_referral_link, toki_referral_discount.

Accounts, sign-ups, and birthdays

EventWhen it firesDetails it carries
Toki Account CreatedA customer becomes a member of your program: Toki creates their member profile, for example with their first order or their first sign-in, whichever comes first. This is the trigger for a welcome series.toki_has_account (true).
Toki AuthenticatedA member joins your loyalty program: their first sign-in to their wallet, or their click on the join button in their wallet if you turned off Auto-join users to the rewards program. Staff joining a customer at the point of sale counts too. Fires once per member.toki_has_account (true).
Toki Newsletter Sign UpA member completes a Newsletter sign up activity.toki_magic_link (a link to your store that signs the member in to their wallet, valid for 24 hours), and toki_discount_code when the reward issues one.
Toki Klaviyo SubmissionA member submits a Klaviyo form connected to Toki. Sent to Klaviyo only.toki_klaviyo_form_id, toki_magic_link (the same 24-hour sign-in link).
Toki BirthdayA Birthday reward pays out to the member, on their birthday or in their birthday month, depending on the reward's Eligibility Period. Rewards set to a number of days before the birthday pay out without this event.None beyond the profile refresh.
Toki Birthdate ChangedA member adds or changes their birthdate.toki_birthdate.

Wishlists and reviews

EventWhen it firesDetails it carries
Toki Wishlist Item AddedA member adds a product to their wishlist.toki_product_id, toki_variant_id, toki_label (the variant's name).
Toki Wishlist Item RemovedA member removes a product from their wishlist.Same as above.
Toki Wishlist Collections ChangedA member creates, updates, or deletes a wishlist collection.toki_collection_id, toki_collection_name, toki_collection_action_type (created, updated, or deleted).
Toki Review CreatedA member submits a review. See Review moderation.review_id, review_rating, review_headline, review_body, review_pros, review_cons, review_status, review_product_id, review_order_id, review_group_id.
Toki Review ApprovedYou approve a review.Same as above.
Toki Review RejectedYou reject a review.Same as above.
Toki Request ReviewThe Request Review workflow action creates a review request for a member. See Workflow actions.product_id, product_name, product_url, product_image_url, store_url, submit_url (the review form), order_submit_url (the review page for the whole order), order_id, review_group_id, toki_order_fully_reviewed.

Gift cards, orders, and groups

EventWhen it firesDetails it carries
Toki Product Gift Card GiftedA member buys a gift card product as a gift. Sent to the buyer. See Gift card delivery and emails.toki_gifted_to_email, toki_amount, toki_currency_code, toki_code, toki_note, toki_scheduled_at.
Toki Product Gift Card DeliveredA gift card reaches its recipient. Sent to the recipient.toki_gifted_by_email, toki_gifted_by_name, toki_amount, toki_currency_code, toki_code, toki_note.
Toki Order ProcessedToki finishes processing a member's new order, shortly after Shopify reports it. Fires once per order, whether or not it earns points.toki_order_id.
Toki Loyalty Group Invitation SentA member is invited to a loyalty group. Sent to the invited member. See Loyalty groups.toki_loyalty_group_id, toki_loyalty_group_name, toki_loyalty_group_invitation_id, toki_loyalty_group_role, toki_invited_email, toki_inviter_user_id, toki_inviter_name, toki_invitation_sent_at, toki_invitation_expires_at.
Toki Loyalty Group Invitation AcceptedA member accepts a group invitation.toki_loyalty_group_id, toki_loyalty_group_name, toki_loyalty_group_invitation_id, toki_loyalty_group_role, toki_member_user_id, toki_member_name, toki_member_email, toki_invitation_accepted_at.
Toki Loyalty Group Join RequestedA customer asks to join a group. Sent to each administrator of the group.toki_loyalty_group_id, toki_loyalty_group_name, toki_loyalty_group_join_request_id, toki_requester_user_id, toki_requester_name, toki_requester_email, toki_join_requested_at.
Toki Loyalty Group Points RequestedA group member requests points from the group wallet. Sent to each administrator of the group.toki_loyalty_group_id, toki_loyalty_group_name, toki_loyalty_group_request_id, toki_requester_user_id, toki_requester_name, toki_requester_email, toki_requested_amount, toki_request_description, toki_requested_at.
Toki Loyalty Group Points GrantedPoints are sent from the group wallet to a member. Sent to the member who receives them.toki_loyalty_group_id, toki_loyalty_group_name, toki_loyalty_group_transfer_id, toki_loyalty_group_request_id when it answers a request, toki_actor_user_id, toki_actor_name, toki_actor_email, toki_recipient_user_id, toki_recipient_name, toki_recipient_email, toki_points_amount, toki_points_granted_at.

Events kept for Toki's own automations

Three triggers you see in Toki's campaigns and workflows stay inside Toki:

  • Segment Unlocked and Segment Lost are not sent to your messaging tools. Segment-based flows in your tool work best with the profile properties, or with a tier's Membership Unlocked and Membership Lost events.
  • Timer Triggered runs on a schedule rather than for a member, so it has no customer to attach to in your tool. Build scheduled sends in your tool's own scheduler, or in a Toki workflow.

Event names in each tool

Attentive, Omnisend, and Sendlane show every event under the Toki name above. Omnisend also attaches a system name in lowercase with underscores, such as toki_points_earned. Klaviyo and Postscript use their own names for some events:

Toki eventIn KlaviyoIn Postscript
Toki Membership UnlockedToki Tier EarnedRewardTierEarned
Toki Membership LostToki Tier LostMembershipLost
Toki Referred a FriendToki Referral CompletedReferralCompleted
Toki Voting Activity CompletedToki Completed Voting ActivityVotingActivityCompleted
Every other eventSame as the Toki nameThe Toki name without "Toki " and without spaces, for example PointsEarned, AccountCreated, ChallengeCompleted, ReferralCodeUsed

Profile properties reference

These properties live on the member's profile in your tool and are refreshed every time Toki sends that member an event. Use them in segments ("balance above 500", "tier is Gold", "wallet pass not downloaded") and in message text ("you're toki_loyalty_nt_points away from toki_nt_name").

Points and balance

PropertyWhat it holds
toki_point_balanceThe member's current balance of the default store credit, as a whole number.
toki_monetary_balanceThe same balance converted to money with the store credit's conversion rate, with two decimals.
toki_points_earnedLifetime points: the current balance plus everything the member has spent, lost to expiry, had deducted, or sent to someone else.
toki_asset_nameThe name of your default store credit, for example "Points" or "Stars".
toki_points_expires_atWhen the member's next batch of points expires. Empty when nothing is due to expire.
toki_points_expirationsThe list of upcoming expirations: how many points, and when.
toki_point_balance_ + store credit ID, toki_monetary_balance_ + store credit IDOne pair per store credit, including the default one, when your program runs more than one store credit. See Store credits.
toki_total_codeThe member's personal total code, when they have one. See Member profile.

Tiers

PropertyWhat it holds
toki_tier_nameThe member's current tier. When several tiers are unlocked, this is the tier that comes last in the order you set with Reorder on the Memberships page. Empty or a dash (-) when the member has no tier.
toki_tier_rewardsThe rewards of that tier, written out as text and separated by commas. Empty or a dash when the tier has none.
toki_nt_nameThe next tier the member can unlock: the one after their current tier in the order. Not present when the member is at the top.
toki_loyalty_nt_pointsHow many points the member still needs for the next tier, when that tier unlocks by points, formatted with thousands separators (for example 1,500). 0 when the next tier is not points-based.
toki_nt_spend_leftHow much the member still needs to spend to reach the next tier, when that tier unlocks by spend, with two decimals. Empty otherwise.
toki_nt_rewardsThe rewards of the next tier, as text.

Referrals

PropertyWhat it holds
toki_referral_linkThe member's personal referral link from your first referral reward. Empty or a dash when you have no referral reward.
toki_referral_discountThe discount code friends get through the member's referral, when the referral reward issues one.
toki_referral_link_ + reward ID, toki_referral_discount_ + reward IDOne pair per referral reward, when you run two or more referral rewards.

Wallet passes

PropertyWhat it holds
toki_apple_download_linkThe member's personal link to add their Apple Wallet pass. See Wallet passes.
toki_google_download_linkThe member's personal link to add their Google Wallet pass.
toki_wallet_downloadedtrue once the member has added a pass to either wallet, otherwise false.
toki_wallet_downloaded_atWhen the member most recently added a pass.
toki_apple_pass_downloaded_at, toki_google_pass_downloaded_atThe same date for each wallet separately.

Paid memberships

PropertyWhat it holds
toki_paid_membership_idThe paid membership the member is currently subscribed to. Empty when none.
toki_paid_membership_intervalIts billing plan: Monthly, Quarterly, Annually, or Lifetime.
toki_paid_membership_next_payment_atWhen the next payment is due.
toki_previous_paid_membership_id, toki_previous_paid_membership_name, toki_previous_paid_membership_intervalThe member's most recent paid membership that ended, filled in only while they have no active one.
toki_previous_paid_membership_exit_typeHow it ended: CANCEL or EXPIRE.
toki_previous_paid_membership_exit_reasonThe reason recorded with the cancellation, or Payment failed when a failed renewal ended it.

Wishlists and reviews

PropertyWhat it holds
toki_wishlist_product_idsThe products on the member's wishlist, as a comma-separated list of Shopify product IDs.
toki_wishlist_variant_idsThe same list by variant ID.
toki_wishlist_product_handlesThe same list by product handle, handy for building links.
toki_wishlist_collectionsThe member's wishlist collections with the products in each.
toki_reviewed_product_idsThe products the member has reviewed, as a comma-separated list of product IDs.

Member details

PropertyWhat it holds
toki_member_numberThe member's sequential number, in order of joining your program.
toki_formatted_member_numberA short display form of the member number, at least two digits long (for example 07).
toki_birthdateThe member's birthdate, when they have given it.
toki_ + activity alias + _ + question aliasThe member's answer to each survey, quiz, or poll question, saved under the activity's Alias from its Integrations card. See Creating rewards.

How each tool stores the data

The property names above are the ones you see in Klaviyo, Attentive, Omnisend, and Sendlane. A few tool-specific details:

ToolWhat to expect
KlaviyoEmpty values arrive as a dash (-). The wishlist and reviewed-product lists arrive as lists rather than as one comma-separated text, and toki_points_expirations as structured data.
AttentiveEvents and properties arrive exactly as listed.
PostscriptToki sends events only for customers who already exist as subscribers in Postscript. Subscriber properties are a fixed set with readable names: Toki Points balance, Toki Monetary balance, Toki Points Earned, Toki Tier Name, Toki Tier Rewards, Toki NT Name, Toki Loyalty NT Points, Toki NT Rewards, Toki Asset Name, Toki Referral Link, and Toki Apple Download Link. Event details use the same style: toki_discount_code arrives as Toki Discount Code.
OmnisendContact properties for balances and next-tier amounts arrive as numbers, so you can build conditions such as "balance greater than 500", and the _at dates arrive as timestamps. Any character in a property name other than letters, digits, and underscores becomes an underscore.
SendlaneEach property becomes a custom field on the contact. Toki creates any custom field it doesn't find.

Common uses

GoalWhat to use
A welcome series for new membersStart the flow from Toki Account Created.
Keep the points balance in your tool in syncNothing to set up: toki_point_balance refreshes with every event, and Toki Points Earned and Toki Points Spent carry the new balance too.
"You're 300 points away from Gold"Put toki_loyalty_nt_points and toki_nt_name in the message; use toki_nt_spend_left for tiers that unlock by spend.
"Your points expire soon"Segment on toki_points_expires_at and show the date in the message.
Warn members about to lose a tierTurn on Reminder enabled in the tier editor and start the flow from Toki Segment Reminder. After the fact, Toki Membership Lost fires.
Get more wallet passes installedSegment on toki_wallet_downloaded is false and link to toki_apple_download_link or toki_google_download_link.
Share referral linksPut toki_referral_link and toki_referral_discount in any email or text.
Ask for a reviewStart the flow from Toki Request Review and link to submit_url.

Toki's own automatic campaigns use a different set of placeholders; see Message placeholders and starter text.

Send your own events

A workflow can send an event you name yourself, with properties you choose, to all or some of your connected tools. Add the Send Custom External Event action to a workflow; see Workflow actions.

Related

Didn't find what you need? Chat with us — a human answers, usually within the hour.