Skip to content

User

Nodes in the User section work with data of the current user. A member has a set of tags: Set user tag adds a tag, Remove user tag removes one, Get user tag reads all tags into a variable, and User has tag branches by tags.

In the editor, the tag field offers a dropdown of tags already used in Set user tag nodes of the current schema.

1. Set user tag

Set user tag (SetUserTag) adds one tag to the current member. Tags are unique: adding an existing tag changes nothing.

Settings

Field Meaning
UserTag Static text. Templates (#var, {{ JS }}) are not supported
NextAction The single output

Connections

  • Input: one standard connector.
  • Output: one NextAction.

Set user tag does not create its own #node.* variable. The updated tag set is visible immediately in the same execution through #member.tags.

Variables and templates

UserTag is static text; dynamic values are not rendered.

For example:

customer

Example

Condition "purchased"
  -> Set user tag "customer"
  -> Screen "Thank you"

Important details

  • An empty tag changes nothing.
  • The new tag is visible immediately in the same execution: #member.tags is updated at once, so Get user tag and User has tag below the Set user tag node see it.
  • The profile is persisted after the current chain run.
  • Set user tag is intended for messenger flows and is not used in a synchronous AI tool.

2. Get user tag

Get user tag (GetUserTag) reads all tags of the current member and creates a node-scoped variable that can be used by subsequent nodes.

Settings

Field Meaning
OutputKeyName Output key name; defaults to user_tag
NextAction The single output

Connections

  • Input: one standard connector.
  • Output: one NextAction.

Output variable

The result is available as:

#node.{id}.{OutputKeyName}

It contains the member tags as a JSON array string, for example:

["vip","kyiv"]

Without member context, the result is [].

The global variable:

#member.tags

also contains the current tag set as a JSON array string. Get user tag is useful when tags should be exposed as an explicit output of a particular node.

Example

Get user tag
  -> Condition 'parseJson(#node.21.user_tag).includes("customer")'
       | True  -> Screen "For customers"
       | False -> Screen "General screen"

Important details

  • Do not leave OutputKeyName empty: the backend allows it, but the resulting key is the inconvenient #node.{id}..
  • Get user tag does not provide a useful result in a synchronous AI tool because member context is unavailable there.

3. User has tag

User has tag (UserHasTagNode) checks the current member tags and routes execution to the True or False branch.

Settings

Field Meaning
UserTags List of tags to check; at least one is required
Mode Any (default) means at least one match; All means all tags from the list; ExactMatch means the tag set is exactly equal to the list
TrueAction Transition used when the check succeeds
FalseAction Transition used when the check fails

Connections

  • Input: one standard connector.
  • Outputs: True and False.

Connect both branches explicitly in the editor.

Output variables

After execution, User has tag creates:

#node.{id}.userHasTag.result

The value is True or False.

Example

User has tag ["vip"], Any
  | True  -> Screen "VIP offers"
  | False -> Switch "#node.7.city"

Important details

  • Comparison is case-sensitive.
  • To express "tag1 and tag2", use All mode or a chain of two User has tag nodes.
  • ExactMatch ignores order.
  • User has tag is intended for messenger flows and is not used in a synchronous AI tool.

4. Remove user tag

Remove user tag (RemoveUserTagNode) removes one tag from the current member. Removing a missing tag is a no-op.

Settings

Field Meaning
UserTag Static text. Templates (#var, {{ JS }}) are not supported
NextAction The single output

Connections

  • Input: one standard connector.
  • Output: one NextAction.

Important details

  • The updated tag set is visible immediately in the same execution through #member.tags.
  • Remove user tag does not create its own #node.* output variables.
  • The profile is persisted after the current chain run.
  • Remove user tag is intended for messenger flows and is not used in a synchronous AI tool.