Skip to main content
Components are the building blocks inside an Engagement Funnel layer. There are five component types — messages, inputs, buttons, endpoint, and auth — each with its own appearances and options, and each available on a specific set of channels. Every submitted value is validated on the server against the component’s configured rules before it’s stored in the session.

Messages

A message displays content to the contact. Its appearance determines what it renders, and availability varies by channel:
ChannelAvailable message appearances
Websimple, compound, image, hyperlink
WhatsApptext, simple, compound, image, hyperlink, quick-reply, list, location, asset, media
Web chatSame as WhatsApp
SMSsimple, compound, hyperlink
Message text supports {{mustache}} variables, so you can personalize content with values collected earlier in the session (for example, Hi {{given_name}}).

Inputs

An input (an “entry”) collects data from the contact. Inputs capture values partially into the session until the funnel completes. All inputs share a common set of options:
OptionDescription
appearanceThe input’s visual form (varies by type — see below).
mandatoryWhether a value is required.
allow_overwriteWhether an autofilled value can be overwritten.
is_hiddenA hidden input (collected, not shown).
is_arrayAccept multiple values, each validated individually.
autofill_sourceWhere to pre-fill from — see Autofill.
validationsThe validation rules applied to the value.

Input types

TypeChannelsAppearances & notes
TextAllWeb: short, long, full_formated, markdown, list, dropdown, phone, email, otp_code; a subset on conversational/SMS. Operators: maxLength, minLength, regEx, allowedValues.
NumericAllWeb: number, spinner, slider, integer; conversational: number, integer; SMS: number. Min/max/equal operators.
BooleanWeb, WhatsApp, web chatcheckbox, like_dislike. Accepts true/false, 1/0, yes/no, sí/no.
DatetimeWeb onlydate, time, datetime. min / max operators.
LocationAll (reduced on conversational/SMS)Web: default, city, postal_code, full; an optional search radius; validates coordinates, city/postal text, or a full address.
File / media uploadWeb, WhatsApp, web chat (limited on SMS)file, dropzone, camera, media. Restrict by content type (image/video/audio/document); maxFileSize and allowedFormats operators. Files are stored in the DAM.
MultimodalConversational onlyA single selector input that accepts several value types (text, number, boolean, file, media, location) and validates whatever the contact sends.
API callWeb, conversationalTriggers a server interaction rather than capturing a typed value.

Validation rules

Each entry in an input’s validations has an operator, a value, and an error message (resolved per language). For is_array inputs, each element is validated individually. A special API-call validation can check a value against an external service, optionally stopping the flow on failure.

Buttons

A button drives navigation or an action:
TypePurpose
NavigationMove to the previous layer or jump to a layer (optionally with jump conditions). It can also open an external URL — redirecting the contact out of the funnel, optionally with session resumption so they can continue later.
Action(Web) Triggers an action, such as an API call, whose response can drive what happens next.
A button can carry conditional logic — for example, if selected_car_model = “Tesla Model 3”, jump to the financing layer, or if utm_source = “whatsapp”, show a WhatsApp-optimized layer. See Funnel rules.

Endpoint

An endpoint component calls an internal or external endpoint as part of the flow and can map the response back into the session. Allowed methods are GET, POST, PUT, DELETE, PATCH on web, and GET, POST on conversational/SMS. A common use is a credit-eligibility check whose response routes the contact to an “approved” or “denied” layer.

Auth

An auth component renders a sign-in or sign-up form inside the funnel:
  • Login — by credentials (email + password) or magic link (email only).
  • Register — email, name, and password.
The form is rendered by the auth component; the actual authentication work (and related flows like registering a lead, sending an OTP / magic link, and verifying a contact) is carried out by action layers.

Engagement Funnels

Back to the funnel overview.

Funnel rules

How navigation, skip, autofill, and actions work.