I posted this as a reply in another thread and thought maybe it would be easier for others to find if I started its own thread. Perhaps if other Workfront users have tips then you can add them here.
When you design your FLOs you should start by thinking about a number of things.
What will be the trigger for the FLO to run?
- Will it run on a schedule? If so, your first Action/Function cards will then need to go and retrieve the data to be processed by the FLO. e.g. a Workfront Object Search card or Read Object card.
- Or, will it run based on a new Record being created or updated in Workfront? (Task/Document/Project) In this case, you can retrieve a lot of fields for that object so you already have some/all of the data that you need.
- Another useful option (which is fairly limited at the moment) is that you can trigger the FLO when a certain field is updated. This is really useful and something that Azuqua will hopefully be enhancing further.
Will the FLO be processing one record at a time, or do you want to process a list of records?
This is configurable on the monitor card at the beginning of the FLO. The setting is called Monitor Mode
This makes a huge difference to the way your FLOs will be structured and you should get your head around this.
You can create sub-FLOs to process a list of records (items). This is usually needed if you have chosen the "Every Time" option in the Monitor Mode setting above. It will then run your sub-FLO to process each item one by one and then control comes back to the main FLO. You can also nest these many levels deep...i.e. sub-sub-sub-FLOs etc.
Get familar with how Lists and Objects work
If you don't come from a programming background like me, it might take a bit of experimentation and coaching to understand. Once you do, another world of options opens up!
Learn how IF/ELSE cards work
You can use these to control the flow based on criteria you specify. You can nest these within each other to handle various combinations of scenarios. A key part of this is to remember that you can then also join the output from the various paths so that you end up with a field (or fields) which you can then pass to following cards.
Advanced - learn how to use HTTP Get cards
If you find you want to do things and there is no Azuqua Workfront card which can do it, then you can actually write queries yourself based on the Workfront API....see the following link for lots of info: http://developers.workfront.com/api-docs/api-explorer/
This is REALLY powerful and also takes a while to learn, but I've found it very useful. You can even retrieve data in one HTTP Get query that would require several regular Workfront cards and sub-FLOs to obtain.
There's lots of other things I can recommend but this is a summary of my journey so far. It took me many hours of experimentation and also a fair amount of guidance from Drew and Derek from Azuqua but it was well worth it.
Enjoy, and yell out if you need more help. The Community didn't exist when we started using Azuqua and I am sure if will help new customers greatly.