Product
...
Flows
Managing Flows

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.



Updated 23 Dec 2024
Doc contributor
Did this page help you?