Product
...
Flow's Actions
Actions
29 min
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\ ai action purpose the ai action allows you to intelligently route conversations based on user intent by using prompt based ai classification properties action name provide a unique name for the action (e g , “intent classifier” or “ai triage”) source group define the scope of message sources all analyze content from all sources inbox limit input to messages coming from the inbox only prompt instructions add a clear and specific prompt to guide the ai example “return one word sales, support, or feedback based on the user’s message ” intent configuration add one or more intent options, each with id the exact word the ai must return to match this intent label a human readable label for internal use (e g , “support request”) intent condition prompt the condition or logic used to guide the ai's understanding of this intent (e g , “this intent applies if the user asks for help or reports an issue ” use cases auto route users to sales or support based on message content trigger different flows for feedback, complaints, or booking enquiries use ai to reduce manual triaging and speed up response time best practices keep prompts specific and limit possible responses to one word use lowercase intent ids to reduce case mismatch errors test prompts in various scenarios to ensure the ai reliably returns expected outputs avoid overlapping conditions across intents, clarity improves accuracy faqs can i add multiple intents? yes, you can define multiple intent options, each with its own condition and routing can i use the ai action in multilingual flows? yes, but ensure the prompt language matches the expected input to maintain accuracy 2 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 3 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 4 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 5 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 6 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 7 update enquiry field action purpose automatically update enquiry level fields within the crm based on flow triggers or user inputs properties action name specify the action name (e g , "update enquiry stage") field name select from available enquiry fields (e g , enquiry stage, enquiry status, assigned specialist, tags, notes) 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 automatically update the enquiry status when a customer confirms interest assign enquiries to a specific specialist based on location or service selected add internal tags for categorization (e g , “hot lead”, “follow up needed”) add notes to enquiries from dynamic form responses modify enquiry stages as customers progress through the sales funnel faqs can i chain multiple enquiry updates in one flow? yes, you can add multiple update enquiry field actions for different fields within the same flow will updates reflect in the enquiry timeline? yes, all changes will be logged under the enquiry’s history for full transparency 8 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 9 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 10 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 11 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 12 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 13 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 " 14\ 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 15\ 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 16 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 17\ 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 18\ 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 19\ end flow purpose stops the current flow from proceeding beyond a specific point use this when no further steps are required after a condition or action properties action name give the action a descriptive name (e g , "end flow after confirmation") use cases end the flow after a customer confirms their appointment and no additional follow up is needed stop the automation if a user selects “not interested” in a response flow use as a failsafe to halt automation for unqualified leads exit the flow after updating crm fields or assigning a task break the flow for contacts who have already been contacted via another channel faqs will the flow resume later after it ends? no, once the flow hits an end flow action, it stops permanently unless restarted by a new trigger can i add an end flow action after a conditional step? trigger a follow up flow using "wait" and "message" actions