Action_036 Actions

A flow in Sweet Automation is made up of different so-called “actions” The actions can be categorized differently depending on what its purpose are. The categories that are included by default are “Loading tasks”, “Move”, “Tasks” and “E-Marketing”. An action can for instance be to upload a target group to a flow. Then the target group is distributed via an “Split” action which is in the category “Move”, finally we act on the targetgroup by for example sending email or creates a activities in a CRM system.

Actions in general

All actions have the same basic set. That is, all have some standard functionality.

Below I will describe the common functionality.

Header block

Id. All actions have a completely unique Id. Id can also be good to use when, for example, you want to perform an operation via Sweet Automation’s Rest Monkey.


Active. This is a flag that shows whether the action is active or not. By default, most actions are inactive when creating them. An action that is not active will not run, even if it is scheduled. Auto is also set by default.


Auto. This flag means that the action will run automatically when the action above has finished. If you click this flag, the flow will stop at this flag and no subsequent actions will be executed. If the action is not set to “Auto” then it is automatically set to manual execution. However, this can be changed via the schedule “Schedule”. E.g. If you want an action to go only for a certain time, then click Auto and instead schedule the action to the desired time. Then there is no risk that the action will be triggered by other flow measures.


If Auto is set, it is displayed in the form of a flash in flow interfaces.

NOTE! If Auto is checked, the action will be executed if triggered by the above action regardless of whether the action itself has its own scheduling. That is, it will execute both through the previous action and its own scheduling.)


Pass through. Means that the action only locks through participants without performing anything against them. This can be equated with the flow “Preview mode”, but Pass through is applied even if the action is “dangerous” or not. Pass through is not set by default.


Schedule. This button allows you to schedule your action. By default, scheduling is set to “Manual” execution for all actions. Read more about scheduling under Schedule


Execute. Button for manually starting execution of the action. However, the action is required to be active.


Delete. button to delete an action. Important! If you delete an action, all subsequent legs in the flow will also be removed. You may not remove an action if subsequent boxes in the flow contain participants. Subsequent boxes must therefore be empty.


Auto save or Save. Some actions have a button “Auto Save” which is greyed out, it is meant that all settings made in the action are automatically saved. If the action instead has a “Save” button that is enabled, you have to manually save your settings.


Advanced settings

Advanced settings. This button displays the advanced settings for the operation.


Advanced settings.


WhenExists. Is a flag to set the action to just execute if there are participants in the action above. E.g. A flow is executed from the top and down. When the flow chain has reached an action that has this set and there are no participants in the box above, the chain will be stopped here. By default, this flag is not set, which means that the execution chain continues in all the underlying actions even if the box above has participants or not.


Key. Field to give the action a key. This key can be used, for example, via Sweet Automation’s Rest-api.


Name of the action. All actions have a default name. This can be changed if desired. The name is also displayed in tooltip in the flow if you move the mouse over the icon that is to the right of the action.


Star - End. Period for when the action is active or not. By default, these are blank which means that the action is active. If the active flag is set. If Start and End were set, this means that the action can only be active within this period. When the current date passes except this period.


Description. Free text box to describe what the action has for purpose or the like.


KPI details. Fields for completing metadata that can be used for follow-up.


Filter. Filter function for which participants the action is to run on. Here you can specify a selection template on which the action is to be run. And to combine with the “Top” function. Instead of making this split a split above, one can instead filter out a target group to which the action is to be run.


Loading Tasks

Loading tasks are used to upload or fill a flow with participants/target group.

Flow_034 DB

The database loading action is for loading a flow of participants. Participants can only be charged once as “active” to a flow. I.e. only an active participant at a time. However, if a participant is deleted or disabled in a flow, it can be reloaded again. All participants are always loaded as active.


QueryTemplate. Below, you will decide which selection template to use to load your flow. The only requirement for this selection template is that it has a result column that has the same name and type as the flow “FlowKey” (in flow settings).


Create. The “CREATE” button can be used to create a new selection template if you do not already have an existing one that can be used.


Top. With “Top”, you specify how large a subset of your selection template is to be loaded at each run. By default, you enter here x number.


%. If you tick “%” then your “Top” will count as a percentage instead of a number.


Rnd. If you tick “Rnd” it means that the subset of your selection template should be random. This is if you specify “Top”, otherwise the entire target group is loaded.


Active. Active. Here you activate your loading rule.


Add participant information. By default, only one attribute is loaded to the flow, FlowKey. That is, the only information in the flow is just the attribute used as FlowKey. But there is a way to add additional information to the flow if you want to use the latter in the flow. This is done via the button “Add participant information”.


Click the button to add the first attribute. The first one is always the “FlowKey”. You have already added this one under “Flow Settings”, bu you must define it once more. The attributes are retrieved from the selection template you defined in the loading action.


