Skip to main content

Activities

Activities, or shapes, serve as the foundational elements of EmpowerID workflows and encapsulate the logic defining specific steps or processes within a workflow. They are the building blocks that you connect together to create automated business processes.

Activities are connected by lines, allowing the workflow to advance from one process to another. Each activity performs a specific function, from collecting user input to executing operations against protected resources.

Activity Categories

Workflow activities in EmpowerID can be categorized into three main types:

  • Form Activities - Represent the presentation layer, providing user interface elements for data input
  • Lookup Activities - Enable users to search for and select objects from the EmpowerID Identity Warehouse
  • Operation Activities - Execute operations against protected resources with built-in authorization checks

Form Activities

When a form is published in Workflow Studio, a unique "Form activity" is generated and published to the EmpowerID Identity Warehouse. In this activity type, form fields are created as dependency properties, allowing you to leverage the drag-and-drop property binding capabilities of Workflow Studio to send data to and from the form.

To incorporate an existing published form in a workflow, simply add the generated activity to the workflow. The form's properties become available for binding to other workflow components.

Key characteristics:

  • Automatically generated when forms are published
  • Form fields become dependency properties
  • Support drag-and-drop property binding
  • Enable data collection from users

Learn more about forms and Form activities in the Forms concept article.

Lookup Activities

Lookup activities provide searchable interfaces for finding and selecting objects within the EmpowerID Identity Warehouse. They are typically used when a workflow needs to allow users to search for and select resources such as:

  • People or users
  • Groups or roles
  • Accounts or mailboxes
  • Business roles or locations
  • Any other EmpowerID-managed resource

Lookup activities execute queries against the Identity Warehouse and present results in a grid format, allowing users to filter and select the appropriate resources for the workflow to process.

Operation Activities

Operation activities are based on the EmpowerID workflow authorization framework, which determines if the current user in a workflow process has permission to execute the code in that activity against a specific object.

How Operation Activities Work

At runtime, Operation activities:

  1. Check if the current user has the necessary permissions to perform the operation
  2. If authorized, execute the operation code immediately
  3. If not authorized, route the request to designated approvers
  4. Create approval tasks and send email notifications
  5. Wait for approval before executing the operation code

If the user is authorized to perform the task, the workflow proceeds. If not, EmpowerID routes the task to designated approvers, who must approve the request for the code execution.

Operation Activity Types

Each operation activity is derived from the OperationWorkflowBase activity, which exposes various methods and members implemented by the deriving activities. Workflow Studio offers templates that facilitate the swift creation of diverse operation activities, depending on the number of resources involved in the workflow process.

Single Multi-Operation Activity - Used for creating Operation activities with one involved resource capable of executing multiple operations. For example, an activity that can edit multiple attributes of a Person object.

Dual Multi-Operation Resource Activity - Used for creating Operation activities with two involved resources capable of executing multiple operations. For example, an activity that assigns an Account to a Person.

Triple Multi-Operation Resource Activity - Used for creating Operation activities with three involved resources capable of executing multiple operations. An example of a triple operation is changing a person's primary business role and location operation. To perform this operation, security is checked on the Person, Business Role, and Location.

Adding Operations to Activities

Multi-operation activities allow you to define multiple operations that can be performed against resources. When creating an operation activity, you:

  1. Define the resource type(s) the activity will work with
  2. Add specific operations the activity can perform
  3. Write executor code for each operation
  4. Configure which operations are enabled by default

For example, a Person edit activity might have operations for:

  • Editing name attributes
  • Editing contact information
  • Editing organizational data
  • Changing account status

Each operation has its own executor code that defines what happens when that specific operation runs.

System Code Activities

System Code Activities provide a way to execute custom C# code within a workflow without creating a formal activity. They are useful for:

  • Simple data transformations
  • Conditional logic that doesn't warrant a full activity
  • Adding dynamic activities to workflows at runtime
  • Performing calculations or data manipulation

System Code Activities are lightweight and allow developers to inject code at specific points in the workflow process.

Activity Properties

Activities expose properties that can be used for data binding and workflow logic. These properties fall into several categories:

Input Properties - Data passed into the activity from previous workflow steps

Output Properties - Data produced by the activity for use in subsequent steps

Input/Output Properties - Data that can be both read and modified by the activity

Properties are visible in the Properties tab when an activity is selected, and can be bound to other workflow or activity properties using the Bindings tab.

Next Steps