Start Designing a Business Process

This tutorial teaches you how to start designing business processes in the Agile Platform. Take advantage of the Taskbox to help users to keep track of their tasks.
Don't have the Agile Platform? Download it here!

Tutorial Transcript

This section presents a transcript of the tutorial contents for documentation purposes only.
These tutorial instructions appear in Service Studio within the full application context.

Download baseline eSpace


Step 1
Create a Business Process
We're going to design a  Process to automate the workflow of candidates screening in a recruitment application

       


Click 
NEXT to continue

Step 2
Add a New Process
Let's create the  Process and set it up to execute one process per created  Candidate.
  1. Under Processes, right-click on the Processes folder, select 
    Add Processand type CandidateSelection for the name
  2. Set the Launch On property to CreateCandidate

Step 3
Great!
You've just created a brand new  Process!

You've used the 
Launch On property to have a process running for each new  Candidate.
  1. Expand the  Process and check out the  CandidateId input parameter which identifies the  Candidate the process is bound to.

Click 
NEXT to continue.

Step 4
Create a Human Activity
We're going to add a  Human Activity for the end-user to screen a new candidate in the application.
  1. Drag the  Human Activity, drop it onto the connector when it glows, and type ScreenCandidate for the name

Step 5
Configure the Human Activity
Now, let's configure the  ScreenCandidate for the end-user to carry out the screening task.
  1. In the Destination property, select the Candidates\Candidate_Show web screen from the list
  2. In the drop list of  CandidateId argument, select the  CandidateId of the process
  3. Double-click on Detail and set the expression to: 
    GetCandidate(CandidateId).Candidate.Name
    Close the Expression Editor
  4. Double-click on Instructions and set it with the following text:
    Check if the name and position are filled. 
    If yes, set the candidate's status to 'Validate CV'.
    Otherwise, dismiss the candidate.
    Close the editor
  5. Uncheck all of the Roles except the AdministrativeAssistant role

Step 6
Deploy the Application
Let's deploy the application with the changes.
  1. Click on the  1-Click Publish button.
  2. Wait for the 1-Click Publish to finish...

Step 7
Let's Test the Application!
  1. Open the application in the browser by clicking  Open in Browser
  2. Follow on to the next step to test your application

    Click NEXT to start testing

Step 8
Screen the Candidate
  1. Log in using anne.abbott@mail.com/outsystems
  2. Create a new candidate: type in a name and set the Position to Software Engineer
  3. Wait a few seconds for the number of tasks to appear on screen and then click on it to open the Taskbox.
  4. Click on a task name to see what happens!

    Click 
    NEXT to continue the tutorial

Step 9
What's Next?
In the following steps we're going to add a  Button to dismiss a candidate: the status is updated to Dismissed and the candidate's process is terminated.

To terminate a process from the application we have to:
  • Add a new flow to the process to terminate it
  • Get the process for the candidate through a  Query
  • Execute the new flow usign a  Process Action

Click 
NEXT to continue.

Step 10
Add a Button to Run a Process Flow
We're going to add a  Button to a web screen to dimiss the candidate and terminate his process.
  1. Under Interface, double-click on  Candidate_Edit to open it
  2. Drag the  Button, drop it next to the  Save button, and type "Dismiss" for the label
  3. Double-click on the Visible property and set the expression to:
    CandidateEdit.Record.Candidate.Id <> NullIdentifier()
  4. In the Destination property, select  (New Screen Action) from the  list

Step 11
Add another Flow to the Process
Now, let's add a  Conditional Start to the process for a new flow that will terminate the process.
  1. Under Processes, drag the  Conditional Start, drop it on the canvas, and type Dismiss for the name
  2. Drag the  End and drop it after the conditional start
  3. Connect  Dismiss to  End
  4. Set the Terminate Process property to Yes

Step 12
Add an Automatic Activity
Let's also add an  Automatic Activity with business logic to change the candidate status to Dismissed.
  1. Drag the  Automatic Activity, drop it onto the connector when it glows, and type SetStatusAsDismissed for the name
  2. Double-click on  SetStatusAsDismissed to open it
  3. Under Logic, drag the  SetCandidateStatus action and drop it onto the connector when it glows
  4. In the CandidateId argument, select the process  CandidateId from the list
  5. In the StatusId argument, select Entities.Status.Dismissed from the list

