Processes are the heart of an Smartmate app. A process is a flow with a series of steps (tasks) that can be performed by a user or the system.

Examples of processes within an Recruitment app might be for example:

  • Invite to Recruitment: A process that sends an email to an invitee and then follows up on their interest on participating in a recruitment process.

  • Recruitment: The actual recruitment process. You enter the candidate email, and the system automatically sends emails, schedule interviews and determines which candidates are accepted and discarded based on an automatic scoring system.

  • Hiring and On-boarding: A process where you select an approved candidate, and automatically create contracts, accounts, etc., and send the candidate for on-boarding.

A smartmate app can have zero or many processes. It probably won’t make sense to have an app without processes though.

Processes of the same app can share information with one another, if they are connected to the same tables.

Starting a process

After an app is published, the app processes can be started in 3 ways:

  1. Manually, by a user with the corresponding process permissions.

  2. Automatically, when the process has a timer start event.

  3. By another system, inserting an action using the corresponding GraphQL Endpoint.

When a process is initiated, it creates a new case, which is an instance of the process.

Processes and Tables

All the information collected by a process is stored into a table.

Also, information that is required by the process to display forms, fill out templates, emails, etc., can come from the app tables, case variables or app secrets.

The mainTable property defines where the process will store its information and will be the starting point for getting all the data.

More information on how to store process data into a specific table, and how to use information from tables into the processes is available in the process modeling section.