Click the button again to add another attribute. Begin by selecting the result column, then the name (Key) will automatically enter. You can naturally change this if you want.


There is no limit to how many attributes one can load to a flow. But be careful what you load. One should avoid loading sensitive information, in view of GDPR rules etc.


Flow_035 File

The “File” loding action is one of the actions that could be used in both Standard-Flow and ETL-Flow. The difference between thouse two are that for a standard flow the file can be imported direcly to a flow or a physical table. For ETL-flow the file can only be imported to a physical table.



File location. You can choose your file in two separate ways:

Sharre or Upload.


Share. When you choose “Share” you have to enter a UNC-Path. For example “\myshare\import\persons\persons.xlsx”. You can also choose to use user defined credential to access the file. If you dont use a specific credential, it is the service account that must have access to the file.


Upload. You can direcly browse your file from a network path or you local computer. But if you choose “Upload” you bust browse the file again for everytime you whant to load a new file.


Below you specify whether or not your file has a header line.


As soon as you have pointed out your file, regardless of the method, the content of the file will be analyzed and displayed in a grid as shown below.


You can also choose how large a subset of the file is to be analyzed. Default is 10,000 lines. (The analysis determines which data types each field should receive. The larger the subset that is analyzed, the safer the choice of data type.)


Click the “Analyze” button to reanalyze your file.


Once the data has been analyzed and displayed in the grid, select a key. If you select more than one key, a composite key will be created that consists of several fields. This is to make each row unique so that you can import the same file format several times. Thin key or composite key will then be used as a matching key for new and old records.


Target. In “Target”, specify whether to import the file into a feed or physical table. When in ETL mode, the action is locked to “Table”. That is, you can only choose to import to table. If you are in standard mode, you can choose between flow or table. Note that if you select a table you will not be able to see the target group directly in a flow box. However, a selection data source is created against the table. You can later upload the table contents to a flow box.

If you want to import the flow to a flow and the flow saves its data in its own structure, a physical table is created for the flow and a structure for the flow itself.


When you have finished your setup for file import, click the “Lock” button to lock the settings.


Now the action is ready and you can import your data.

Flow_036 POP3

Flow_037 Empty

Flow_038 WS

Flow_039 Azure storage


Move actions are for distributing or moving participants in the flows. Move actions are harmless and cannot create things in other systems.

Flow_040 Split

The split action is for dividing a target group into a box into one or more boxes.

For each leg that exits from the split action, the priority is left to right. That is, the leftmost leg has a rule that runs first of all. All participants in the box above that match this rule are moved down to the left-hand box. The next rule that runs is the one that is next to the far left. This continues all the way to the right leg that is the last one. Only rules / legs that are active are running. If a rule that is in the middle of all legs is inactive but does not follow, then the run just jumps over this leg.


Open up the split action and you will see all the legs as separate rules. In the dialogue, the priority is top-down, where the top one has the highest priority. This corresponds to what you see in the flow, left to right.


Execution Priority. The small button to the left of the box name is for changing the prioritization of the rules. The flow is redrawn when you drag and drop them up or down.


Name. Name of the box. The name can only change if you click on a box in the flow.


QueryTemplate. Drop down to look up the selection template that you want to apply to this rule. You can also find your selection template (if you have a finished), drag and drop it on the box, then it is also set here.


CREATE. Button to create a new selection template directly on this rule.


Top. With “Top”, you specify how many participants that should be moved to this box. By default, you enter here x number. If you leave it blank, all matching participants is do be moved.


%. If you tick “%” then your “Top” will count as a percentage instead of a number.


Rnd. If you tick “Rnd” it means that the subset of your selection template should be random. This is if you specify “Top”, otherwise the entire target group is loaded.


Time. Set time for when participant should be moved.


The formula for entering a time is ##d##h## m staring for “days, hours, minutes”.

When the participants have been in the box above for x days, y hours and z min, the action will be run, and the participants will be moved down. Only participants that have been in the box for that time. Other participants will stay in the box until they have reatch the time.

When entering a time span here the action will executes it self when the participants nex in line have reatch its time.

Example for this time span Action_068, is: 1 day, 4 hours and 35 minutes

Active. Active. Here you activate your split rule.


When you have selected a selection template for a rule, the button changes from “Create” to “Match”. See below. This button is for changing from standard matching to other matching.


Click the “MATCH” button to redo the matching of participants.

By default, without additional matching, the participants are matched via FlowKey, ie the key to which the flow is set. The split rule then requires that the selected sample template has the same attribute among the result columns.


To make a custom match. Click the “Match on participant information” button. The first line is connection to “FlowKey”. You can combine FlowKey with several other fields among the flow information.


If you want matching on FlowKey, you can add this as below.


As other matching criteria, you first choose from flow information then against the attributes in the selection template.


The fields do not need to have the same name. The match takes place on its contents.