Step 13
Great!
You've used a  Conditional Start to add one more flow to the process which does the following:
  • Updates the candidate status to Dismissed
  • Terminates the process for the candidate

Click 
NEXT to continue.

Step 14
Get the Process for an Entity
We have to obtain the running process for the candidate to run the right  Dismiss flow.
  1. Under Processes, click on  CandidateSelection and set the Expose Process Entity property to Yes
  2. Under Interface, double-click on  Dismiss, drag a  Query, drop it onto the connector when it glows, and set GetProcessForCandidate for the name
  3. Double-click on  GetProcessForCandidate, right-click on the Parameters folder, select Add Query Parameter, and type CandidateId for the name
  4. Right-click on the Entities / Structures folder and select  Process_CandidateSelection
    (the join condition is automatically added!)
    Close the Query Editor
  5. Set the CandidateId argument of the query to
    CandidateEdit.Record.Candidate.Id

Step 15
Great Work!
You've obtained the  Process for an  Entity

You've used the 
Expose Process Entity property to expose the process runtime data and used it in a  Query to get the process for the candidate

Click 
NEXT to continue.

Step 16
Run a Process Flow in an Action Flow
Now, that we have the candidate's process, let's launch the  Dismiss flow using a  Process Action.
  1. Under Processes, drag the  StartDismiss process action and drop it onto the connector when it glows
  2. In the ProcessId argument, select GetProcessForCandidate.List.Current.
    Process_CandidateSelection.Process_Id
     from the list

Step 17
Get Back to the Candidates List
After dismissing a candidate the application is going to navigate to the  Candidate_List web screen.
  1. Drag a  Destination, drop it onto  Endand in the Destination select the  Candidate_List web screen from the list

Step 18
Deploy the Application
Let's deploy the application with the changes.
  1. Click on the  1-Click Publish button.
  2. Wait for the 1-Click Publish to finish...

Step 19
Let's Test the Application!
  1. Open the application in the browser by clicking  Open in Browser
  2. Follow on to the next step to test your application

    Click 
    NEXT to start testing

Step 20
Screen the Candidate
  1. Log in with anne.abbott@mail.com/outsystems
  2. Create a new candidate: type in a name,  set the Position to Software Engineer and Status as New
  3. Check the new task on the Taskbox
  4. Edit the candidate and dismiss him
  5. Check the Taskbox and the candidate's status

    Click 
    NEXT to continue the tutorial

Step 21
Congratulations!
You have successfully completed this lesson. Now you know how to:
  • Create a  Process
  • Use a  Human Activity to add a task to the end-users' Taskbox
  • Use a  Conditional Start to add a new flow to a process
  • Use a  Terminate to terminate a process execution
  • Use an  Automatic Activity to add some business logic to the process
  • Get a  Process for an  Entity
  • Launch a Process Flow from an Action Flow
 
Click 
FINISH and move on to the next lesson.

What IT pros like you say about the Agile Platform

It’s rare that I’m really impressed by software [...] but the Agile Platform is one heck of a product.”

Joshua Price, MakeTechEasier

It does what it claims to do, and does it well. In this industry, that is extremely unique.”

Justin James, TechRepublic

I'm blown away by this tool, it's depth, and the level & quality of training you provide.”

T.S. - Developer

Training & Certification.

Want to become a pro and extend you knowledge with in-depth training? See our training program.

Agile Network community.

Download samples and technical resources, get help from peers, or discuss your favorite development topics in the forums. Check out the Agile Network.

Free Download.

Start creating your next great web app with the Agile Platform! Download now.

Great web apps of all types.

The Agile Platform™ is being used to build custom web applications and websites - from apps used by dozens of employees to global web portals used by millions of users. Custom CRMs, Intranet Portals, HR solutions, eCommerce sites, Invoicing and Billing Systems... there's no limit to the type of web applications you can build.

Great companies of all sizes.

The list of companies using the Agile Platform™ spans from startups to Fortune 50 companies in 16 countries and across 19 industries including Banking, Telecom, Insurance, HealthCare, Consumer Goods, Distribution, Manufacturing, Utilities, Education and Government.