Artisan IMG > WorkflowMAX (workflowmax) (2a707d01-fd24-4bd8-8d40-9bf2b2bd65f0)
Artisan IMG > WorkflowMAX (workflowmax) (2a707d01-fd24-4bd8-8d40-9bf2b2bd65f0)

WorkflowMAX
2.0

WorkflowMAX is an all-in-one project management platform.

Overview
Copy

WorkflowMAX is an all-in-one project management platform that features job costing, quoting, time tracking, reporting, and more.

Authentication
Copy

To begin using the connector, add a WorkflowMAX connector step to your workflow. With the connector step highlighted, click on the 'New authentication' button that should now be visible in the Properties panel (under 'SETTINGS') on the right hand side:

This will result in a Tray.io authentication pop-up window.

IMPORTANT!: There are two different methods of authentication depending on the WorkflowMAX connector version you are using please see below for more details.

Version 2.0
Copy

The first page will ask you to name your authentication, and state which type of authentication you wish to create ('Personal' or 'Organisational').

On the second page you need to select your permissions.

You will be then redirected to a Xero login page and after you have logged in with your WorkflowMAX account, you will be asked to confirm the access you are granting to Tray.io. Once you have reviewed the permissions, click 'Allow Access'.

Version 1.0
Copy

The first page will ask you to name your authentication, and state which type of authentication you wish to create ('Personal' or 'Organisational').

As you can see, the next page asks you for your 'API key' and 'Account Key' credentials.

Due to WorkflowMAX's security protocols here is no way to obtain these keys as it stands without contacting WorkflowMAX directly. Therefore in order to obtain them for your authentication, please make sure to <Content type link TBD> to complete setup.

Click 'Add authentication' and you will be set up and ready to go.

Note on Operations usage
Copy

Please be aware of the following 'Update' operations and their tendencies when utilised, as this behaviour is not standard:

These operations will overwrite any fields that are left blank:

  • Update contact

  • Update custom fields

  • Update job

For example, if you leave the 'Phone number' field blank when updating a contact, that contact's existing number will be erased too. A similar process follows with the latter two operations listed.

Available Operations
Copy

The examples below show one or two of the available connector operations in use.

Please see the Full Operations Reference at the end of this page for details on all available operations for this connector.

Using the Raw HTTP Request ('Universal Operation')
Copy

As of version 2.0, you can effectively create your own operations.

This is a very powerful feature which you can put to use when there is an endpoint in WorkflowMAX which is not used by any of our operations.

IMPORTANT!: When you are using the Raw Http request operation of WorkflowMAX you always need to set your 'Xero-tenant-id' in the header as part of the authentication. To get your 'Xero-tenant-id' please run the List tenancies operation first.

To use this you will first of all need to research the endpoint in the WorkflowMAX API documentation v3.0, to find the exact format that WorkflowMAX will be expecting the endpoint to be passed in.

Note that you will only need to add the suffix to the endpoint, as the base URL will be automatically set (the base URL is picked up from the value you entered when you created your authentication).

The base URL for WorkflowMAX is: https://api.xero.com/workflowmax/3.0

For example, say that the 'List client' operation did not exist in our WorkflowMAX connector, and you wanted to use this endpoint, you would use the WorkflowMAX API docs to find the relevant endpoint - which in this case is a GET request called: /client.api/list.

More details can be found here.

As you can see there is also the option to include a query parameter, should you wish to do so. So if you know what your method, endpoint, headers and details of your query parameters are, you can get the list of clients modified since the given date with the following settings:

Method: GET

Endpoint: /client.api/list

Header: Key: Xero-tenant-id Value: 54c916ce-4fad-4a1b-baf5-a1e352c4588a

Query Parameter: Key: modifiedsince Value: 2020-10-30T08:00:00

Body Type : Raw : none

Final Example outcome being: https://api.xero.com/workflowmax/3.0/client.api/list?modifiedsince=2020-10-30T08:00:00

Example usage
Copy

Below is a brief example which demonstrates how to iterate through the contacts (belonging to clients), stored within WorkflowMAX.

TRAY POTENTIAL: Tray.io is extremely flexible. By design there is no fixed way of working with it - you can pull whatever data you need from other services and work with it using our core and helper connectors. This demo which follows shows only one possible way of working with Tray.io and the WorkflowMAX connector. Once you've finished working through this example please see our Introduction to working with data and jsonpaths page and Data Guide for more details.

The steps are outlined as follows:

  1. Set up your manual trigger and first WorkflowMAX connector step.

  2. Add a Loop connector to iterate through your clients.

  3. Add a step to get each client contact's individually.

The end result should look something like this:

1 - Setup trigger & List clients
Copy

Once you have created and named your new workflow, select 'Manual Trigger' from the connectors panel on the left, and add a 'WorkflowMAX' connector to your second step. Set the operation to 'List clients'.

The fields that are mandatory are 'Offset' and 'Limit' but as they are already pre-filled for you, you need not worry about them at this stage.

'Detailed View' is ticked by default and returns a more detailed set of data per client than if it is un-ticked.

Feel free to name your step to make things clearer for yourself and other users:

Now when this workflow is run, it will pull down a list of clients from the WorkflowMAX API. This means you will be able to view them when you click through your debug panel, and expend the output field.

2 - Add a Loop step
Copy

Next, we add a 'Loop Collection' connector to the workflow.

Use the connector-snake to generate the JSON path you will need, by clicking and dragging on the orange circle mapping icon, left of the 'List operation' itself.

CONNECTOR-SNAKE: The simplest and easiest way to generate your jsonpaths is to use our feature called the Connector-snake. Please see the main page for more details.

JSONPATHS: For more information on what jsonpaths are and how to use jsonpaths with Tray.io, please see our pages on Basic data concepts and Mapping data between steps

Once you have dragged it over to the first WorkflowMAX step, you will see a dropdown list of options appear. Select the Client array.

The Loop input panel should then look something like this.

This will enable us to iterate over the list of clients, and perform operations for each one, during each loop cycle.

3 - Get client
Copy

Finally, drag another Cue connector step into the Loop collection itself, and select the operation 'Get client'.

Use the same connector-snake method for generating the JSON path to get the 'ID' field.

From here, you can send the data from each account to another online service, manipulate the data in some way, or change 'Get client' to 'Update client' in order to update each account in turn with some new data.

You can also iterate through the Contact array in each client using another Loop connector, and perform operations on the client's contacts should you so wish.

BEST PRACTICES: Whenever you do decide to create your own workflow, be sure to check out some of our key articles such as: