Workflow for saving nested tasks in 2Do

I used to work for a meat market in southern Louisiana where we would process animals for people. My boss had this convoluted system of taking orders and keeping up with where we were in the process. I offered to try and make it easier for him with Workflow and 2Do.

2Do offers an option for actions like email, calling, or urls as a part of a task. I used the url function to create more tasks via x-callback-urls when the action button was pushed. It didn’t really work all the time, and I could never figure out why. (The problem was somewhere in the x-callback-urls somewhere, it would work flawlessly some of the time and crash and burn other times.)

The only reason I did this whole complex thing is because I had saved searches in 2Do. Each search was one step in the process. The idea was to push the action button to create the next task in the process, then mark the current task as completed. That way, when you selected one of the saved searches you would see every customer who was at that step in the process. We wanted it like that because we had people who only had responsibility for one or two steps in the system. They could go to the iPad and see what was ready for them to do. Then, when they were finished, they would push the action button and keep the system running smoothly.

Anyway, the workflow is at the included link. If anyone has any pointers to make it work better, that would be cool. Also, I put a lot of effort into this thing and, because it was never reliable enough, it was never implemented. I though it was a cool idea in practice, and this was the project that I fell in love with automation doing.


Sounds pretty cool to me, but I’m having trouble myself with workflow so I’m no help to you.

The Original Workflow
In terms of the workflow provided, from what I can see there are a lot of random looking chained variables being set and a mass of redundant URL encodes. The menus I think I followed okay, but I’ve a feeling there could be a way of simplifying that too; though that may not actually be worth the effort to do so.

I’m reasonably familiar with Workflow but struggled trying to follow some of the logic and what you are actually trying to get from the contact - presumably things like name, e-mail address, telephone number.

To be honest, I think the best thing to do would be to simplify what you are trying to achieve and build it out piece by piece.

The Approach
If you have a business order, this has a sequence of tasks to deliver it. Why not enter all the tasks at the start and then tick them off as you go? Why only create the tasks after completing the previous one? All I could think was that this might be to do with the way you intend to use task filters and people then not seeing the previous task complete perhaps?

Therefore, if, and only if, you have to have tasks generating other tasks as it progresses and not in advance start with a simple case that you can test and then build that out one stage at a time.

A Simplified Example
If you do need to have 2Do create it’s own tasks from internal links, I would suggest you start with a simplified version. I’m not a 2Do user, but I think this workflow I put together does the sort of thing you are trying to do.

When run it creates a task in 2Do called “Task 1”. This task has a link in it to create another 2do task called “Task 1.1” - a second generation task. When created, “Task 1.1” contains a link to create a new task in 2Do called “Task 1.1.1” - a third generation task.

I think that’s what you were getting at with the nested tasks; nesting task creation rather than just nesting tasks within projects, etc.

Next Steps
If that is the case, then I would suggest the next thing to do might be to link it up to your contact selection and just run it for one contact for now. Pick out the contact details you want from the contact and embed those into the 2Do action step in the workflow and/or the x-callback urls as appropriate.

After that take a look at the menuing and using that to further tailor your tasks.

Finally use a repeat for each to process each contact. I would actually consider perhaps breaking some of these out into separate workflows. If noting else I could then allow myself an additional use case to share a contact from the share sheet rather than having to select them.

Hope that helps.