# Workflow Automation: Using Collectors, Logic & Actions

**Collectors** grab Podio data from other *Items*, **Logic** is how *Field* data is manipulated and **Actions** are the final steps required to complete the workflow. (see below for more in-depth descriptions of each).

## What are Actions?

Since Podio restricts their API usage, we have to restrict this to our customers. We chose "actions" as a simpler to understand concept rather than API calls.

> You will see the count in each step as (a=1). This means that this step costs 1 action on your usage. Add all these amounts in your flow to see how many actions this flow will cost you. If you are using a For Each loop or a Referenced item action, you will see this count as (a=n). This means that this action will count as many actions as the number of items to perform the action on.

![Alt text](https://www.progress.com/podio/documentation/assets/4c68d2abcb123adad1009edbdb94b03e/image-340.png)

## What are the Action Limits?

The limit per month and per hour is the number of actions that can be processed until the account is suspended. If you exceed this limit, the current flow will complete but no further flows are triggered until the next hour/month.

> Hourly action count is reset at the beginning of each hour and Monthly actions at the beginning of each calendar month. If the account exceeds the allotment, no flows will fire until the next hour or month.

**Emergency Actions:** Please contact Support

## How does it work?

The redundant API queue sends all Podio webhook events to a second location to minimize the chance of losing an event. Since Podio doesn't wait for a response when sending a webhook event, if it didn't reach the destination, nothing would happen and no one would know. With a second location queue, we have a second chance to catch anything like this.

Workflow Automation processes actions synchronously once a webhook event is received, but processes multiple webhook events asynchronously. If you have 3 actions in a flow, it counts as 3 actions, not 1.

## Collectors

1. **Get Previous Revision**  Get the previous revision of a Podio Item *Field*
2. **Get Items Task(s)**  Get all OPEN *Tasks* on the *Item*
3. **Get Referenced Item(s)**  Retrieve the *Fields* of referenced items in another *App* for later use in Actions
4. **Search for Item(s)**  Find Podio *Items* in the current or another *App* for later use in Actions
5. **Get Podio View**  Get Items from a Podio *Team View* for later use in Actions

## Logic

1. **Sort Collected**  Sort Podio *Items* collected in a previous step. This can be used with the **Search for Items** or the **Get Referenced Items** collector.
2. **Clear Collected Items**  Forget Podio *Items* found by a previous collector step.
3. **Custom Variable/Calc**  Create a variable from a Podio Item *Field*, using a custom calculation, for later use in another *Field* type.
4. **If (Sanity Check)**  Create an IF Statement in PHP notation to determine if the flow should continue to run after the collection of data
5. **\</> End If**  End a current **IF (Sanity Check)** condition. Actions after this step are once again executed.
6. **Detail Table**  Create an HTML detail table from collected *Items* within a Podio *App*
7. **For Each**  Execute the actions "for each" found *Item* from a collector in a previous step.
8. **\</> Continue**  Stop a **For Each** loop here and continue with the actions on the current item. Actions after this step are executed once only.
9. **Wait(Delay)**  Pause the flow for 30 seconds. When searching for items or deleting items, this could be helpful.

## Actions

1. **Send Message**  Send a Podio *Chat Message* to a Podio User.
2. **Assign a Podio Task**  Assign a native Podio *Task* to a Podio User.
3. **Add Comment**  Create a *Comment* for the current Podio *Item*.
4. **Make a PDF**  Create a new PDF **(.pdf)** file and attach it to the current Podio *Item*.
5. **Attach File(s)**  Attach a file or files from previously collected *Items*.
6. **Send Email**  Send an email to anyone.
7. **Send SMS Text**  Send an SMS Text Message.
8. **Update Item**  Update specific *fields* of the current Podio *Item*.
9. **Share Item**  Share this Podio *Item* with an external contact.
10. **Delete Item**  Delete the current Podio *Item*.
11. **Complete Item Task(s)**  Complete any or all OPEN ***Podio** Tasks*.
12. **Delete Item Task(s)**  Delete any or all OPEN ***Podio** Tasks*.
13. **Delete Comment** - *New Comment trigger type flows only*  Delete the triggering comment on an *Item*.
14. **Delete File(s)**  Delete a file or files attached to an *Item*.
15. **Trigger Flow on Current**  Trigger another Flow manually in this *App* on the current *Item*.
16. **Create Item**  Create a new *Item* in another Podio *App*.
17. **Build Excel Sheet**  Create an Excel **(.xls)** file from collected *Items* within a Podio *App* and attach to the current Podio *Item*
18. **Trigger Flow on Related**  Trigger another Flow manually on a referenced *Item* in this *App* or another *App*.
19. **Trigger Flow on Collected**  Trigger another Flow manually on collected *Items* in an *App*.
20. **Update All Referenced**  Update ALL referenced *Item(s)* in another *App*.
21. **Update Collected**  Update the found *Item(s)* in another *App* collected in a previous step.
22. **Comment on Collected**  Create a *Comment* on all found *Items* in another *App* collected in a previous step.
23. **Remote POST/GET**  Send data to a remote script via GET or POST and capture the result.
24. **Display Page** - *External Link type flows*  Display a message on a web page to a user who clicked a special link.
