AgilePointFundamentalsTraining EFormsTrack 1 LabManual 8 0
AgilePointFundamentalsTraining EFormsTrack 1 LabManual 8 0
Table of Reference
Introduction ...................................................................................................................................................................4
eForms .....................................................................................................................................................................15
INTRODUCTION
This lab manual was developed to provide business, citizen developers and technical project team
members the opportunity to rapidly define, design, deploy, and test custom applications, using the
AgilePoint NX Portal in structured skills development exercises.
This lab is part of a lab series, built on a real-world common use case of an Expense Report. The
complete use case is presented with the Spending inc – a small context story to present the use case
and its underlying challenges, 7 in total. This lab series cover these 7 challenges, each lab document
dedicated to solving a specific challenge using AgilePoint NX built in capabilities for such business
and technical challenge, including Process Based Applications, Data Entities, Form Based
Applications, Reports, Pages and more.
In general, each lab is a stand-alone lab, to provide a step-by-step tutorial on a given AgilePoint NX
capability to solve a given business and technical challenge within the Spending inc challenges
context (note that some labs may requires other lab deliverables as a prerequisites to be used as the
start point/data/resources). Yet, one of the true powers of this lab series is to understand how to
connect the dots and use the different AgilePoint capabilities to create a complete digital business
solution – how to compose and mesh few different Apps/Micro-Apps into one unified Digital
Business Solution.
SYSTEM REQUIREMENTS
In order to complete the exercises in this lab manual, a computer with the following minimum
system requirements is required:
• Access to an active AgilePoint NX (V8 or higher) with the following roles: Application Designer,
Application Runtime Manager, Users.
o Note: if you do not have an available AgilePoint NX environment – you may request for
your 30 days free trial here
• One of the following browsers is required:
o Microsoft Edge
o Safari 6 or higher
o Firefox 35 or higher
o Google Chrome 40 or higher
Note: Google Chrome is recommended for best performance and development experience.
In addition, the computer system must support a minimum screen resolution of 1024 X 768.
Following are some general tips and best practices to allow you to an efficient and best experience
lab walk through:
Blue rounded two headed arrow, shows on top of a screen shot, Drag &
Drop
Check mark for an topic to learn as part of this lab and implement for
the Expense Report Process Based App
a. As you’ll go through the lab, you’ll need to move between the different AgilePoint
modules, such as the App Builder, Work Center, Manage Center etc… we strongly
recommend you’ll open each of this module in separate browser tab, so you can
switch and return between in a breeze.
b. While working and designing your App, using the different design tools, such as the
Process Builder, Form Builder etc, make sure to actively click the Save every now
and then (we’ll also remind you to do so ), to make sure your changes has been
saved and avoid browser network outage issues.
• To save your
Process/Form changes,
click the Save menu on
the top left of the Action
Bar, and then click the
Save option. This will
save changes and will
keep you on
Process/Form Builder to
keep design your
Process/Form.
c. Navigate the lab with your available time - you can save your work and pick it up
from that point later, as you need
• To save and exit the
Process/Form Builder,
click the Save menu on
the top left of the Action
Bar, and then click the
Save and Check In
option. This will commit
and check in your and
changes and will Exit the
current Process/Form
Builder.
LAB GOAL
While going through this lab you can expect to learn and accomplish the following, while building
the Expense Report Process Based App:
• The app use case – we’ll present the app use case using a background story which will
introduce 7 different challenges, to accompany the complete lab series.
• What is a Process Based App
• What is an eForm and Task Forms
• The high-level analysis and design of the Expense Report App.
Spending inc – a small context fun and comic like story, based on real world common expense
report scenario, to present the use case and its underlying challenges, 7 in total.
The following is a quick recap of the Spending inc background story for the current lab document
challenge context – the process. For the full story, read to background story document or view the
animation movie.
Hopefully, by now, you’re clear with the challenge and gained some smiles on the way ☺.
We’d also guess that you’re personally familiar with this story, as expense report is a use case most
employees has experienced, and to some extent, suffered and shared the same frustration with Carol,
Dave and John.
The process challenge is the first among the 7 challenges in the Spending Inc background context story,
and is typically, though not necessary, the core challenge of any business solution.
This document will go through the AgilePoint NX platform to show case one of the key AgilePoint
feature and capability to solve and create process and/or automated oriented solutions – The Process
Based Apps.
The following are the main issues to be addressed and solved as part of this process challenge lab:
• Data is unstructured (you can assume current expense are submitted on a word/excel and
submitted on a hard copy over the office mail or soft copy using email)
o Causes irrelevant information collection, data loss and / or difficulty in tracking on
expenses and their status, which often results in subsequent inquiries, refund
corrections and unnecessary effort
• Process is not managed, as there is no process
o Current expense handling is a known practice, but not a real, modeled and automated
process to ensure the formal required flow, business rules, SLA’s reviewers, approvals
and more.
• Current practice relies on people-to-people communication, mainly via office mail delivery
/Emails, which are often exposed to sidetracked due to too many emails, bounced back, wrong
recipient etc…
• Carol, as the expense submitter (initiator), and other parties involved has no clear view and
transparency on request and its status, till final decision is received.
• The above add a clear overhead arising from the manual monitoring and corrections with
parties involved.
• All adds-up with delays / mistakes in employee expenses updates and sometimes even create
frustration atmosphere for employees and the finance department
To meet with these issues and challenges we’ll create a Process Based App, which will allow:
PROCESS PRESPECTIVE :
• Model and flow - the correct flow for expense report submit, review, approval and handling.
• Business rules - will be incorporate to standardize, consolidate and enforce the correct review
and approval and handling is applied for all expenses.
o For sample: if total expense amount is above 1000$, then expense need to be reviewed
and approved by the company CFO, otherwise, the initiator direct manager would be
enough.
• Participants - activities assigned with the correct attendees for the underlying activity task,
based on app data, organizational roles and hierarchy.
o For sample: The company CFO or Initiator Direct Manager.
• SLA’s - Activity will be set with SLA and process will enforce them to make sure expense are
reviewed and approved with int the required time frame.
• Notifications – will be included and pushed the corresponding participants and informants to
update them on task/process events, keep them in the loop and call for actions.
o For sample – when each of the approver will be assigned on a task to review/approve –
a notification will be sent to him with the expense and task details including also a direct
link for review and approve.
DATA PRESEPCTIVE:
• eForm - will be assigned with each activity, which will allow to structure the data and efficiently
submit digitally, from the pc/smart phone/tablet, ensuring accuracy, quality, efficiency and
validity.
• Data Consolidation – app data can be consolidated into a data source, such as AgilePoint Data
Entities, Database, Salesforce and more, to allow further usage and leverage of data driven by
the app
o Note – this will be part of challenge 2 and 3 in this lab series.
• Enrichment and integrations – data can be easily enriched and/or integrated by third party data
sources.
o For sample: Once expense is approved, salary system can be automatically updated for
the refund as part of next salary.
MANAGEMENT PRESPECTIVE:
• Keeping the people in the loop – process always keep transparent to initiator and involved
parties.
• Ongoing Operations and management – process, activity, tasks and data can be managed at
any given time across the lifecycle of the process to change or adapt with needs and / or issues.
o For sample: tasks can be reassigned, rolled back to be re-worked, skipped etc…
• Reports and KPIs – are available to track on service level, business performance and any other
matrix required.
PROCESS-BASED APP
Each of the process models, can include any number of activities, of any kind: human activity,
automatic activities, conditions (business rules) or extenders.
EFORMS
AgilePoint eForms provide a very powerful forms option to create custom forms for the cloud or on
premise that support modern smart devices and browsers. The Application Builder eForm Builder,
allows the designer to create a unique form for each task, referred to as Task Form, within a custom
Process Based Application. The custom eForms are designed, validated, published and versioned
from the Application Builder. The custom application is based on the Expense Report Request
process described below.
Forms can also be created aside of a Process Based Application as part of a Form Based Application –
which enables the creatin of either Widget/Standalone Forms or CRUD/Data Driven Forms. this will
be addressed on lab 3 of the Spendings inc lab series.
The following context diagram illustrates the high-level requirements for the first iterative delivery
of the Expense Report Request application.
1. Requestor/Initiator
2. Initiator Manager
3. CFO that will approve if the amount is > 100$
4. Finance/Salary Department
Document Information: Last Modified: 49:23 11/11/2020 Version: 1 Revision: 007
AgilePoint, Inc. Confidential © 2020, AgilePoint, Inc. 10/09/2020
16 AgilePoint NX Fundamentals Training - Process Based App - Lab 1 Manual
If request is not approved due to lack of information/unapproved expenses etc, the request form
will be routed back to the requestor.
we’ll use the term Initiator here onward, instead of the Requestor, as initiator if the formal and
professional term.
For the complete analysis and design of the Expense Report App, see Expense Report Design &
Analysis
As the focus of this challenge and lab is the process, we’ll be creating and Process Based App through
out this lab. Challed 4 in this lab series, and its associated lab will be focusing on Form Based App .
Provide the following information:
App Name: Expense Report (you can enter
another name for your understanding and
needs).
Choose Category: Finance
Description: Process Based App to handle
1.5 the complete lifecycle of an expense report:
Submit, Review & Approval, Handling.
• Allows grouping of closely related applications under a category which can be utilized in App
Builder, Data Entity as well as Work Center to group related apps together.
• Can be changed at any time.
Description:
• Is an optional field, yet it is highly recommend to enter quick and strait forward info for
documentation, future maintenance and governance.
Language:
• AgilePoint is a multi-language platform by design.
• Language set for the App Language, will be inherited by App Resources, such as Email
Templates, eForms etc, to be used as the default language.
• For more info on multi-language support, see following blog post and documentation
• When Language is set to value Default – app will use the Tenant/AgilePoint Server default
language configuration. By default, AgilePoint Server Default language is English – United
States
Provide the following information:
Process Model Name: Expense Report
Approval.
Description: Main Process Model to handle
the complete lifecycle of an expense report:
Submit, Review & Approval, Handling
1.6
Process Trigger By: eForms
Number of Swimlane: 4
Keep the default Horizontal Orientation for
the swimlane.
App Permission:
• Can be changed and set at any given time.
• By default, App creator will be set as App Owner, which is the highest level App Permission
• App Initiator and Report Viewers, can be set only after App has been Published
This configuration step can be used to pre-load/pre-create resources that will be later used in this App,
and includes: Access Tokens, Document repositories, Style Sheets, Group and Roles, Images and
JavaScript
This would be a good time to hit the Save button to Save all changes so far.
• Dropping Activity on top of green highlighted connectors – the activity will be connected
•
between the current two activities connected with this connector.
Dropping an Activity anywhere on the Canvas, will open the Activity Configuration wizard.
2.5
2.6
• While dragging the Control over the columns, the column background will turn gray, to
•
visualize in which column will the control be placed if dropped now (see screen shot above).
Dropping a control anywhere on the Form Columns Layout, will open the Control Configuration
dialog.
• Field Settings changes are immediately applied – no need to OK/Save to apply changes to the
control configuration. When done, simply click on the X to close the Field Setting configuration
dialog.
• By default, Internal Name will be the same as Label, but with no spaces and/or special
characters.
• For naming convention best practices, we’ll recommend to add a prefix to the Internal Name to
indicate its field/data type. See Naming Conventions for suggested naming conventions.
• The different Field Settings configuration dialog is highly identical within the General,
Appearance, Behavior and Advanced tabs, with no – very little difference between the
different fields settings in this tabs.
• The main difference is within the Configure tab, which will hold most of the specific functional
control configuration.
• As such, most of the configuration will apply for most controls, will be within the General tab,
to provide the control General information such as Label and Internal Name, and in the
Configuration tab to provide the specific control functional configuration and when needed
we’ll also use the Behavior tab to make Control Read Only/Disabled etc.
Follow and 4 steps above, 2.16 - 2.18, to add the additional controls for Submit Date, Title and Business
Justifications with the following charecteristics, and lay them out of the form columns layout, left-to-
right, to evetually get to the following layout:
This would be a good time to hit the Save button to Save all changes so far.
Accommodations Accommodations
Mobile Mobile
Insurance Insurance
Common Currency General Tab:
• Label: Amount
• Internal Name: fAmmount
Configuration Tab:
• Required: Checked (to make mandatory)
Common Text Box General Tab:
• Label: Description
• Internal Name: sDescription
Once done adding, laying out and configuring the field on the Subform as described above, click on the
X at the top right of the Subform Columns Layout, to close the Subform Fields Edit Layout and return
to the main Form.
SubForms are great usage for the following:
• Create a different fields layout than the original form layout, i.e.: while the main form 3
columns, using Subform we can create row with 7 columns/controls.
• To create a repeatable behavior – i.e. like many expense items
• To group collection of controls together in order to apply rules and behavior as a whole instead
of individually, i.e. make all hidden
• To create a custom control to be more easily reused, i.e. create a phone number control which
is a combination of 3 controls together: county code, city/carrier code and phone number.
This would be a good time to hit the Save button to Save all changes so far.
While running the preview, you can manipulate the form fields to see how they handle the values,
2.42
logic, and how the form behaves:
For more information on Time To Complete, Reminders and Timer, see the referenc doc - Human
Activity Time Span, Reminders and Escalations.
• Note that ${ProcessInitiator} is set by default as the Participant for Start Task – this is part of
•
the Start Task definition, unique characteristics and default configuration.
Yet, this configuration, as any of the other Start Task configuration is open for any changes
needed according to your specific needs and use case.
This would be a good time to hit the Save button to Save all changes so far.
We’ll now add a Condition Activity to check the Expense Report Total Amount:
• If higher then 1000$, then we’ll route the Expense Report for review and approval by the CFO
• Otherwise, if lower or equal to 1000$, will route the Expense Report to Initiator Direct Manager for
review and approval.
• See more info and details on the Condition Activity documentation page at
https://documentation.agilepoint.com/00/appbuilder/cloudenvShapeCondition.html
Back on the Condition configuration wizard, review the options available for the Condition
configuration, such as the “+ Add New Rule”, “ELSE Connector Shows On”, “Incoming Sequence Shows
On”, → (route to the left / right (default)) etc and play with them to explore this options.
Important facts on Condition Activity -a process Business Rule
• Rules order are important - first rule should be the less likelihood and as you go down, rules
should be more likely to apply
o Each rule will create an outgoing port which you can route and connect to the
required activities to handle on this business case.
o You can control the outgoing direction of each rule and move it from the default "to
the right exit" into "to the left exit". This is important for process readability - so
lines/connectors will not do a "U turn" and will cross each other.
• Rules IF statements can be simple or complex including logical AND/OR and
canonical/cascading rules
• There is always an ELSE. Can be used in one of two ways:
o The most common (i.e default) scenario
o Exception - create a rule for each of the option, and if none of them and condition got
to the ELSE, then we have an expected - an unexpected value/condition/combination...
• You can control the activity direction for the incoming and for the ELSE outgoing - again this is
important for process readability - so lines/connectors will not do a "U turn" and will cross each
other.
By default, the ELSE connector will be red
color, which is OK when else represent
Exception/Rejection/etc. In our use case,
the ELSE is used for the common scenario, in
which total amount is lower or equal to
1000$, which requires only the initiator
manager to review and approve, so we’d
like to change the color the default black. To
3.5 do so:
1. Click on the Properties option on
the top Action Bar, and then Agile
Properties – the Properties
window will open on the right.
2. Click the red connector (<= 1000),
to focus it – once focused, the
Properties windows will show its
properties.
Document Information: Last Modified: 49:23 11/11/2020 Version: 1 Revision: 007
AgilePoint, Inc. Confidential © 2020, AgilePoint, Inc. 10/09/2020
37 AgilePoint NX Fundamentals Training - Process Based App - Lab 1 Manual
This would be a good time to hit the Save button to Save all changes so far.
We’ll now add the task for the Direct Manager approval to which we’ll route the Expense Report for review and
approval when total amount is lower or equal to 1000$.
1. Add a new Standard Task for the Expense Report Manager Approval
2. Create a new Task Form, based on the existing Expense Report.
a. Well make all existing fields Read-Only using the Bulk Edit feature
b. We’ll add a new section for the Expense Report Approval
c. We’ll add the required fields for the Expense Report Approval on the new section.
d. Add rules to apply approval logic.
3. We’ll configure the Direct Manager Approval Activity and set participant of the Standard for the initiator
manager.
2. ADD A NEW TASK FORM BASED ON EXISTING SUBMIT EXPENSE REPORT TASK
FORM
• When creating a Task Form based on an exiting Form Layout, new Task Form will use existing
Task Form as its initial layout, including, fields, layouts, rules, JavaScript, CSS and all form
definition and design, i.e. a copy of the exiting Task Form will be created.
• Changes applied to form layout, such as deleting controls, adding controls, changing controls
positions, local JavaScript, local CSS etc – will be applied on this form and will not reflect
originating form.
• Changes made for controls setting, will be local to the form, unless promoted to library, in
which case they will be automatically populated to all forms using this controls settings library
version.
4.6
Yet, in this Expense Report Approval Task Form, the approver should be able to see all submitted
Expense Report info, in a read-only mode, but should not be able to change any of the Expense Report
summitted data, while on the other hand, it should provide the approver its own controls to provide its
input decision whether to approve or reject this Expense Report.
So we’ll first make all originating Submit Expense Report controls to be read-only and then we’ll be
adding a section and additional controls for the decision input.
use this Task Form by Approvers, this fields should contain their data, other-wise, the Submit
Expense report will not pass validation and will fail to submit.
2. Field are read-only, so even if missing values, user cannot enter value to fix issue
o This can be address by applying special rules to enable them in case of missing values
It is recommended to explore and try the additional settings available for the sections, under the
Settings, Layout and Appearance tabs in the Form Sections Settings, to learn on the additional
configuration and visual options available with Form Sections, and tune it for your preference.
This would be a good time to hit the Save button to Save all changes so far.
Document Information: Last Modified: 49:23 11/11/2020 Version: 1 Revision: 007
AgilePoint, Inc. Confidential © 2020, AgilePoint, Inc. 10/09/2020
42 AgilePoint NX Fundamentals Training - Process Based App - Lab 1 Manual
2.C ADD THE REQUIRED FIELDS FOR THE EXPENSE REPORT APPROVAL ON THE
NEW SECTION
We’ll now add the required controls to the new Expense Report Approval section to allow the approver
to provide its. Input to the Expense Report Approval process as part of its Expense Report Approval
task.
Once a Section has been added, adding, configuring and designing controls on a section is just like we
did so far on the main from colum layout, which is section by itself (default name Section 1).
Darg&Drop and configure the fields onto the Subform Columns Layout, to evetually get to the following
layout:
This time there is no need to align the width of the Comments fields to end with the same endings on
top/below of it, as we already adjusted the control width previously.
This would be a good time to hit the Save button to Save all changes so far.
This needs to be set as under the Form Load Event, and not just as default value for the control:
• Approver task may execute more than once (i.e. in case of a Rejected decision).
• As we need each time the approver to open the task form for approval, fields will be set with
the current approver opening the form and current date, we’ll use the Form Load event to do
so.
• Default value will only apply for the first time field is being used and has no value.
Additionally, specifically for the UserList control used for the Approver, has no option to set its
default value, and has to be set using the Form Load Event
Repeat items 1-4 to Set Field Value for the Date field with the value of CurrentDate (${CurrentDate})
Repeat items 1-2 to Set Field Value for the Decision field to the value of “Please Select” (available from
the drop down list for the value field) – this would be use to reset the current Decision incase this
previous Rejected decision.
4.17
When done, click on the OK button, to apply Form Load event rule configuration and go back the main
Form Builder page.
• When is optional and can be set if we’d like to take the action only when specific conditions are
met as part of the event.
•
For our current rules logic, we’d want to apply the action at each form load, regardless of other
conditions, so not When expression will be set.
• The following Control Level rule will be using When expression, as part of the logic of this form
and for the practice of this lab.
• Note that the Rule Builder is opened for the Form Load event by default.
• To set rules for other events, open the From Event dropdown list and select the desired form
level event, to set the required form logic (When and Action)
4.20
When done, click on the OK button, to apply Control Rule configuration and go back the main Form
Builder page.
Document Information: Last Modified: 49:23 11/11/2020 Version: 1 Revision: 007
AgilePoint, Inc. Confidential © 2020, AgilePoint, Inc. 10/09/2020
46 AgilePoint NX Fundamentals Training - Process Based App - Lab 1 Manual
While running the preview, move to the Expense Report Approval section and manipulate the form
fields to see how they handle the values, logic, and how the form behaves.
For instance:
• Change the Decision value to Rejected and note how the Comments field become mandatory.
• Change again to another value, and note how Comments field removes its Mandatory
4.22
runtime and will only be available on with the application runtime instance, while currently,
we’re just previewing.
• System tokens, such as ${UserFullName}, Sequence Number fields etc’, will not work during the
preview, as they need to actual App runtime scope. Fields, rules, validation and logic relying on
such tokens and/or fields, would need to be tested as part of App testing.
For more information on the Time To Complete, see reference doc, Human Activity Time Span,
Reminders and Escalations
This would be a good time to hit the Save button to Save all changes so far.
We’ll now add the task for the CFO approval to which we’ll route the Expense Report for review and approval
when total amount is higher than 1000$.
1. Add a new Standard Task for the Expense Report Manager Approval
2. Set it to use the same Expense Report Approval Task form currently being used by the Direct Manager
Approval
Document Information: Last Modified: 49:23 11/11/2020 Version: 1 Revision: 007
AgilePoint, Inc. Confidential © 2020, AgilePoint, Inc. 10/09/2020
49 AgilePoint NX Fundamentals Training - Process Based App - Lab 1 Manual
a. Note: Expense Report Approval Task Form can be used by any of this Activity as their Task Form
as it generally and dynamically configured for review and approval of an Expense Report.
3. We’ll add a timer for the CFO approval:
a. As CFO are highly busy, will add a timer in which if Task will not complete with its designed time
span, it will automatically cancel and will route to the Direct Manager.
b. From the App perspectives, this will allow us to make sure process does not get stuck and keeps
promote to its end to make sure Expense are being reviewed, approved and processed within
and expected time range.
c. From lab perspective, this will allow you to get to know and practice Escalation mechanism can
be applied on Huma Activities to meet SLA’s.
Additionally, we’ll recommend reviewing again the app created and explore the reference documents and guides.
For your convenience we’ve consolidate few key reference docs, documentation links and video guides:
Docs Videos
Human Tasks and Forms Basic steps to create a process based application
Notifications
Going further, follow is refence docs and videos guide for next topics
DATA ENTITY
Docs Videos
PickList Docs
Docs Videos
Create a Form Based application For Data Entity Data Driven Applications
Create a Form-Based Application with a Database Form Based Applications – Custom Database as Data
Table Source
As the Direct Manager Approval and CFO Approval are pretty much the same, we’ll use the Copy/Paste
option, as one additional Process Builder Edit option to know and practice.
Additionally, we’ll recommend reviewing again the app created and explore the reference documents
and guides. For your convenience we’ve consolidate few key reference docs, documentation links and
video guides:
Docs Videos
Human Tasks and Forms Basic steps to create a process based application
Notifications
Going further, follow is refence docs and videos guide for next topics
DATA ENTITY
Docs Videos
PickList Docs
Docs Videos
Create a Form Based application For Data Entity Data Driven Applications
Add a Connector:
1. Open the Common Activity Library.
5.9 2. Drag a Connector and drop it next
to the timer output.
For more information on Time To Complete, Reminders and Timer, see the referenc doc - Human
Activity Time Span, Reminders and Escalations.
This would be a good time to hit the Save button to Save all changes so far.
• If higher than “Approved”, then we’ll route the Expense Report Processing for by the finance
• Otherwise, if Rejected, will route the Expense Report to Initiator required changed.
•
a complex IF statement, i.e. fTotalAmount > 1000 And sTitle contains Manager.
See more info and details on the Condition Activity documentation page at
https://documentation.agilepoint.com/00/appbuilder/cloudenvShapeCondition.html
Back on the Condition configuration wizard, review the options available for the Condition
configuration, such as the “+ Add New Rule”, “ELSE Connector Shows On”, “Incoming Sequence Shows
On”, → (route to the left / right (default)) etc and play with them to explore this options.
Important facts on Condition Activity -a process Business Rule
• Rules order are important - first rule should be the less likelihood and as you go down, rules
should be more likely to apply
o Each rule will create an outgoing port which you can route and connect to the
This would be a good time to hit the Save button to Save all changes so far.
We’ll now add the task for the Expense Report Processing to which we’ll route the Expense Report to be processed
by the finance team to process for refund.
This will be very similar Adding and configuring Direct Manager Approval chapter above.
• When creating a Task Form based on an exiting Form Layout, new Task Form will use existing
Task Form as its initial layout, including, fields, layouts, rules, JavaScript, CSS and all form
definition and design, i.e. a copy of the exiting Task Form will be created.
• Changes applied to form layout, such as deleting controls, adding controls, changing controls
positions, local JavaScript, local CSS etc – will be applied on this form and will not reflect
originating form.
• Changes made for controls setting, will be local to the form, unless promoted to library, in
which case they will be automatically populated to all forms using this controls settings library
version.
New Task Form, Expense Report Process, now opened in the Form Builder, and include exact same
layout, controls and configuration as Expense Report Approval.
7.6
Yet, in this Expense Report Processing Task Form, and like with the Expense Report Approval Task
Form, the participant should be able to see all submitted Expense Report info as well as Expense
Report Approval, in a read-only mode, but should not be able to change any of the Expense Report
Info or Approval data, while on the other hand, it should provide the participant its own controls to
provide its input whether to Expense Report has been processes and reimbursement.
So we’ll first make all originating Submit Expense Approval controls to be read-only and then we’ll be
adding a section and additional controls for the decision input.
Expense Report Info fields are already all read-only, as configured while creating the Expense Report
Approval Task form.
The Bulk Edit page will show and will
include all current existing fields with their
main properties configuration.
use this Task Form by finance group, this fields should contain their data, other-wise, the
Expense Report Approval will not pass validation and will fail to submit.
4. Field are read-only, so even if missing values, user cannot enter value to fix issue
o This can be address by applying special rules to enable them in case of missing values
It is recommended to explore and try the additional settings available for the sections, under the
Settings, Layout and Appearance tabs in the Form Sections Settings, to learn on the additional
configuration and visual options available with Form Sections and tune it for your preference.
This would be a good time to hit the Save button to Save all changes so far.
2.C ADD THE REQUIRED FIELDS FOR THE EXPENSE REPORT APPROVAL ON THE
NEW SECTION
We’ll now add the required controls to the new Expense Report Processing section to allow the finance
handler to provide its Input to the Expense Report process as part of its Expense Report Processing
task.
7.12 Once a Section has been added, adding, configuring and designing controls on a section is just like we
did so far on the main from column layout, which is section by itself (default name Section 1).
Darg&Drop and configure the fields onto the Subform Columns Layout, to evetually get to the following
layout:
This time there is no need to align the width of the Comments fields to end with the same endings on
top/below of it, as we already adjusted the control width previously.
This would be a good time to hit the Save button to Save all changes so far.
Note that the Rule Builder will load with Rules already set for the Form Load event, as we created this
Task Form from the existing Expense Report Approval Task Form, where this rules were set and
configured, so will now just need to edit them.
On the Rule Builder page, do the following:
1. Under the Then section, for the first Set Field Value expression, click on the Field drop down,
and choose the change to Finance Handler Name field.
2. After changing the field, the expression value field will be reset, click on the App Data on the
right, to open the Data Draw.
3. Expand the System Data category and search/scroll for the User FullName (${UserFullName})
and drag and drop It into the value field for Set Field Value action
Repeat items 1-3 to Set Field Value changed the Date to Processing Date field with the value of
CurrentDate (${CurrentDate})
Delete the last Set Field Value expression used to reset the Decision value.
7.17
When done, click on the OK button, to apply Form Load event rule configuration and go back the main
Form Builder page.
• When is optional and can be set if we’d like to take the action only when specific conditions are
While running the preview, move to the Expense Report Processing section and manipulate the form
fields to see how they handle the values, logic, and how the form behaves.
7.19
For more information on Time To Complete, Reminders and Timer, see the referenc doc - Human
Activity Time Span, Reminders and Escalations.
• Note that when dragging the Group as the participant, the Group macro is automatically
checked.
• This is since this is an explicit known system managed group.
• Same will apply incase dragging group name from Role, Role macro will automatically be
enabled, as seen in the CFO Approval participant configuration.
• For more information on the Group and Role Macro, see reference doc, Task Participant
Anatomy
• If you did not follow on the pre-req for this section to create the Finance Processing Group,
follow it now – Appendix 2 – Create GROUP
•
•
For more information on creating Group, see documentation
If you do not have permission to do so, use on of the existing group for now, and once Group
will be created for you, open the activity and change Participant to use the created Group.
This would be a good time to hit the Save button to Save all changes so far.
• By default, the Start Task has the Report View = True. This can be changed as and when
needed.
To set the Finance Processing Task form as
the Report View, do the following:
1. On the top Action Bar, click on the
Properties, and then AgilePoint
Properties.
2. Click on the Expense Report
Processing activity to focus it on
the property table on the right.
3. On the Property table on the right,
click on the drop down list box on
the top and choose the All
perspective.
7.25
4. Scroll down and expand the eForm
category.
5. Change the value of the Report
View property from default False
to True.
As part of a Process Based Application, we have the option to send email notification, for the different process
participants and/or stakeholder to notify them on:
• Activities and Task level events. Those notification will be set as part of Activity configuration. Sample
Activity/Task level events for sample:
o Notify each of our task participant they have been assigned with a new task
o Send a reminder to a task participant on pending task
o And more…
• Process level events, to notify on process route and/or milestone. This notification will be set as part of a
dedicated Email Activity. Sample process level event for sample:
o Notifying the Process Initiator on request has been rejected.
For more information on email and notification usage and best practices, see Appendix 3 – Email & Notification
Usages and Best Practices.
• Process Based App include by default 4 simple Email Templated: Thank You , Reminder,
Confirmation and Notification with usage applied from the template name.
• You can use this templates as is, edit and customize them for your specific Process Based App
needs and preference, and/or create new ones as needed.
•
AgilePoint NX platform also support Global Email Templates – those can be created and
configured once from the Manage > App Builder > Global Email Templates, and then be
reused across different Apps. While being used in a specific app, they can be customized for
the specific App needs. This will provide the following values:
o Increase reusability and rapid development.
o Keep look & feel, phrasing, email structure for better email experience for end users.
Document Information: Last Modified: 49:23 11/11/2020 Version: 1 Revision: 007
AgilePoint, Inc. Confidential © 2020, AgilePoint, Inc. 10/09/2020
78 AgilePoint NX Fundamentals Training - Process Based App - Lab 1 Manual
Dear ${TaskParticipantFullName},
${TaskName} has been assigned for you. Find below Expense Report Request summary
info:
Initiator: ${/pd:AP/pd:formFields/pd:sFullName}
Thanks.
${TaskName} has been assigned for you. Find below Expense Report Request summary
info:
Initiator: ${/pd:AP/pd:formFields/pd:sFullName}
Thanks.
• As can see above, the link for the Task Form and Report View has a clear format.
• Aside from the Token at the end, which will be dynamic to the specific Task/Instance, all other
part is fixed for a given environment (i.e dev/test/production)
• It is a best practice to create a global Shared Variable for each, so that they can be abstracted
for the app/email template.
• This will allow:
o Controlling Environment level variables and abstract them from the App/Email
Template.
o Move the App between different environments with no concern or changes in the
App/Email Template.
o Better governance and control to adapt changes
▪ For sample, if dev server is moved to a new machine and this will cause URL
for dev environment to be changed, change need to be applied once on the
Global Shared Variable, and will immediately reflect Apps and resources
using it, with no changes need to apply on App/resources.
• As a sample:
o You’ll created a Global Shared Variable with the following:
▪ Name: g_sTaskFormLinkPrefix
▪ Value: https://trialapp.nxone.eu/appbuilder/FormRender?WID=
o In the email template, in the Web Address for the Hyperlink you’ll provide the
following value: ${g_sTaskFormLinkPrefix }${TaskID}
• To learn more on Shared Variables, check the Shared Variable documentation.
• To learn on creating a task form direct link in email template, read this KB.
This would be a good time to hit the Save button to Save all changes so far.
For your conveince, find below the body content for the Reminder Email Template:
Dear ${TaskParticipantFullName},
This is a kind reminder that ${TaskName} has been assigned for you with due date set
for ${TaskDueDate}.
Initiator: ${/pd:AP/pd:formFields/pd:sFullName}
Thanks.
This would be a good time to hit the Save button to Save all changes so far.
Kindly revise your expense report and re-submit for review and approval.
Thanks.
• Under the hood, the information is based on the XML data standard and structure.
•
•
You can use XPATH (XML query syntax) to access and manipulate the data.
To learn more on XML and XPATH visit the W3C documentation (or other resources to your
preference)
This would be a good time to hit the Save button to Save all changes so far.
Hello All,
Thanks.
For more information on Time To Complete, Reminders and Timer, see the reference doc - Human
Activity Time Span, Reminders and Escalations.
This would be a good time to hit the Save button to Save all changes so far.
ATTACH THE EMAIL TEMPLATE TO THE SPECIFIC EMAIL ACTIVIITY EMAIL FOR
PROCESS LEVEL EVENT NOTIFICATION
Click on the Common Activity Library, drag
the Email Activity and drop it in the Initiator
lane on top of the Rejected connector while
8.27 its green highlighted.
This would be a good time to hit the Save button to Save all changes so far.
Repeat the steps to add Email Activity and send process level notification using the “Notify Completion”
8.31
Email Template, and place it between the “Expense Report Processing” and the Stop Activity.
Your end process should look as screen shot below:
8.32
Well done again, the big part, developing the process model, its task forms, email template is done.
Now, we’re just left with validating it and publishing the App so it can be used by Carol, and our end users, for
submitting Expense Report and automate it through the lifecycle of review, approval and process by Dave, John
and the rest of Spendings inc… team ☺.
To do so, we’ll:
Process Validation will check and validate the following in your Process Model:
• All Activities has their mandatory settings configured with the proper values/format.
• All Activities has at least one incoming connection and one outgoing connections
o This has the exception for the Start Activity which only has outgoing and the Stop
Activity which only has the incoming.
• From each Activity, process can route its way to the Stop activity (i.e. no end-less infinite loop)
Note that this is a toast type message, meaning, it will automatically disappear after 30 sec.
• Label and Version are mandatory – but by default will include an incremental value.
• Label will help “tag” a specific version to more easily identify if need to revert and/or
milestone.
•
•
Check out the documentation for App Permission and Notify Users documentation and guides.
Check out the Version History and Milestone documentations and guides.
CONGRATIONLATION
You have just completed this lab to create you and publish your first Process Based App
As we have the App published, we can now submit an Expense Report and see how the process runs and routes
through the different Review and Approval tasks, get the email notification and test drive the App end to end.
To make sure all tasks will be routed to you and you can easily test drive the App and its corresponding’s
tasks and notifications:
• Make sure you’ve unchecked the Manager macro on the Direct Manager Approval participant
configuration.
o If changing, make sure to publish again.
o Alternatively, create a Delegation from your direct manager to yourself.
• Make sure you are member of the CFO role and the Finance Processing group
• Once done with testing, revert changes applied for the testing purpose, and publish again if
required. i.e.
o Re-check the Manager macro for the Direct Manager Approval Activity participant
configuration or cancel the Delegation.
o Remove yourself from the Role and Group.
Note that you can use the Zoom Out (-) and
Zoom In (+) on the top left of the Process
Viewer.
•
•
It is highly recommended to try and explor on the WorkCenter tabs, information and actions.
Check the WorkCenter documentation and guides
Let’s review what have we accomplished and learn while creating the Expense Report Process Based App to help to
solve Spendings inc. first and core challenge:
App
Get to know the Build App web based IDE to create and manage AgilePoint Apps
Create a Process Based App
Process Builder
Set swimlane
Work with Activity library to add activities to your process model
Get to know the Activity Anatomy: eForms (What), Time To Complete (When), Participant (Who),
Notifications, Report View.
Add, configure the following activities:
▪ eForms Activity Library: Start Task, Standard Task
Document Information: Last Modified: 49:23 11/11/2020 Version: 1 Revision: 007
AgilePoint, Inc. Confidential © 2020, AgilePoint, Inc. 10/09/2020
98 AgilePoint NX Fundamentals Training - Process Based App - Lab 1 Manual
Additionally, we’ll recommend reviewing again the app created and explore the reference documents and guides.
For your convenience we’ve consolidate few key reference docs, documentation links and video guides:
Docs Videos
Human Tasks and Forms Basic steps to create a process based application
Notifications
Going further, follow is refence docs and videos guide for next topics
DATA ENTITY
Docs Videos
PickList Docs
Docs Videos
Create a Form Based application For Data Entity Data Driven Applications
Create a Form-Based Application with a Database Form Based Applications – Custom Database as Data
Table Source
For the purpose of the lab, we’ll need to have a “CFO” role, which will be used as the participant for the CFO
Approval Activity.
For the purpose of the lab, we’ll need to have a “Finance Processing” Group, which will be used as the participant
for the Expense Report Processing Activity.
• For the purpose of debugging and test driving the App, once ready and published, consider
adding your own user as a member of this Group, so you’ll be assigned with the Expense Report
Processing task and notifications and can test drive it.
• Alternatively, you can set yourself to be a Group lead.
Find below key usages and best practices for Emails and Notifications. For more information, see reference
document Email and Notifications.
• Human Activities:
Initiation, Reminder,
Reassignment,
Completion, Overdue
• Automatic Activities:
Initiation, Completion
Typical Usages? Notify process initiator and/or Typically used within human tasks
process participants (all) on to notify Task Participant/s on task
decisions/routes in the process, i.e events (though can also be used for
approved and completed, rejected automatic activities as well)
etc’
DONT’s • Use email templates that use • Avoid using the “CC:” and/or “BCC:” – if
${TaskParticipantUsername} for the activity is assigned to n users (i.e Group,
”TO:” – Autimatic acticity has no Role, List of users) email notification will
participants be sent to each task – i.e CC/BCC will get n
copies of the email (sent per task)
• Use Email Templates that include link
to Task – automatic activity has not • Don’t Abuse! Don’t overload users with
form attached to it. emails! Sent task notification mainly for
task which are typically outside of the
• Avoid using email tamplates that use ongoing work of the user. As a rule of
${TaskName}, ${TaskDueDate} – thumb, avoid using task notification if user
though they are available, they is expected to get more than 1 task of this
represent the Automatic activity kind per day. See “Considerations and
info, which is typically less relevant Best Practices on using Emails within
for the notified users (though in Process and Tasks” doc
some use cases it may be needed)
For the complete glossary and terminology, check the concept terminology page.
Term Definition
Process Glossary
Activity A functional unit in a process-based app. May instance one or more tasks
depending on definition.
Process Model The process as that has been modeled visually it is the Process Builder for
deployment and execution
Process One or more activities, that start in one specific point in time, end in one
specific point in time, and in between has chronologic order, dependencies
and relationships
Human/Manual Task A task which requires any level of human intervention to complete.
Task activity typically has a user input form to collect data about the task,
but is not limited to just form and can be also via email, chat bot, key press
etc.
• And so on…
Forms Glossary
eForm An eForm is an HTML5 based web form made with the AgilePoint eForm
Builder.
eForms are created using a drag-and-drop web browser interface. The code
for eForms uses XML and JQuery.
Task Form A Form, typically eFrom based, which is accosted with a process activity, to
be used as the user interface for the underlying task, to provide the
participate with the data access, visualization and inputs required to execute
the task and provide its input and/or decision for the process.
Controls can be applied with logic, styling, behavior and can be manipulated
using low-code using JavaScript and CSS.
App Glossary
App App is an abbreviation for application. App may refer to several types of
applications in AgilePoint NX:
Form Based App A form-based application is a type of AgilePoint NX application that uses
an eForm for data entry, but does not have an associated process. Form-
based applications provide a way to collect data with online forms. You can
store data from form-based applications in a number of data sources,
including AgilePoint NX Data Entities, Salesforce, and databases Form-based
applications are sometimes referred to as forms as a service (FaaS) or
standalone forms.
Data Glossary
Data Entities Data Entities is an AgilePoint NX component that lets you create and manage
a custom data model that is native to the AgilePoint NX platform. You can
use Data Entities to securely store and retrieve data for AgilePoint
NX applications as an alternative to an external data source, such as
a database, SharePoint, or a CRM service.
Picklist A picklist is a customizable group of name-value based list options you can
use for specific fields in AgilePoint NX Data Entities and / or as the source for
an name-value options controls in eForm.
Process Builder Process Builder is a visual tool where you can create workflows and the logic
for processes and applications with a simple drag-and-drop interface.
eForm Builder eForm Builder is an integrated visual tool that lets you build anything from
simple forms with just a few form controls to complex, multi-tabbed forms.
The eForm Builder provides more than 60 control types, and lets you build
business logic into the form, enabling dynamic restructuring of the form
based on form user input. You can use your eForms within an application,
share your eForms across applications, or even use eForms with external
applications.