Send Different Emails Based on Form Field Value in Xperience by Kentico

We are currently migrating from Kentico 12 to Xperience by Kentico.

In Kentico 12, we used a Marketing Automation condition that allowed us to segment contacts based on a specific form field value:

Contact has filled in form field <FORMFIELD> with value containing <VALUE> in the last <NUMBER> day(s)

We used this for an event registration form where users could choose between a Morning or Afternoon session. Based on the selected value, the marketing automation sent a different email containing the appropriate event date, time, and invitation link.

While reviewing the available features in Xperience by Kentico, I have not been able to find an equivalent out-of-the-box condition that evaluates a submitted form field value within an automation.

My question:

Is there an out-of-the-box way in Xperience by Kentico to send different emails based on a submitted form field value (for example, Morning vs. Afternoon session selection)? If not, what would be the recommended approach to achieve this behavior in Xperience by Kentico?

Thanks in advance for any guidance or best practices.


Environment

  • Xperience by Kentico version: 31.8.1

  • .NET version: 10

  • Execution environment: Azure

Tags:
Kentico Marketing automation

Answers

Accepted answer

Hi Alexander,

There's no built-in condition in the Automation Builder that evaluates a submitted form field's value directly - that specific K12 Marketing Automation rule doesn't have a 1:1 equivalent yet. But there's a solid no-code way to get the same result, plus a developer fallback if you'd rather not store the choice on the contact.

Option 1 — No-code, using "Contact has value in field"

  1. Add a custom Text field to the Contact class (e.g. SessionPreference) via Modules → Contact management → Classes → Contact → Database columns.
  2. On your event form, open the Morning/Afternoon field's properties and set Mapped to contact attribute to that new field. Every submission then automatically writes "Morning" or "Afternoon" onto the contact record.
  3. Expose the field for conditions: add it to the Contact edit UI form (Modules → Contact management → Classes → Contact → UI Forms → Contact edit).
  4. In Automation, create a process with a Form trigger on your registration form, add a Rule-based condition step, and use the Contact has value in field condition against your custom field to branch into Morning/Afternoon paths, each ending in its own Send email step.

This condition only supports string (Text) fields, and it was introduced in the 29.1.0 refresh (May 2024) — no issue on 31.8.1.

Option 2 — Developer-built custom condition

Automation supports custom conditions (AutomationCondition), which receive the same runtime context as custom actions. That means inside Evaluate you can retrieve FormSubmissionTriggerData, load the submitted BizFormItem, and read the field value directly with GetStringValue("SessionField", "") — without mapping anything to the contact. This keeps the choice scoped to the submission itself rather than storing it long-term. It's a small custom step for a developer to build.

One licensing note: Automation requires the Advanced license tier.

References:

To response this discussion, you have to login first.