In my first Workflow Conductor use case post, I briefly mentioned a feature of Workflow Conductor called "lookups". Lookups are one of my favorite Conductor features, so I thought I'd tell you more about them. If you're reading about Workflow Conductor for the first time, make sure to download your free 30-day trial so you can follow along.
A lookup in Conductor is a placeholder for an actual value that you won't know until the workflow runs. Using a lookup instead of an actual value makes the widgets in your workflow much more flexible and reusable. If you read Bamboo Product Manager Jeff Tubb's post about some of Workflow Conductor's advantages over SharePoint Designer, you know that reusability is a key Conductor feature. Lookups make this easier by minimizing the number of things you have to change before using a workflow somewhere else. Almost every widget in Conductor can use lookups somehow, and we're always looking for places to add more.
You can use a lookup anywhere in Conductor where you see the lookup icon () or the Add Lookup button (). Clicking one of these opens the Add Lookup form, where there are four categories of lookups. I've included an example of each type of lookup later in this article.
Keep an eye out for that Add Lookup icon or button in all kinds of places:
- Click the Lookup User icon () to access the Lookup User form, where you can use a lookup instead of a specific user or group.
- Click the button next to text properties, like the Send Email Subject or Body, to add lookups to the text.
- When you're filling out property forms, the lookup icon will appear when you select choices that support lookups.
- External Lookups can use lookups too – just watch for the lookup icon (lookups within lookups – cool, huh?).
And now, as promised, some lookup examples:
Current Item Field: These lookups refer to properties of the list or library item on which the workflow was started. You can use a lookup to any field in the list or library. When the workflow runs, it will use the actual value of that field instead of the placeholder. Here's an example of using a lookup to the Current Item's Modified By field to send an e-mail to the last user to modify the document:
Easy Reference: These are lookups to common pieces of information about the workflow itself and the SharePoint environment. You can refer to things like the list the workflow is running in, who started the workflow, when it started, the workflow name, and many others. In the example above, notice that the From: property is an Easy Reference lookup to the workflow initiator. The screenshot below shows examples of other Easy Reference lookups.
External Lookup: External lookups let you refer to properties of some OTHER list or library in the site. Here, I've configured a Conditional Branch widget to only do something (such as copy the item) if the Current Item is newer than an item with the same Name in another library. An External Lookup retrieves the Created date field from the other library where the Name of the other library's item matches the Name of the Current Item. Notice that the Equals field in the External Lookup has a lookup icon next to it, and is configured to use a Current Item Field lookup.
Workflow Variables: This type of lookup is to variables that you, the designer, create in Conductor Studio. There are two types of Workflow Variable lookups:
- Parameters for workflow initialization forms
- Variables you create to store the results of widgets
You can read more about workflow initialization forms in the Online Application Notes. Basically, these are form fields you create that users have to fill in when they start a workflow. Whatever the user enters is stored in a workflow variable, which you can use anywhere you can use lookups. Variables can also be created to store widget results to be used later in the workflow. Create your variable first, and then select it in any widget where you see a property with a workflow variable drop-down box.
The example below shows a Request Feedback widget where the Due Date property is a lookup to a Parameter called "Due Date" that a user entered in a workflow initialization form. Notice that the widget also uses an Easy Reference lookup to the item's URL in the Task Description property.
We're always looking for ways to enhance future Workflow Conductor versions with even more lookups. If you have a great idea for a lookup, submit a feature enhancement suggestion in the Feedback section of the Workflow Conductor product page. Also feel free to use the Workflow Conductor forum.