The extended nodes are available in all types of flows.
Set Variables
Sets variables to fixed values. Under Assignments, you use “+” to define a Variable and an Expression for each Assignment; the node processes them in order.
| Type of the variable | Expression |
|---|---|
| text | is taken over literally, without placeholders |
| number | a number in the notation of the computer running the Routing Service — on German systems, for example, 1,5 |
| yes/no | true or false |
| point in time | a date such as 05.12.2026 08:00:00 or a C# expression, for example DateTime.Now.AddHours(2) — it is recalculated on every pass |
| time span | a duration such as 01:30:00 or a C# expression |
The node sets a value that does not match the type to 0, “no” or the earliest point in time, without any message. Use Basic Math or Script code for calculations.
Typical use: setting a flag, for example Menuewahl to 2; setting the
callback time for the virtual queue to DateTime.Now.AddHours(2).
Script code
Runs C# code and continues at the output whose Display text the code returns. Initially, there is one output, “Output 1”; you add more under Outputs with “+” and give them a Display text. How to write the code is described in Code in flows.
- If the returned text does not match any connected output, the path ends.
- If the code throws an error, the error behavior of the flow applies.
Typical use: multi-way decisions —
return AvailableAgents() > 0 ? "Frei" : "Besetzt"; — and calculating values
and writing them to variables.
Branch
Branches on a condition. The Expression is a C# condition; “…” opens the code editor. If it is true, the flow continues via True, otherwise via False.
| Expression | Checks |
|---|---|
IsOpen() |
whether the skill of the conversation is open |
AvailableAgents() > 0 |
whether an agent is free |
SenderCountryCode == 49 |
whether the caller has a German phone number |
Position > 10 |
whether more than ten are waiting ahead of the caller |
IsDialIn |
whether it is a dial-in |
Subject.Contains("Rechnung") |
whether the subject of an email contains “Rechnung” |
If the expression throws an error, the error behavior of the flow applies.
Basic Math
Calculates with two numbers and writes the result to a variable.
| Property | Meaning | Default |
|---|---|---|
| Term 1, Term 2 | a number or a variable containing a number | empty |
| Operation | +, -, * or / |
+ |
| Result | the variable for the result, a number | No Variable |
A result for a whole-number variable is rounded commercially, with halves rounded away from zero. A division by 0 results in 0.
Typical use: incrementing a counter — Term 1 %Versuche%,
Operation +, Term 2 1, Result Versuche — for example to
leave a menu after three attempts.
Send Email
Sends an email with a boilerplate, for example a notification to a specialist department.
| Property | Meaning |
|---|---|
| External recipient | the addresses, separated by commas |
| Subject | the subject |
| Boilerplate | the content of the email |
- The boilerplate is used in the language of the conversation, with all placeholders — variables, system variables and attached data, see Placeholders. If that language is missing, myContactCenter translates the boilerplate; without the AI key, it uses the first available language.
- The sender is determined by the SMTP settings of the server and of the skill of the conversation, see Email system.
- For calls and chats, myContactCenter stores a copy in the
myContactCenter-Sentfolder of the mailbox that is assigned to the skill for outgoing emails. - The node always continues via Output, even if sending fails. Only the administrators learn about the error, as Email / fax Error.
Typical use: sending a summary in the End Event; informing the team after a voicemail.
Start Timer
Starts one or more timers. Under Timer, you use “+” to define for each timer:
| Property | Meaning | Default |
|---|---|---|
| Name | the name under which the timer appears in the Timer Elapsed Event; unique within the flow | empty |
| Timeout | after how long it expires | 10 seconds |
| Repeat | It restarts after each expiry. | off |
The node does not wait; the flow continues immediately via Output. What happens when a timer expires is described in Timers.
Typical use: In the State Change Event, Waiting starts a timer “Position” with 30 seconds and Repeat; in the Timer Elapsed Event, Text To Speech says “You are in position %Position%”, then Wait for termination.