Error
All the details for the workflow control category.
Reset all of the actions on the activity. A bit like the 'Do Over' button.
The Activate Actions activity is like a clear history button for the current activity. When this action is run, all actions for the current activity are set back to Uncomplete. So next time this activity is processed, all actions will be run again. The current processing will continue however, so further actions will execute and possibly be completed. Normal use of this action would be to place it at the end of your activity.
If you have the "Action is Completed on Success" option checked in your 'Activate Actions' action, then the Action will only trigger once. It does not "uncomplete' itself, only the other actions in the activity. So, the Activity will run through exactly twice. To have the Activity endlessly repeat, make sure this option is not checked on the Activate Actions action.
If you make changes to an Activity that is implementing the Activate Actions action (add or remove other Actions, for example), those changes will not be reflected in existing Activity instances. Only instances of the Activity actually created after the changes are made will see those changes.
When using this action as part of a looping Activity (Daily Loop with a Delay Action at the start, for example), if you don't blank the 'Delay Activated' Attribute value, the Delay will be essentially skipped. This is because the DateTime value in the attribute will be in the past after the first time through. The Delay Action only sets the value of the 'Delay Activated' Activity Attribute if it is blank when the Delay Action processes. Otherwise, the Delay Action just checks the value to see if it should continue delaying or proceed through the Activity. So, you need to blank the 'Delay Activated' Attribute value so it is reset each time through. This is true for any other attribute values that need to be at a known/defined starting state for the Activity.
Also know that the Delay Action will not fire until the next workflow processing window. So, for each time through the Activity after the first time, the "real" delay time will be: Remainder Of Workflow Processing Window + Delay Action Value. Example: If your workflows are processed every 10 minutes and you have a Delay Action set for 30 minutes, your non-first times through your Activity will have a 'real' delay to around 40 minutes.
Starts up a new workflow activity.
This action will launch (aka activate) a new activity of the type that you choose. This action is used heavily to control the branching logic of the workflow. The use of action filters is very powerful with this action.
Starts an activity in another workflow
Activates an activity in all workflows where an attribute matches
Starts up a new workflow with any attribute values your new workflow needs.
Assigns the activity based on a workflow attribute.
Activities can be assigned to a person or group to help distinguish who is responsible for ensuring that the activity is completed if there are manual steps to complete. This action will set the assignee of the current activity to the value of a workflow attribute.
Three different actions to assign responsibility for an activity.
These three actions do very similar things, so we'll group them together. Like the previous action, they set the assignee of an activity based on a provided person, group or security role. It’s best to avoid assigning actions to a specific person because you'll need to maintain this assignment as individuals transition into new roles.
Hit the brakes! This activity is done.
This action is pretty obvious. It marks the current activity as complete. The activity will not execute any more actions.
Executes a specified AI prompt.
Takes a prompt as an input, runs it through your selected AI provider, and provides a response.
Here's an overview of the settings available for this action:
This action will create and save an assessment request.
This action will create and save an assessment request for each of the assessments provided, for the given person according to the attribute selected. You can also optionally provide a Due Date, and an attribute to define the person who is making the request.
Sets the attribute as a text file that is generated from a Lava template.
This action will create a text file using a Lava template, then assign the resulting file to a workflow attribute. This action is useful when you need to dynamically create a text file using Lava, and then use that file in another workflow action.
Sets the attribute from the contents of an entity that has been passed into the workflow.
When some workflows are started, they are passed an entity in the process. As an example, take workflows that are launched from the Actions list on the Person Profile screen. When these workflows are launched, they are passed an entity; in this case the profile person. This workflow action can assign the passed entity to an attribute, using a Lava template (via {{Entity}}), so that it can be used by subsequent activities and actions. Likewise, when a workflow is launched from a trigger the saved/updated object is passed as the entity to workflow.
{{Entity}}
When working with this action be sure to read the help text as it will guide you through many of the options.
Sets a workflow attribute to a person you select.
This action will assign a selected person to a workflow attribute. This action is useful when you need to select a specific person to enter into an attribute.
Sets a workflow attribute to the currently logged in user.
This action sets the selected attribute to the current person. It's only valid if it's being run by a person through their interaction with a Rock page; most often using the User Entry Form action. In these cases this action is very helpful in storing the name of the person who completed the form.
Sets the workflow attribute to the leader of the group you specify.
This action sets the selected attribute to a group leader. This action is useful when you need to select a group leader in a specific group. If a group has multiple leaders (really a role with IsLeader property), the first one will be selected.
Sets the attribute to the person who initiated the workflow.
The Initiator field is a part of every workflow. It defines who started or launched each workflow. While each workflow has an initiator, the initiator field can't be used by most actions until it's assigned to an attribute. That's what this action is all about.
Starts a background check for the provided person.
Sends a request for a background check to the selected background check provider. The person to run the check on must be stored in a workflow attribute with a key of Person.
Adds a new benevolence request to the system.
Added the Benevolence Type required setting.v13.6
Adds a document to the provided benevolence request.
If no document is provided the action will continue on its way. This allows you to use the action without a bunch of action filters if the document is optional.
Sets the provided benevolence request attribute to the value provided.
The 'Use Blank Value' will determine what to do with the value you provide when it's blank. The default is to use it which will have the effect of blanking out any existing value.
Adds a benevolence result
Defined Value
Creates (or updates) a business from the given data.
If the first 12 characters of the given business name and any one of the following match, it will match that business: Phone, Email, Street Line 1
If a record is matched it will be updated with the information provided from the workflow action.
The created/matched business will be put into the optional Business field attribute.
Adds a connection activity to the connection request.
This action adds a new connection activity to the connection request referenced in the provided attribute. The type of connection activity and note can be provided as additional settings. The person attribute is the person doing the activity. The optional Connection Request Activity Attribute field can be used to store the GUID of the newly-added activity, for use in later actions.
Creates a new connection request.
Update the connection request connector.
Sets the connector for the provided connection request. Optional settings are provided for controlling whether an existing connector should be overwritten.
Updates the connection request state.
Sets the state of the provided connection request. Optional settings are provided for setting the future follow-up date.
Sets the status of the connection request.
Sets the status of the provided connection request.
Transfers the provided connection request to a new connection opportunity (of the same connection type).
Creates a content channel item for a specified channel.
This action creates a content channel item for the channel you specify. It can set the start date, expiration date (if applicable to your channel), the content and status. The title, dates, and content can use Lava to create dynamic values. You can optionally provide a workflow attribute in which to store the returned value of the created item, for use in later actions.
This action can also set any content channel item attribute values you provide. You can do this by providing the attribute key of the workflow's source attribute and the key of the content channel item's target attribute.
As of Rock v17, if an attribute of type Structure Content Editor is selected for the Content "Attribute Value" dropdown, this action will automatically convert the Structured Content into the Content of the Content Channel Item. It will also set the Content Channel Item's Structured Content property.
Creates and uploads a contribution statement for a given person.
The statements will automatically be uploaded to the selected person record in the same way that the Statement Generator handles the files. The PDF will also be saved into the optional 'Document' attribute. This is handy if you want to use it in a subsequent workflow action.
The Document Person Key you provide will be what is shown to indivduals to describe what period the statement is for. In most cases this should be the year.
Creates a short link for a designated page's URL.
STOP... hammer time! Delays successful execution of action until the specified value is reached.
Temporarily pauses execution of the current activity until the set value is reached. The three value options are:
Provides a document to be electronically signed.
This action will present a person with a document that they need to sign electronically. The Signature Document Template must be configured in advance under Admin Tools > General Settings > Signature Documents. Person attributes can be used to define the person the document applies to, the person assigned to sign the document and the person who signed the document.
After the electronic signature is captured the person is asked to provide an email address so they can be sent a copy of the document for their records.
Sends an email (with lots of options).
This action obviously sends an email of your design. It does have quite a few interesting options. The email can be configured to be sent to an email address you provide (multiple address can be separated by a comma) or the value of an attribute in the workflow. You can also add email addresses to CC and BCC fields. If you're using attributes to set any email address field, the attribute you provide must contain either a valid email address or the attribute must be of type Person or Group. See the Workflow Tips section of our Blasting Off With Workflows guide for a basic example of emailing a group using workflows.
If the Send To Email Addresses is a group or security role, you have the option of limiting the recipients of the email based on the group role attribute in the Send to Group Role field.
You also have the option of including up to three attachments. First, upload the file as a File type attribute, then select the workflow attribute that contains the file from the Attachment dropdown. The file size that can be sent is limited by both the sending and receiving email services, and is typically 10-25 MB.
The subject line, from address, and body of the email can contain Lava merge fields, so be creative. Also note that the email can be configured to be saved to the recipient's history.
In v14, we made have added new fields for From Name, this is displayed as the email sender's Name when the email is sentv14.1 If one is not provided and the From Email is derived from a Person then their fullname is used.
Sends a System Email.
Writing the contents of a workflow email using Lava templates can be a little daunting. Also, many of these emails will be the same in similar workflow types. That's why you have an option to send an email using the contents of a system email. Just like the Send Email action, you can save the message to the recipient's history.
The system email shown on the list can be added from Admin Tools > Communications > System Communications.
Sends an email with the ability to react to events like opens and clicks.
This action is a bit different than most in that it is designed to continually check timeout parameters, therefore it never completes until a Unopened and/or No Action timeout occurs. Once the timeout occurs, it will complete and stop processing.
The first time it processes, it sends an email, and then creates two activity attributes. The first is a "DateTime Sent". It will set this to the time that the email was sent. It then checks this attribute in future processing to determine if it is the first process or not, and to evaluate timeout parameters.
The second activity attribute that is created is an "Email Status" attribute. This is used to store the last event status received by the Mandrill Webhooks.
During subsequent processing, this action will only check for timeouts.
If the "Unopened Timeout Activity" has an activity and "Unopened Timeout Length" has a value, it will check to see if status does not have "Opened" or "Clicked." If not, it will activate the "Unopened Timeout Activity" activity and then mark the action as complete.
If the "No Action Timeout Activity" has an activity and "No Action Timeout Length" has a value, it will check to see if status does not have "Clicked." If not, it will activate the "No Action Timeout Activity" activity and then mark the action as complete.
In addition to the action, the Mailgun.ashx and TwilioSendGrid.ashx webhooks have been updated to evaluate any events that occur for the email that was sent. When the webhook receives an event, it will attempt to find the corresponding workflow action and update the workflow action's "Email Status" activity attribute and then activate any configured activities.
When a Send event is received the attribute value will be updated to "Sent".
When an Opened event is received the attribute value will be updated to "Opened" (if not already "Opened" or "Clicked") and if an On Open Activity is configured, that activity will be activated.
When a Clicked event is received the attribute will be updated to "Clicked" and if an On Clicked Activity is configured, that activity will be activated
When a HardBounced, Rejected, SoftBounced, Spam, or Unsubscribe event is received the attribute will be updated to "Failed", and if an "On Failed Activity" value is set, that activity will be activated.
The above only applies if the workflow is still Active. Inactive workflows will not have events recorded.
The subject line, from address and body of the email can contain Lava merge fields, so be creative.
Can be used to set any attribute value on any entity.
The Entity Attribute Set action can set any attribute value on any entity. It is a powerful action that should be used carefully as it requires a thourough understanding of how entities and their attributes are used in Rock.
Can be used to add a file/document to any entity.
The Entity Document Add action can add a given document to any entity. It's a powerful action that should be used carefully because it also requires a thourough understanding of how entities relate to the field types in Rock.
You will need to make sure that the Document Type you set is valid for the given Entity Type. Otherwise the action will log an error.
As seen in the Field Types section in this reference guide, if the field type represents a 'Full Entity' then that field type can be used as the "Entity Attribute" to get the correct entity. There is one small exception: We've eased the burden of converting the Person (picker) field type's PersonAlias into the underlying person entity so this action will do what you want.
Set any value on anything... be careful!
The Entity Property Set action can set any property on any entity. It is a powerful action that should be used carefully as it requires a thourough understanding of how property values are used in Rock.
Inactivates a given person's entire family.
This workflow action will inactivate a given person's entire family, all of their families or only the individual.
The Multi-Family Logic setting controls exactly who is inactivated:
Additional action settings allow you to set the Inactive Reason and provide an Inactive Reason Note.
Collects information from an individual.
The Form action is one of the most powerful actions in Rock. It allows you to take input from a user and place it into the values of workflow attributes. Let's dive down into the details of this incredible action looking at each setting.
Generates a new discount code on a registration template.
Text
Sets an attribute with the default or first saved account for the given person and gateway.
Adds a new group to a parent group.
You can create a Group through this workflow action by providing the Group Type, Parent Group and a Group Name, which are required to create the group. You may provide the Group Name and Description as either a text string (which can be generated using Lava in the case of the Group Name), or directly from the values other attributes.
If the "Group Attribute" is configured, the newly created Group will be stored in that attribute.
Sets a group attribute
Group
Sets a workflow attribute to a matching child group for the configured parent group that matches the given campus attribute.
This action sets the selected attribute to a child group of the configured Parent Group that matches the selected Campus attribute. This action is useful when you need to find a matching 'campus' group that exists as a child of a particular parent group -- a common configuration in certain multi-campus group folder designs.
Adds a person to a group you select.
This action adds a person to a specific group that you select in the action settings.
Adds a person to a group that is provided as an attribute.
This action adds a person to a group provided via a workflow attribute. The default role will be used for the add. Optional parameters allow you to prevent the person from being added to the group based on the group's use as a security role, the group's type or its parent group.
Bueller... Bueller...
This action will add a person to a group's attendance. You can also specify the date/time and location. There is also an option to add the person as a group member.
v13.6 Added the ability to optionally specify the Campus.
Sets the value of a group member attribute
This action will update a group member's attribute with either a text value or an attribute. There is also the option to filter by the group role.
Adds a new note to a group member.
Adds a new note to a group member. The person must already be in the group for this action to work.
The Caption and Note fields are Lava capable so you can include something like this:
This is the note field for {% assign p = Workflow | Attribute:'Person','Object'%}{{p.FullName}} in the {% assign g = Workflow | Attribute:'Group','Object'%}{{g.Name}} group.
Removes the person from a group that is provided by a workflow attribute.
Removes a person from the group that is selected.
Can be used to mark a group member requirement as 'met'.
Sets a workflow attribute to a random person in a group.
This action sets the selected attribute to a random group member. This action is useful when you need to assign a workflow to a random person in a specific group (e.g. for assigning requests). You can also filter by a Group Member Attribute.
Sets the group member's note property.
Sets the group member's note property. Keep in mind that a group member can have as many 'Group Member Notes' as you'd like, but this is different. This is updating the note property on the group member.
This action updates a person's status in a provided group.
Sets the workflow initiator from a workflow attribute.
This workflow action is the reverse of Set Attribute to Initiator. It allows you to change the Initiator to the value of an attribute.
Will launch a selected job when executed.
Because things don't always go as planned.
Logs an error into the worflow's error log.
Updates the provided Persisted Dataset
This action will run the 'Build Script' of a Persisted Dataset and update its value through using the provided Persisted Dataset's 'Access Key'.
If you select Delay Processing Until Complete, the action will wait until the persisted dataset is done being updated. Otherwise it will trigger the update to begin then continue before it's complete.
Allows you to update a person's address based on a provided location.
Finds or creates a person record based off a provided first name, last name, email, mobile number and birthday.
This action will take a first name, last name, email, mobile number and birthday and search for a matching person in the database. The result will be placed into a selected attribute. If no person was found a new record will be created for you. If a match is found, it does not update the person record with any of the supplied values except the email address if enabled by the action setting.
The record with the highest score greater than 35 points is selected as the match (if no records score more than 35 points a new record will be created).
Other similar routines (presumably registration, etc) in Rock also consider:
Sets a person attribute of a provided person.
Sets the selected person attribute of the person contained in a workflow attribute to either text you provide or the contents of another attribute.
Adds the selected Person to the same family as the 'Add to Family With' person.
This action uses two Person attributes to add a single person to a different family. The person will be added to the family of the person in the 'Add to Family With' attribute.
You can optionally assign a Role (Child or Adult) to the person being added using either a fixed value or a 'Group Role' attribute for the Family group type.
The person being added to the family can either remain in their old family or be removed from it, using the 'Remove Person From Current Family' setting.
Sets a person to follow an entity.
This action allows you to set a person to follow a designated entity. The "Entity To Follow" field is where you enter an Entity Id or an attribute that contains the person or group to follow. This field supports Lava.
If you are trying to mimic what happens when a person follows another person (by clicking their photo), the Entity Type should be set to "Person Alias" and the Entity To Follow must be set to the followee's PersonAliasId.
In v13, we made this easier to do. When the Entity Type is "Person Alias", if your Entity To Follow attribute holds a Person (field type), Rock will automatically use the PersonAlias Id from the fieldtype instead of the usual PersonAlias Guid (which would not otherwise work). v13.0
Finds a Campus Team member and stores them in a workflow attribute.
Use this action to find Campus Team members and place them in a workflow attribute for use in later actions. You can provide a person attribute to find team members at that person’s campus.
If a campus attribute is provided, only team members from that campus will be returned. The campus in this attribute will be used regardless of the person’s campus, in cases where both attributes are provided.
Gets attendance information for a specified individual in a specified group.
Gets attendance information for the specified individual in a specified group type.
Gets the Head of Household of the selected person
Person
Returns the person's spouse to a selected workflow attribute.
Returns the person's spouse to a selected workflow attribute. When determining the spouse the action will look for an adult in the same family who is of the opposite gender and married. If more than one person is found then the first person will be returned.
Sets an attribute True or False depending on if the person is in the selected Data View.
Sets the configured Boolean workflow attribute to True or False depending on whether or not the configured Person is in the selected Data View.
Adds a note to a person's record.
This action adds a note to a person record. Optionally, you can set a caption, set the note author or mark the note as an alert.
Updates a person's phone number.
Updates a property (name, email, connection status, etc.) of a person.
Updates a property (name, email, connection status, etc.) of a person. This action will work with either a value you provide (Lava enabled) or an attribute value. When providing an attribute the value in the drop-down gives you a hint as to what type it should be. See the 'Additional Details' section below for more information.
Here's a couple of other tips to help you with this powerful action.
Tag you're it!
Adds a person, stored as a person attribute, to the provided Organization Tag. If the supplied tag does not exist it will be created.
You're not it anymore...
Like the Person Tag Add, this action removes a person from an Organization Tag.
Adds a Prayer Request based on the attributes and criteria you provide.
This workflow action will add a Prayer Request for a person. The attribute values you provide related to the request, like the Category or Public options, will be included in the Prayer Request that's added.
It's important to note that you can provide the requestor in one of two ways:
Processes a payment from a saved account.
Sends a push notification.
Redirects the user to a given URL when the workflow action is complete.
This action takes the user to a different screen after the workflow action is complete. You can set the action to redirect to either a URL or a URL Attribute.
The Processing Options field allows you to set how the workflow should continue:
Adds a reminder to a person's list of reminders.
This action adds a reminder to the provided person's record. You can set the note text, the date for the reminder, how frequently the reminder is repeated, and how many times to repeat the reminder.
This block provides a large Lava editor for writing into an attribute.
Adds a new schedule.
This workflow action will create either a one-time or weekly schedule. Settings can be hard-coded or set using the values of other attributes. If a name is provided for a one-time schedule, this will make it a "Named Schedule" which will appear in certain places in Rock where named schedules are shown.
If the "Schedule Attribute" is configured, the newly created schedule will be stored in that attribute.
Sets the attribute to text, a Lava expression or another attribute.
While the name of this action is fairly descriptive, it may not be clear as to when you would use it. This action sets the contents of an attribute to either text you provide or the contents of another attribute. The power of setting it to text is that you can use Lava merge fields. This allows you to string together one or more attributes using Lava’s powerful formatting functions.
Setting an attribute to the contents of another attribute might seem a little redundant. However, there are times that you might expect an attribute value to change and you want to keep a copy of its previous value.
Adds a sign-up project opportunity.
This workflow action will create a sign-up project opportunity. All settings can be set using the values of other attributes, with some allowing hard-coded values.
Note that the allowed location and schedule types for the new opportunity will be limited by the types allowed on the specified project's group type. Weekly schedule types are not compatible with sign-up projects, and will not be allowed regardless of whether they're allowed by the group type.
Injects an inbound message into the two-way SMS system as if it was just received from the SMS provider.
This action creates an SMS Response message with the From and To number you specify.
SMS Send
For example, say you have a text-to-workflow set up to handle certain incoming keywords. With SMS Communication Process Response, if no keyword is found, the workflow injects the message into the person-to-person text system.
If the SMS system returns an error, the error message will be placed in the Error Attribute. Currently, the only error that would be returned is the standard 'Could not deliver' message. Consider checking to see if the value is non-blank, and if so, send it as a response to the user.
Sends a SMS message.
This action is very similar to the Send Email action but it sends a SMS text message instead. This action assumes there is a valid SMS text subscription available. See the Communicating with Rock manual for more details on SMS text message configuration.
You can also include an attachment. To include a dynamically generated attachment (for example, a contact card), use the Set Attribute From Lava workflow action.
Either the From field should be set with a SMS From Number or the corresponding From (From Attribute) of type DefinedValue should hold the selected SMS From Number. v12.5
Know SQL? Then the world is your oyster.
The Run SQL action is one of the most powerful actions in Rock workflows. It allows you to execute any SQL query you provide and store the results into an attribute on the workflow. This action is great for looking up data in the database and using it to make decisions in the workflow.
Note that the SQL you provide can contain Lava merge fields to help pass in attribute values for your SQL. Consider this example.
Say you wanted to get the gender of the person stored in the attribute Requester. You could use the SQL below to achieve this.
DECLARE @PersonAliasGuid uniqueidentifier = '{{ Workflow | Attribute:'Requestor','RawValue' }}' SELECT [Gender] FROM [Person] p INNER JOIN [PersonAlias] pa ON pa.PersonId = p.Id WHERE pa.[Guid] = @PersonAliasGuid --note gender is stored in the database as a number where 0 = Unknown, 1 = Male and 2=Female
When the action places the result of the SQL into the configured workflow attribute, the returned result must match the data type of the attribute. For instance, your SQL can not return text if the attribute configured is expecting a number. A few common attribute types that you will use often are listed below, each with what they are expecting as input.
Note: If you update something directly via SQL, the cache manager won't know about it so you'll need to take care of flushing it from cache yourself.
Adds a step for a person.
You can add a Step to a person’s record through a workflow by providing the Step Type, Step Status, Start Date and End Date. As with other workflow actions, you can alternatively use Attribute Value selections. You can optionally provide a workflow attribute in which to store the returned value of the created Step, for use in later actions.
Note that the workflow will encounter an error if you try to use a Status that doesn’t apply to the Step Type.
Updates an existing discount code on a registration template.
Be careful using the "Update Past Registrations" option- remember that people will have been told the total amounts that is due (and received a confirmation email proving it), and that if you set this to "Yes", that you're changing that amount on them in mid-stream and with no (automatic) notice. Personal contact is going to be key, if you find you have to do this.
Need data from another website? Then this action is for you.
Get
Post
Put
Delete
Patch
Adds a new note to the workflow.
This action will add a new workflow note. The note property has the ability to customize the message using Lava. You can also customize the formatting of the note by selecting the Note Type. More on using workflow notes is discussed in the Workflow Notes section of the workflow guide.
Our work here is complete. Or, at least the workflow is.
This is the Game Over action that marks the entire workflow as complete. No other activities or actions will be processed.
Workflow...? What workflow?
Simply put, deletes the current workflow instance.
Shows HTML in the WorkflowEntry block.
This action allows you to display a large amount of information in the WorkflowEntry block, typically on the screen that appears after a person completes and submits a Form action. The HTML field takes either HTML or Lava, which means you have a lot of control over the formatting and display of the content.
Save your workflow.
See the section on persistent vs. non-persistent workflows to get a deeper understanding of this topic. This action marks the current workflow as persistent.
There is an optional parameter called Persist Immediately. Normally this action will cause the workflow to be persisted (saved) once all the current activities/actions have completed processing. Set this flag to true if the workflow should be persisted immediately. This is only required if a subsequent action needs a persisted workflow with a valid id.
Sets the Campus of the workflow.
This action will set the campus of the workflow using the given Campus attribute or the primary campus of the given Person attribute. If both are given, the Campus attribute will be used. If neither are given, the action will return an error.
Sets the name of the workflow.
This action will set the name of the workflow. This name will appear in the various workflow lists you use to manage and process your workflows. The text field of this action can use Lava merge fields to help you craft effective names. Many times these names will simply come from an attribute value that is entered through a user entry form.
Sets the status of the workflow.
This action sets the status of the workflow. The workflow status is simply a text field so you can set it to any value you choose. This field supports the use of Lava merge fields.