XeniaXenia Docs

Responses

PreviousNext

The nodes that end a journey by answering the thing that started it.

A response node is terminal: it ends the path and nothing can follow it. Every other node in that path has to come first.

The three of them answer three different callers. Shopify Variant and Shopify Popup answer a storefront visit, and Webhook Response answers an HTTP caller that is waiting.

Shopify Variant

Ends the journey by serving a storefront page variant saved in the Visual Editor. The journey's outcome is what the customer sees on the site, not a message sent to them.

Needs upstream

A Shopify Trigger with its event set to page.view. No other event, and no other trigger, serves a variant.

Configure

SettingWhat it does
Shopify shopThe connected store to serve on
Variant selectionThe variant to serve, picked from what this shop has saved in the Visual Editor
VariantsAdditional saved variants to serve. The list is ordered, and you move entries up and down to control precedence when several target the same page

Required: the store and at least one variant.

Watch out

  • It is hard-blocked on a page.view trigger. With the trigger set to any other event, every Shopify Variant on the canvas is an error and the journey will not publish. Set the event before adding this node.
  • The variant list shows what this shop saved in the Visual Editor. If the shop has none saved, there is nothing to serve: create the variant there first.
  • On its own it always serves the same variant. Pair it with a Multivariant Split, one variant per path, to test variants against each other.

Shopify Popup

Ends the journey by showing a storefront popup authored in Content Studio. Use it to catch someone mid-session with an exit-intent offer, a first-order incentive, or an email capture.

Needs upstream

A Shopify Trigger, so the journey knows which visitor is being shown it. The behavioural events, exit.intent, add.to.cart, time.on.page, and scroll.depth, are what this node was designed for.

Configure

SettingWhat it does
Shopify shopThe connected store to show it on
PopupThe Content Studio popup this node is filled from
HeadlinePopup headline
BodyPopup body as inline HTML. Supports {{token}} interpolation
CTA labelButton text
CTA URLWhere the button goes
Image URLHero image, resolved from the popup
Positioncenter, corner, or banner
ThemeLight or dark
Capture emailWhether it collects an email address
Form submissionWhere a captured email goes: into another journey's webhook trigger, or to an external endpoint
Frequencyonce, session, or always
Frequency daysDays before showing it again, when frequency is once

Watch out

  • The popup is authored in Content Studio and only picked here. You cannot write one from the journey.
  • Set the frequency deliberately: once shows it again only after the frequency days have passed, session once per visit, always every time.
  • Capture email only collects the address. Form submission is what decides where it goes.
  • A popup only fires on a storefront visit. Someone who has already left the site needs email or SMS.

Webhook Response

Ends the journey by answering the webhook caller. This is what lets another system ask Xenia a question and get an answer straight back: it calls the journey, the journey runs, and this node replies.

Needs upstream

A Webhook trigger, reachable from this node. The node cannot be added to a journey that has no webhook trigger.

Not shown in Shopify-billed workspaces.

Configure

SettingWhat it does
Response statusHTTP status to return: 200, 201, 202, 204, 400, 404, or 500
Response messageShort message returned alongside the body
Response bodyThe body to return, as JSON
Response headersHeaders to return, as JSON
Widget submissionsPer-action capture settings for the widgets this response renders, built in the node's Form submission panel

Where a widget hands out prizes by weighted odds, the segment weights must total 100 or the journey will not publish.

Watch out

  • The caller's HTTP connection is genuinely held open until this node runs, and times out at 30 seconds with a 408. Nothing slow can sit upstream of it, so no waits and no long loops.
  • It ends the journey, so a journey with several outcomes needs one of these per path.
  • If the caller only needs the work done and not the result, let the journey end normally rather than holding the caller open.