The example below matches on FlowKey (PersonId) and City and E-mail.


The example below matches on City and E-mail. (No machting on Flowkey)


The example below matches only on City. (No machting on Flowkey)


Flow_041 Move

The “move” action is for moving participants from one box to another. The box you want to move to does not necessarily have to be in the same flow but can lie in a completely different flow. The only thing that is required for this is that the flow is built on the same FlowKey.


Flow. Drop down to choose flow. By default, the current flow is selected.


Box. Drop down to select box where the participants are to be moved. Only boxes in your selected flow will be listed.


Execute operations to destination container. If this is clicked, the action under your destination box will start.


Flow_042 Copy

The “copy” action is for copying participants from one flow to another. The box you want to copy to can not bee in the same flow but can lie in a completely different flow. The only thing that is required for this is that the flow is built on the same FlowKey.


Flow. Drop down to choose flow. By default, the current flow is selected.


Box. Drop down to select box where the participants are to be copied. Only boxes in your selected flow will be listed.


Execute operations to destination container. If this is clicked, the action under your destination box will start.


Flow_043 Trigger

The “Trigger” action is for starting one or more other actions in the same or other feeds. The participants in the box above will only be moved down to the box below.


Through the “Add” button you can add as many trigger lines as you wish. For each trigger row, select the flow and then the box to be triggered in your chosen flow.


Flow_044 Waitfor

The “whaitfor” action is to make a temporary stop in the execution chain in your flow. In the action, you point out the actions that it should wait for before it can proceed. This only works if this action started with the same execution ID. If there are several schedules in the flow, it only works for executions with the same Id.


Using the “Add” button, add rows for the actions you want to wait for to run clear. In the drop down, select the action it should wait for.



Task are actions that perform things against a target group with its information that it has access to. These action can be dangerous and you should handle them carefully so that you do not run such a action in a sharp position, except first having tested properly.

Flow_045 Delete

Flow_046 Dectivate

Flow_047 Sql

Flow_048 Tag

Flow_049 Export

Flow_050 Cmd

Flow_051 Sweet

Flow_052 Market

Flow_053 Upgrade

Flow_054 Download

Flow_055 GDPR

The GDPR action is for clearing flows that may contain sensitive information in the form of personal data or the like. There is no good way to automatically detect whether the flow contains sensitive information or not. You have to keep track of yourself. For example, when you build a flow, you know what information will be saved in to the flow, then you can tag the flow for having sensitive data. What one might have in mind is that a box can display sensitive information, but that does not mean that the information is stored in the flow, but is retrieved from the primary data source in when opening a box.

A recommendation is that as far as possible, you should not load feeds or tag participants with sensitive information.

But in cases where one has to have this type of sensitive information, this GDPR is available to clear sensitive information after x number of days/months/years.

Settings in standard flows

For each flow that is loaded with participants, there is an option to tag that the flow contains sensitive data. This tag can then be used in the GDPR action to search for these flows with sensitive information.



With SensitiveData, you can set a filter on the action to look for.

  • No = Anyone who does not have sensitive data
  • Yes = Anyone who contains sensitive data
  • All = All flows



Flow makes it possible to select one or more flows to which the action is to be run. If you leave this blank, the action will run on all feeds, but in combination with other filters



All standard feeds where you load a target group have a timestamp for when a participant came in to the flow and when it came to specific box. Here you choose which time stamp you want to go against:

  • InDateByFlowId = Datetime when participant was entering the flow.
  • InDateByFlowTreeId = Datetime when participant was entering a specific box in a flow.

I would recommend using InDateByFlowId.



with Condition you decide how to retrieve participants from a specific date. You can choose between:

  • Equal to
  • Greater than
  • Greater or equal then
  • Less than
  • Less or equal then



With Date you specify from which date the calculation should be based. Either you choose:

  • Fixed Date (Static)
  • Execution time
  • Execution time + - X days
  • Execution time + - X month
  • Execution time + - X years


Example 1

In the example below, I have built up a rule that says that the action should clear all participants as:

  • Located in flows tagged with “Contain sensitive data”
  • They should have been in the flow longer than 6 months back. (InDateByFlowId <= (Todays date - 6 month))


Example 2

In the example below, I have built up a rule that says that the action should clear all participants as:

  • Does not care about whether flows has sensitive information or not.
  • Will run against predefined flows “My flow”, “Performance Test” and “WP Edu”
  • Participants who have been in the flow earlier than 2019-03-01 00:00:00


Flow_056 TFS Workitems


E-Marketing are action that are specially adapted for social media, email, sms feeds etc. Also these can be dangerous to use because you can for example send large amounts of e-mails to participants. First test it properly before putting it into production.

Flow_057 Email

Flow_058 SMS

Flow_059 Upload

Flow_060 E-Marketing split