New Feature: This functionality is available from ProcessMaker 3.1. Corporate and Enterprise editions.

Overview

The ProcessMaker Google Integration extension for Chrome allows fully integrating ProcessMaker 3.1 services with the Google applications so users can easily manage their cases. This extension is available at the Google web store and it simply adds a convenient toolbar shortcut at the top left-hand side of the browser.

After successfully connecting to ProcessMaker, it is important to set Cron Jobs in a regular frequency to synchronize the information between your ProcessMaker server and your Gmail Account. With this, the integration is complete and functional.

The extension adds the HOME ProcessMaker trays to Gmail so users receive, view and work on their cases directly from their Gmail interface. Users can manage, review and route those cases directly from Gmail without logging to ProcessMaker. The extension also adds a field at the top of the email list of Gmail, so users can easily find their processes, start new cases and bookmark the necessary processes so they are easily accessed from the ProcessMaker bookmark icon (next to the field).

Take into account that the user must be logged into Chrome with his/her Google account with which him/her is registered in ProcessMaker. Also, it is recommended to always work with the latest version of the Chrome browser.

Requirements

The following are the requirements needed for this feature:

  • ProcessMaker version 3.1 (the server must be with the SSL certificate so ProcessMaker is accessed with the https protocol)
  • Gmail Account (This Google account must be specified in the profile information of the user in ProcessMaker.)
  • To configure Gmail integration, you must have a Google service account. The Google service account is an administration account.
  • ProcessMaker Google Integration extension.

Browser Requirements:

  • Google Chrome (tested in version in version 46; however, it is always recommended to work with the latest version.)

Configuration

The following section describes the steps to configure the ProcessMaker server to allow the integration with the Google accounts.

Configuring ProcessMaker to Integrate with Gmail

After installing the ProcessMaker extension for Chrome, login to ProcessMaker with a user that has the PM_SETUP and PM_SETUPADVANCED permissions in his or her role. Then go to the Admin > Settings > PM Gmail option.

The configuration made in this section will be available for the current workspace.

Check the Enable PM Gmail option to enable the integration with Gmail, and the Enable Google Drive checkbox to enable the option of sincronization between input, output and attached documents.

After one is selected, two new options will be displayed to integrate ProcessMaker employing a direct server-to-server interaction with Gmail using a json file to provide the user's private key (see instructions below).

Creating a new Service Account in the Google Developers Console

To generate the private key needed to integrate ProcessMaker to Gmail, it is necessary to first create a new Service Account in the Google Developers Console page.

Access the Google Developers Console page and create a new project.

Provide the name of the project and agreeing with the Terms of Service.

After creating the project, it will be opened in the Service accounts tab. To create a new service account, click on the Create service account button of the permissions window that is shown.

Provide a name to the service account in the window that opens. Then, check the Furnish a new private key option to download the file that contains the private key. To download the private key as a .json file, after checking the Furnish a new private key option, select the JSON option and click on Create.

The service will be created and the .json file will be downloaded to your local computer.

The service account created will be listed in the Service accounts tab in the https://console.developers.google.com/permissions link. The information of this list includes the "Service Account", the "Email address", the "Key ID", the "Key creation date" and its options.

Providing the Authorization Key to ProcessMaker

After obtaining the private key from the Google Developers Console page, return to ProcessMaker and upload the files downloaded in the previous step.

To use the .json file in the configuration. Provide the Key ID shown in the list of service accounts in the project of the Developers page, and upload the .json file in the field below.

Finally, click on Test Connection button to check that the authorization is working correctly.

Cron execution to synchronize data

To fully integrate ProcessMaker with Gmail, it is necessary to set the following cron jobs. The following commands will synchronize emails, labels and input, output and generated documents. Do not forget to replace the workspace name example testdrive with the proper name of your workspace.

php -f /opt/processmaker/workflow/engine/bin/cron.php +wtestdrive emails

php -f /opt/processmaker/workflow/engine/bin/cron.php +wtestdrive synchronize-gmail-labels

php -f /opt/processmaker/workflow/engine/bin/cron.php +wtestdrive synchronize-documents-drive

For more information about how to set cron jobs, please visit the Executing cron.php page.

Configure the cron execution using scripts

Setting script files

Download the following files: hello.sh and runEvery.sh

The hello.sh file contains the cron commands explained before and the runEvery.sh file runs a command every X seconds for minute. Open the hello.sh file with your favorite editor and replace the workspace name testdrive with the proper name of your workspace, for example: +wWorkflow in the three comands contained.

php -f /opt/processmaker/workflow/engine/bin/cron.php +wWorkflow emails php -f /opt/processmaker/workflow/engine/bin/cron.php +wWorkflow synchronize-gmail-labels php -f /opt/processmaker/workflow/engine/bin/cron.php +wWorkflow synchronize-documents-drive

Save the changes and close the file. After that, move both files to the /bin folder located at:

Bitnami Installation:

<INSTALLATION-DIRECTORY>/Bitnami/processmaker-3.0.1.8-0/apps/processmaker/htdocs/workflow/engine/bin

Self-Installer Installation:

<INSTALLATION-DIRECTORY>/Users/USERNAME/AppData/Roaming/ProcessMaker-3_X_X_X/workflow/engine/bin

Set permissions to the files with the following commands:

chmod 777 /installation-path/bin/hello.sh chmod 777 /installation-path/bin/runEvery.sh

