Related Topics
Creating an Automated Check-In Application
While automation is commonly used to manage the flow of an existing process, Process Director can also use automation to initiate new processes based on data conditions. This topic describes how to build an automated check-in application that uses Goals and Knowledge Views to detect overdue items and automatically notify the responsible users.
Application Overview
The sample application manages a book checkout and check-in system. The workflow operates as follows:
- A user checks out a book using a checkout Form. The checkout Process Timeline sends a notification and ends — no long-running process remains open while the book is checked out.
- A Goal runs on a schedule and queries a Knowledge View to determine whether any books are overdue.
- If overdue books are found, the Goal triggers a second Knowledge View, which starts a new check-in Process Timeline for each overdue item.
- The check-in Process Timeline notifies the user who checked out the book and assigns them a task to return it.
The application consists of two components: the Book Checkout process, which serves as the data source, and the Automated Check-In application, which handles overdue detection and notification.
Book Checkout Process
The Book Checkout process is the starting point for the application. It captures the checkout data that the automated check-in system will later query.
Book Checkout Form
Create a Form definition with the following fields:
- Book Title: The title of the checked-out book.
- Checkout Date: The date the book was checked out, used to calculate when it is due.
- Checked Out By: The user who checked out the book.
The Form also requires the following tracking fields:
- Checked In: A checkbox indicating the book has been returned. The user unchecks this field to complete the check-in.
- Check-In Prompted: A checkbox indicating the user has already been notified about the overdue book. This prevents the automated process from sending duplicate notifications on subsequent Goal runs.
Checkout Process Timeline
Create a Process Timeline for the checkout process. The timeline only needs to send a checkout notification — it does not need to remain open after the notification is sent. The timeline must have a definite end; do not use a long wait task to hold the process open until the due date.
Checkout Notification
Create an Email Template Form definition for the checkout notification and configure it to send an appropriate checkout confirmation to the user.
Automated Check-In Application
Build the objects in the order listed below, as each depends on the ones that precede it.
Check-In Notification
Create an Email Template Form definition for the check-in notification. Build it first so that it is available when you configure the check-in Process Timeline.
Notify Book Due Process Timeline
Create a Process Timeline to govern the check-in process. This timeline will be started by a Knowledge View for each overdue item it finds. In the Options section, configure the following properties:
- Form for Timeline: Leave blank. The Knowledge View that starts this timeline will supply the Form. Attaching a Form here would cause the timeline to open a new, blank Form instance instead of using the original checkout Form.
- Default Email Template in this Timeline: Set to the Check-In Notification Email Template.
Add the following three activities to the timeline:
Set Original Form as Default
Create a Form Actions activity to set the original checkout Form as the default Form for the new process. Configure the following properties:
- Form Definition: Set to the Book Checkout Form.
- Set this as the default form for the process: Checked.
- Add New Form Instance: Set to Only if the Form does not already exist in the package.
Set Check-In Prompted
Create a Set Form Data Custom Task activity to check the Check-In Prompted checkbox on the checkout Form. This updates the tracking field so that the Goal does not re-prompt the same user on subsequent runs.
Check Book In
Create a User activity assigned to the person who checked out the book, using task assignment via Form field. The user completes the check-in by unchecking the Checked Out checkbox on the Form.
Prompt Book Check-In Knowledge View
Create a Knowledge View that will start the Notify Book Due Process Timeline for each overdue item. This Knowledge View will be triggered by the Goal. Configure the tabs in the following order:
Configure Tab
Set Knowledge View Results to Run a Process, then click Update to make the correct properties available on the Properties tab.
Properties Tab
- Forms Associated with Knowledge View: Set to the Book Checkout Form.
- Select process to run on each object: Set to the Notify Book Due Process Timeline.
Options Tab
Deselect all options except Form Instances.
Filter Tab
Configure the following filter conditions:
- Checked Out is checked, AND
- Checkout Date is 365 or more days ago, AND
- Check-In Prompted is not checked.
The
Check-In Prompted filter ensures that the Goal
does not start a new Process Timeline for users who have already been notified.
Because a user task is assigned to the lendee, there is no need to start a
second process for the same checkout.
Books Due Knowledge View
Create a second Knowledge View to serve as the data source for the Business Value that the Goal will evaluate. This Knowledge View returns the full set of overdue checkouts so the Goal can determine whether any action is required.
Properties Tab
Set Forms Associated with Knowledge View to the Book Checkout Form.
Configure Tab
Accept the defaults.
Options Tab
Deselect all options except Form Instances.
Columns Tab
Add only the Name column. The Goal only needs to know whether the Knowledge View returns one or more records, so minimizing the columns reduces unnecessary data retrieval.
Filter Tab
Configure the following filter conditions:
- Checked Out is checked, AND
- Checkout Date is 365 or more days ago.
Do not add the
Check-In Prompted filter to this Knowledge View.
The Goal must count all overdue checkouts — including those already prompted —
to accurately determine whether books are still checked out. Excluding
already-prompted checkouts would cause the Goal to report an incorrect result.
Due Date Check Business Value
Create a Business Value to count the number of records returned by the Books Due Knowledge View. Configure the following properties:
- Knowledge View Data Source: Set to the Books Due Knowledge View.
- Execution Context: Set to a user with permission to run the Knowledge View.
- Property Name:
Books - Property Type: Set to Number of Knowledge View Rows.
Books Due Goal
Create a Goal to evaluate the Business Value and trigger the check-in process when overdue books are found. Set Execute Actions when to Conditions are met, then configure the following two conditions:
First Condition: Books Due
- Condition:
Due Date Check.Books > 0 - Result:
Books Due - Action: Run Knowledge View
- Knowledge View: Set to the Prompt Book Check-In Knowledge View.
Second Condition: Nothing Due
- Condition:
Due Date Check.Books = 0 - Result:
Nothing Due - Action: Set Result Only
The two conditions are
mutually exclusive — the Books value is either greater than zero
or equal to zero — so only one will ever evaluate to true at a time. In
production, configure a schedule on the Goal to run it automatically at your
desired interval.
Testing the Application
- Open several existing checkout Form instances and check the Checked Out checkbox to simulate overdue checkouts.
-
Manually execute the Books Due
Goal. The result should be
Books Due, and check-in tasks should be assigned to the appropriate users. -
Check one book in and execute the Goal again. The result should still be
Books Due, but no new task should be assigned for the already-processed checkout. -
Check in all remaining books and execute the Goal a final time. The result
should be
Nothing Due.
Documentation Feedback and Questions
If you notice some way that this document can be improved, we're happy to hear your suggestions. Similarly, if you can't find an answer you're looking for, ask it via feedback. Simply click on the button below to provide us with your feedback or ask a question. Please remember, though, that not every issue can be addressed through documentation. So, if you have a specific technical issue with Process Director, please open a support ticket.

