To use channel actions at their full power, you must understand how channel actions function when used inside different Flows. Flow types have specific goals. Some perform clear functions, like sending one time blasts. Others are for broader goals, like keeping audiences in sync between two systems.

As a result, flow types inherently determine what a channel action can accomplish. This logic varies depending on the flow.


When you choose a channel action, think about how you'd like to use it and verify in the table below that it will work as expected in your chosen flow type.

Flow TypeFunctionData HandledLogic
**One Time**Sends data once at send time Messages or contactsDoesn't update or remove data
**Triggered**_By segment membership:_ Sends data, when a newly added contact joins a segment _By an event:_ Sends data, once when a contact performs a specific eventMessages or contactsDoesn't update or remove data
**Stream** Adds or removes data, when your <<glossary:Data Pipe>> updates for all **newly** added or removed contactsContacts onlyDoesn't update data
**Recurring** _For messages_: Sends on a schedule, for all newly added contacts _For contacts_: Adds, updates, or removes contacts and their content on a schedule for all newly added, updates, or removed contactsMessages or contacts_For messages_: Doesn't update or remove messages