Then, execute the hello.sh script manually through the following command to see how it works:

php -f /opt/processmaker/workflow/engine/bin/hello.sh

For more information about executing cron scripts, please visit the Manually executing cron scripts

Using the crontab on Linux

Configure the crontab to periodically execute the downloaded cron scripts. Add the following line to the crontab according to the instructions of the Configuring crontab in Linux page.

*/1 * * * * ~/bin/runEvery.sh 5 ~/bin/hello.sh

Installing the Extension

Download the ProcessMaker Google Integration from the Chrome web store at the following address:

https://chrome.google.com/webstore/detail/processmaker-google-integ/foafodjpnngabbpkbpnfcakahkkbhgbm

Click on the Add to Chrome button at the top right side of the window that opens:

An alert window will ask if the extension should be added to Chrome or not. Click on the Add extension option to continue the installation.

Chrome will download the extension and install it to the browser. After the installation is completed, the ProcessMaker icon will be added at the top right side of the browser and the following message will be shown:

After installing the extension in Chrome, refresh the Gmail page and the following part will be shown above the inbox:

Integrating ProcessMaker with Gmail

Once installed the extension, logging in to your email. A new dialog window will display to fill in the credentials of the ProcessMaker server and the workspace from where the information of the cases will be retrieved in Gmail.

Click on Save Settings to verify the information and retrieve the information of the cases from the server. A success message will confirm the information.

If the information is wrong the next message will appear.

Managing the ProcessMaker Field in Gmail and Process Bookmarks

After the settings to connect to ProcessMaker are saved and the page refreshed, a field will be added on the top left-hand side of the email list along with the ProcessMaker button as shown in the image below.

This field allows searching for processes that can be started by the user (meaning that the user is assigned an starting task in the process). All coincidences of the text entered will be shown down. Also, by clicking on the down arrow of the field, the complete list of processes to which the user is assigned to a starting task will be displayed.

Notice that next to the name of the processes in the list there is a star icon with plus sign inside. By clicking on this icon, the process will be added as a new bookmark in the process preferences of the user.

These bookmarks can be easily accessed by clicking on the ProcessMaker icon next to the field. To remove a bookmark from this list, simply click on the star icon with the minus sign inside.

Starting New Cases

The integration also gives users the ability to start cases to which they are assigned directly from Gmail. To do this, simply click on the name of the process from the list shown in the field or from the user bookmarks.

A modal window will open showing the first step in the task (which could be a Dynaform, an Input Document or an Output Document). All steps of the task will be shown in this window.

If at any point of the steps, before routing the case, this window is closed, it will be saved in the DRAFT label as an inbox email just like in ProcessMaker.

The last step in all cases of ProcessMaker is the routing of the case. In this window the information of the next task and the next assigned user is shown. To route the case to the next task click on Continue

Now, the information of the case is shown in the window. This means that the case has been routed correctly. So, simply close the window to continue.

Managing Cases from Gmail

Notice that after installing the extension, the ProcessMaker category is added to the Inbox section of the interface. This category has its own ProcessMaker labels (the same as shown to an Operator user in ProcessMaker)

These labels are the following:

  • Draft: This label includes cases that are being edited or advanced by the user but have not yet been submitted to the next task. In ProcessMaker 3, only cases in their initial task may have the "Draft" status.
  • Inbox: This label includes cases that are currently placed in the user's Inbox.
  • Participated: This label includes the participated cases (cases in which the user has participated, meaning that the case was assigned to work on at least one of the tasks in the case).
  • Paused: This label includes cases that are paused, assigned to the user account, meaning that they are temporarily unavailable and cannot be opened or worked on.
  • Unassigned: This label includes the unassigned cases to which the user account is assigned in the task and can decide to claim the case as their own.

See more information of the states of cases in this page.

Note: It is recommended to avoid changing the name of the Processmaker labels. In case of changing the label name, a new Processmaker label will be automatically created with the original name.

The management of these cases is similar to the management of emails in Gmail.

The difference is that when opened, the information of the case is shown:

The tabs available are the following:

  • Form: If the task has forms as steps, they are shown in this tab (including the routing window).
  • Process Map: It shows the workflow of the process highlighting the current task.
  • Uploaded: It shows the Input Documents related to the case.

  • Generated: It shows the Output Documents related to the case.

After routing a case to the next task, or finishing it, the properties of the case will be shown and the case will be marked as "read" (as with emails in Gmail) in the list. If opening the information of the case and not routing it, the case will also be marked as "read" in the list.

Searching for Cases

The integration also allows searching for cases from the search field in Gmail. For this, enter the number of the case, the name of the process, or any searching criteria as used with emails in Gmail. For example, if looking for the number of the case:

The results will be shown below:

Removing the Gmail Extension

The extension can be removed in the following ways:

Uninstalling from Extension Icon

To remove the Gmail Extension press right-click in the Processmaker Extension icon and select the Remove from Chrome option.

An alert window will ask if the extension should be removed from Chrome or not. Click on the Remove option to continue.

After that the next page will let you know that the extension has been uninstalled from Chrome:

Finally, refresh the Gmail page to finally uninstall all the components of the extension.

Uninstalling from Extension Manager

To uninstall this extension open a new tab and enter the following URL: chrome://extensions/ All extensions installed in Chrome will be listed in this window.

To uninstall the ProcessMaker Google Integration extension, click on the trash icon next to it.