Product
...
Managing Flows
Actions & Examples
Actions
16min
in sanoflow's flows module, each action represents a specific function that can be triggered within an automated workflow these actions facilitate various operations from communication with clients to data management and task delegation 1\ message action purpose send messages directly to clients supports text, images, videos, and attachments properties action name assign a unique name to the action for identification message type text plain text messages media images, videos, or audio files attachment upload files (e g , pdfs or brochures) content enter the text message directly attach multimedia files using the upload option optional fields add placeholders like {firstname} for dynamic content use cases send a personalized welcome message share product catalogs as pdfs or image based brochures faqs can i use emojis in text messages? yes, emojis are supported in text content what happens if the attachment fails to upload? the action retries or triggers an error flow, depending on configuration 2\ question action purpose facilitate interactive communication by collecting client input properties action name name the action (e g , "customer feedback") question type text input open ended responses multiple choice predefine options for clients to select numerical input accept numbers only validation options ensure input meets specific formats (e g , email, phone number) error handling customize error messages for invalid inputs define retry limits use cases gather feedback on customer service quality ask for delivery preferences (e g , "home" or "office") faqs can i save client answers to their profiles? yes, pair this action with "update contact field " what happens if the client doesn’t respond? use a "wait" action to add follow up messages 3\ branch action (conditional logic) purpose add conditional logic to workflows for different outcomes properties action name define a descriptive name for the branch conditions message content trigger based on text (e g , "contains refund") profile data use saved fields like customer tags, location, or email custom variables evaluate values passed during interaction paths define outcomes for matched and unmatched conditions add multiple conditions for complex workflows use cases route dissatisfied customers to a support team offer location specific promotions (e g , “us clients get free shipping”) faqs can i use multiple conditions in one branch? yes, combine conditions using and/or logic what happens if none of the conditions are met? create a default path for unmatched scenarios 4\ assign to action purpose automatically assign tasks, chats, or enquiries to team members properties action name label the action (e g , "assign to sales") assignment method team choose a department (e g , sales, support) individual assign to a specific team member auto rotation enable round robin assignment to balance workloads fallback assignment define backup assignee if no one is available use cases assign incoming enquiries to the appropriate department route high priority tasks directly to senior staff faqs can i exclude specific members from the rotation? no, rotations apply to all members in the team what if no one is available? the task is routed to the fallback assignee 5\ update contact field action purpose automatically update contact fields in the crm properties action name specify the action name (e g , "update email") field name select from available fields (e g , email, phone, tags) new value static enter predefined values dynamic use placeholders like {input} or {question response} overwrite rules decide whether to overwrite existing data or append new values use cases update customer preferences based on survey responses tag users for targeted marketing campaigns faqs can i create custom fields? yes, define custom fields in the crm settings what if the new value is empty? the action skips updates for blank inputs 6\ api action purpose integrate with external apis to fetch or push data properties action name identify the api action (e g , "fetch appointments") api url add the endpoint url http method choose get, post, put, or delete headers add authentication tokens or metadata payload define request body parameters for post/put methods error handling set fallback actions for failed api calls use cases fetch real time shipping data from external systems push customer feedback to analytics platforms faqs does this support secure apis? yes, use headers for authentication (e g , bearer tokens) what happens if the api server is down? fallback actions are triggered 7\ close conversation action purpose automatically end a chat session when completed properties action name name the closure action (e g , "close chat") closure reason add predefined reasons (e g , "resolved" or "no response") trigger feedback survey optionally send a survey after closure use cases close inactive chats after 15 minutes end resolved customer service sessions faqs can i reopen closed conversations? yes, use the "assign to" action what happens if the client responds after closure? the conversation can be reopened automatically 8\ wait action purpose pause the workflow for a defined duration properties action name define the action (e g , "wait for 5 minutes") time value specify the wait duration (e g , 5, 10, 60) unit choose minutes, hours, days, or weeks use cases delay reminders for unpaid invoices schedule follow up messages after customer inactivity faqs what is the maximum wait duration? up to 30 days for most platforms can wait durations be dynamic? no, wait times must be predefined 9\ template action purpose send pre approved message templates properties action name name the action (e g , "promo template") template name choose from available templates (e g , appointment reminder) placeholders fill dynamic placeholders (e g , {name}, {date}) use cases send order confirmations notify clients of upcoming appointments faqs can templates be edited dynamically? no, templates must be approved by the platform are templates platform specific? yes, they are typically approved for whatsapp, messenger, etc 10\ run flow action purpose trigger another flow from within the current workflow, enabling the creation of nested or modular flows properties action name name the action (e g , "run post purchase flow") channel specify the channel (e g , whatsapp, messenger) flow select the specific flow to be triggered from the dropdown menu data mapping define variables or data to pass into the triggered flow (e g , {customerid}) error handling specify what happens if the flow cannot be triggered (e g , fallback to another action) use cases after resolving a customer enquiry, trigger a satisfaction survey flow when a specific condition is met (e g , a customer opts in for a newsletter), activate a promotional flow faqs can i pass dynamic variables to the triggered flow? yes, map variables such as {customername} or {orderid} in the data mapping field what happens if the triggered flow is unpublished? an error is logged, and fallback actions (if defined) are executed 11\ create enquiry action purpose automatically generate a new enquiry in the system to track customer requests or issues properties action name define the action (e g , "new support enquiry") pipeline select the pipeline where the enquiry will be created (e g , "sales funnel") title provide a title for the enquiry (static or dynamic, like {customerissue}) tags add tags to categorize the enquiry (e g , “high priority”) contact existing attach the enquiry to an existing contact profile new create a new contact if none exists assignment auto automatically assign based on pipeline rules select assign manually to a team or individual custom fields add specific details like "outlet name" or "order number " use cases create an enquiry for every refund request to track the resolution generate service tickets for product related complaints faqs can i associate an enquiry with multiple tags? yes, use commas to separate tags when adding them what happens if the contact is missing? the action will create a new contact if set to "new " 12\ add comment action purpose add internal comments to a conversation or enquiry for reference or documentation properties action name name the action (e g , "add internal note") comment enter the comment text dynamic placeholders (e g , {agentname}) can be used use cases document a client’s special preferences or requests for future reference add context to an enquiry for the next team member to pick up seamlessly faqs can clients see these comments? no, comments are internal and not visible to clients can i add comments to multiple enquiries simultaneously? no, comments are tied to individual conversations or enquiries 13\ add task action purpose create tasks in the system to ensure follow ups or specific actions are completed properties action name define the task (e g , "follow up call") task type task general tasks for follow ups or reminders call specific tasks requiring a phone call task time now create a task immediately custom set a specific date and time for the task mark as done enable this option to auto complete the task after execution assign to select a team or specific user to handle the task description add detailed instructions or context for the task use cases schedule a follow up call with a lead after an enquiry set a task for the support team to check on a client’s unresolved issue faqs can i assign the same task to multiple users? no, tasks are assigned to one user or team at a time what if no one is available for the task? the task remains unassigned until manually allocated 14\ office hours check action purpose check team or department availability based on office hours properties action name specify the action name (e g , "office hours verification") team select the team whose office hours should be checked (e g , "support team") outcome paths inside define the next action if within office hours outside define the next action if outside office hours use cases route clients to live agents during office hours and chatbots outside office hours notify clients when a team will next be available if they message outside working hours faqs can i set different office hours for different teams? yes, office hours are configured per team what happens on public holidays? public holiday hours need to be configured manually 15\ send notification action purpose notify internal teams or users about specific actions or events properties action name define the notification action (e g , "notify sales team") team select the team to receive the notification user optionally, specify an individual user notification type email send notifications via email browser trigger browser notifications alert create in app alerts notification category inbox notify about new conversations enquiries notify about new or updated enquiries integrations notify about external api related updates notification message enter the content of the notification (can include placeholders) use cases notify the sales team of a new high priority lead alert the support team when a client enquiry is overdue faqs can i send notifications to external emails? no, notifications are limited to internal teams and users what happens if the user doesn’t see the notification? notifications remain in the system until dismissed 16\ send payment link action purpose send a payment link to clients for transactions properties action name name the action (e g , "send payment request") payment provider clickpay generate payment links via clickpay stripe generate payment links via stripe amount enter the payment amount (static or dynamic) currency specify the currency (e g , usd, eur) use cases request payment for a product or service during a conversation send automated payment reminders for overdue invoices faqs can i track payment status? yes, payment providers usually sync payment statuses back to the system what happens if the client doesn’t complete the payment? trigger a follow up flow using "wait" and "message" actions