Workflow
Code Snippet
Copy<Workflow>
<uri>/finesse/api/Workflow/{id}</uri>
<name></name>
<description></description>
<media></media>
<TriggerSet>
<type></type>
<name></name>
<allowOverlappingCallWorkflow></allowOverlappingCallWorkflow>
<triggers>
<Trigger>
<Variable>
<name></name>
<node></node>
<type></type>
</Variable>
<comparator></comparator>
<value></value>
</Trigger>
<Trigger>
<Variable>
<name></name>
<node></node>
<type></type>
</Variable>
<comparator></comparator>
<value></value>
</Trigger>
</triggers>
</TriggerSet>
<ConditionSet>
<applyMethod></applyMethod>
<conditions>
<Condition>
<Variable>
<name></name>
<type></type>
</Variable>
<comparator></comparator>
<value></value>
</Condition>
<Condition>
<Variable>
<name></name>
<type></type>
</Variable>
<comparator></comparator>
<value></value>
</Condition>
</conditions>
</ConditionSet>
<workflowActions>
<WorkflowAction>
<name></name>
<type></type>
<uri>/finesse/api/WorkflowAction/{id}</uri>
</WorkflowAction>
<WorkflowAction>
<name></name>
<type></type>
<uri>/finesse/api/WorkflowAction/{id}</uri>
</WorkflowAction>
</workflowActions>
</Workflow>
The following SYSTEM TriggerSets are defined by the Finesse system. When you create a workflow, you need only specify the name and type of SYSTEM. The TriggerSets are automatically expanded when retrieved by the User—Get list of workflows API.
CALL_ARRIVES
Code Snippet
Copy<TriggerSet>
<type>SYSTEM</type>
<name>CALL_ARRIVES</name>
<triggers>
<Trigger>
<Variable>
<name>mediaType</name>
<node>//Dialog/mediaType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_EQUAL</comparator>
<value>Voice</value>
</Trigger>
<Trigger>
<Variable>
<name>callType</name>
<node>//Dialog/mediaProperties/callType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_IN_LIST</comparator>
<value>ACD_IN,PREROUTE_ACD_IN,PREROUTE_DIRECT_AGENT,TRANSFER,OVERFLOW_IN,
OTHER_IN,AGENT_OUT,OUT,OUTBOUND,OUTBOUND_CALLBACK,OUTBOUND_PERSONAL_CALLBACK,
AGENT_INSIDE,OFFERED,CONSULT,CONSULT_OFFERED,CONSULT_CONFERENCE,CONFERENCE,
TASK_ROUTED_BY_ICM,TASK_ROUTED_BY_APPLICATION,VOICE_CALL_BACK,NON_ACD,
SUPERVISOR_BARGE_IN,NULL</value>
</Trigger>
<Trigger>
<Variable>
<name>state</name>
<node>//Dialog/participants/Participant/mediaAddress
[.='${extension}']/../state</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_IN_LIST</comparator>
<value>ALERTING,ACTIVE,HELD</value>
</Trigger>
<Trigger>
<Variable>
<name>fromAddress</name>
<node>//Dialog/fromAddress</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_NOT_EQUAL</comparator>
<value>${extension}</value>
</Trigger>
</triggers>
</TriggerSet>
CALL_ANSWERED
Code Snippet
Copy<TriggerSet>
<type>SYSTEM</type>
<name>CALL_ANSWERED</name>
<triggers>
<Trigger>
<Variable>
<name>mediaType</name>
<node>//Dialog/mediaType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_EQUAL</comparator>
<value>Voice</value>
</Trigger>
<Trigger>
<Variable>
<name>callType</name>
<node>//Dialog/mediaProperties/callType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_IN_LIST</comparator>
<value>ACD_IN,PREROUTE_ACD_IN,PREROUTE_DIRECT_AGENT,TRANSFER,OVERFLOW_IN,
OTHER_IN,AGENT_OUT,OUT,OUTBOUND,OUTBOUND_CALLBACK,OUTBOUND_PERSONAL_CALLBACK,
AGENT_INSIDE,OFFERED,CONSULT,CONSULT_OFFERED,CONSULT_CONFERENCE,CONFERENCE,
TASK_ROUTED_BY_ICM,TASK_ROUTED_BY_APPLICATION,VOICE_CALL_BACK,NON_ACD,
SUPERVISOR_BARGE_IN,NULL</value>
</Trigger>
<Trigger>
<Variable>
<name>state</name>
<node>//Dialog/participants/Participant/mediaAddress
[.='${extension}']/../state</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_EQUAL</comparator>
<value>ACTIVE</value>
</Trigger>
</triggers>
</TriggerSet>
CALL_ENDS
Code Snippet
Copy<TriggerSet>
<type>SYSTEM</type>
<name>CALL_ENDS</name>
<triggers>
<Trigger>
<Variable>
<name>mediaType</name>
<node>//Dialog/mediaType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_EQUAL</comparator>
<value>Voice</value>
</Trigger>
<Trigger>
<Variable>
<name>callType</name>
<node>//Dialog/mediaProperties/callType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_IN_LIST</comparator>
<value>ACD_IN,PREROUTE_ACD_IN,PREROUTE_DIRECT_AGENT,TRANSFER,OVERFLOW_IN,
OTHER_IN,AGENT_OUT,OUT,OUTBOUND,OUTBOUND_CALLBACK,OUTBOUND_PERSONAL_CALLBACK,
AGENT_INSIDE,OFFERED,CONSULT,CONSULT_OFFERED,CONSULT_CONFERENCE,CONFERENCE,
TASK_ROUTED_BY_ICM,TASK_ROUTED_BY_APPLICATION,VOICE_CALL_BACK,NON_ACD,
SUPERVISOR_BARGE_IN,NULL</value>
</Trigger>
<Trigger>
<Variable>
<name>state</name>
<node>//Dialog/participants/Participant/mediaAddress
[.='${extension}']/../state</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_IN_LIST</comparator>
<value>DROPPED,WRAP_UP</value>
</Trigger>
</triggers>
</TriggerSet>
CALL_IS_MADE
Code Snippet
Copy<TriggerSet>
<type>SYSTEM</type>
<name>CALL_IS_MADE</name>
<triggers>
<Trigger>
<Variable>
<name>mediaType</name>
<node>//Dialog/mediaType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_EQUAL</comparator>
<value>Voice</value>
</Trigger>
<Trigger>
<Variable>
<name>callType</name>
<node>//Dialog/mediaProperties/callType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_IN_LIST</comparator>
<value>ACD_IN,PREROUTE_ACD_IN,PREROUTE_DIRECT_AGENT,TRANSFER,OVERFLOW_IN,
OTHER_IN,AGENT_OUT,OUT,OUTBOUND,OUTBOUND_CALLBACK,OUTBOUND_PERSONAL_CALLBACK,
AGENT_INSIDE,OFFERED,CONSULT,CONSULT_OFFERED,CONSULT_CONFERENCE,CONFERENCE,
TASK_ROUTED_BY_ICM,TASK_ROUTED_BY_APPLICATION,VOICE_CALL_BACK,NON_ACD,
SUPERVISOR_BARGE_IN,NULL</value>
</Trigger>
<Trigger>
<Variable>
<name>state</name>
<node>//Dialog/participants/Participant/mediaAddress
[.='${extension}']/../state</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_IN_LIST</comparator>
<value>ALERTING,INITIATED,FAILED,ACTIVE,HELD</value>
</Trigger>
<Trigger>
<Variable>
<name>fromAddress</name>
<node>//Dialog/fromAddress</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_EQUAL</comparator>
<value>${extension}</value>
</Trigger>
</triggers>
</TriggerSet>
CALL_IS_PREVIEWED
Code Snippet
Copy<TriggerSet>
<type>SYSTEM</type>
<name>CALL_IS_PREVIEWED</name>
<triggers>
<Trigger>
<Variable>
<name>mediaType</name>
<node>//Dialog/mediaType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_EQUAL</comparator>
<value>Voice</value>
</Trigger>
<Trigger>
<Variable>
<name>callType</name>
<node>//Dialog/mediaProperties/callType</node>
<type>CUSTOM</type>
</Variable>
<comparator>IS_IN_LIST</comparator>
<value>OUTBOUND_PREVIEW,OUTBOUND_CALLBACK_PREVIEW,OUTBOUND_DIRECT_PREVIEW,
OUTBOUND_PERSONAL_CALLBACK_PREVIEW</value>
</Trigger>
</triggers>
<allowOverlappingCallWorkflow>true</allowOverlappingCallWorkflow>
</TriggerSet>