Processes are the heart of a 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:

  • 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, schedules 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 the system automatically creates contracts, accounts, etc., and sends an on-boarding email to the candidate.

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 in 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 it will also 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.