How to automate with WorkflowMax (aka Xero practice manager) and Zapier
Note: The workflowmax API will be changing in November 2020, and the steps outlined in this blog post will not work after that point.
If you’re an accounting firm that manages multiple clients, chances are you’ve come across WorkflowMax, an invaluable piece of practice management software. Since WorkflowMax was acquired by Xero, it’s changed it’s name to Xero Practice Manager, and it integrates well with the Xero base platform! Happy days.
Unfortunately, even though Xero has a purpose built Zapier connector, there’s no such thing for WorkflowMax / Xero Practice Manager. So this makes automating with WorkflowMax quite tricky. But never fear - you have options! To give you an example of what’s possible, this blog post will show you how to automatically update the status of a WorkflowMax job with Zapier.
The good news: automation can be done! We’ll use a Zapier feature called “webhooks” to make it happen.
The bad news: WorkflowMax will only ever be a passenger in your automations, it will never be a driver. You’re not going to be able to trigger zaps directly from an event happening in WorkflowMax. Your trigger needs to happen somewhere else (eg Trello or Airtable), and then you can automatically push data to WorkflowMax from there. So that might mean you need to rethink some of those automations you’ve been dreaming about.
Today we’re going to go over a workflow where a card in Trello is moved to a new list, and this automatically updates the status of a WorkflowMax job. This is one specific example which will lay the groundwork for you to change lots of other data in WorkflowMax automatically as well.
The recipe
Get your API key from WorkflowMax
Set up your trigger app (Trello, in this example) with WorkflowMax data
Update your WorkflowMax job state automatically with Zapier
All right - let’s roll up our sleeves and start!
Step one: Get your API key from Workflow Max
Head over to Xero’s support page and fill out a contact form. It’ll look something like this:
When you hear back, you should receive an API key and a WorkflowMax account key. You’ll need these for the following steps.
Step two: Set up your trigger app with WorkflowMax data
Remember how we said WorkflowMax can only be the passenger, not the driver? For this example, Trello will be the driver, and we need to tell Trello how to find the WorkflowMax job it’s looking for.
Create a Trello card which represents the WorkflowMax job you want to update. Name it whatever you want. Now go and look up the corresponding job in WorkflowMax, and pay special attention to the URL of the webpage you’re looking at. At the end of the URL, you’ll see the job ID - something like “J123456”. Copy that job ID, head back to your Trello card, and add the job ID to the card description. Make sure it’s the only text in the card description.
So now your Trello card has a map to find the WorkflowMax job that it relates to. Next, we’ll need to make Trello aware of the job states in WorkflowMax.
Let’s imagine you have a few Trello lists that correspond to job states in WorkflowMax. You’ve got one Trello list titled “Ready”, and another titled “Finalising”. When you move your card to the “Finalising” list in Trello, you want the WorkflowMax job state to update to “Finalising” too.
You might have different job states in your workflow - either way, make sure you have at least two job states available in WorkflowMax, and at least two Trello lists where the list titles match the different job states. Note that the list titles have to match the job states EXACTLY.
Step three: Update your WorkflowMax job state automatically with Zapier
Set up a new Zap, with Trello as the trigger. As you’re setting up the Trello trigger, choose the option below:
You’ll probably want to specify the Trello board too - pick the board where your card is located.
Next, add a Webhook action step. Choose “Custom request”, and type in the fields like so:
There are four unique pieces of information you will need to provide - your API key, your account key, the job ID (from the trello card description), and the job state (from the Trello list title).
When you are ready, test your webhook, head over to WorkflowMax, and make sure that your job state got updated. If it worked, well done! If not, try going through these steps again, or get in touch with us to ask for help.
Next steps
Now that you know how to update a WorkflowMax job state, you’re ready to try updating different kinds of data in WorkflowMax. You might want to update Clients, Tasks, Suppliers, etc… you can find all the options over in the WorkflowMax API documentation.
There’s lots of possibilities. For example, you could make another zap that automatically adds the WorkflowMax job ID to your Trello cards, so that you don’t have to do it manually. Or you might want to add certain tasks whenever a label is added to a Trello card. Perhaps you’d rather drive WorkflowMax from Asana, or Airtable, instead of using Trello.
If you’re feeling inspired and you’d like support with your next steps, we can help - check out our Zapier coaching offerings. Happy automating!