🔀Workflows

Common Use Cases

  • Escalation reminders for no response

  • Notifications to managers about SLA breaches

  • Commitment reminders for no follow-up

  • Auto responses to customer requests/tickets

  • Out-of-office messages for after-hours requests

  • Notifications to external webhooks (e.g., another Slack workspace, Pager Duty)

Setup

Workflows are configured at a Collection level. Go to your Collection -> Select Workflows from the navigation menu at the top. Click on Add workflows to this collection to start creating a workflow.

If you already have workflows configured for your Collection - you should see a New Workflow button on the top-right corner.

Parameters

Workflow consists of Conditions -> Timer -> Actions. For any request/ticket that satisfies the conditions, ClearFeed waits for the specified timer and then proceeds with the Action.

  1. Conditions:

    • Trigger for:

      • All Requests - Workflow triggers on all requests

      • Only Tickets - Workflow triggers only on requests that are converted into a ticket

    • Priority: All, Urgent, High, Normal, Low

    • Request Types:

      • All: Workflow triggers on new requests and follow up comments

      • New: Workflow triggers only for new requests

      • Follow Up: Workflow triggers only for follow up comments

    • Request created during: Any Time or Outside Business Hours

  2. Set a Timer: Workflow triggers after the amount of time specified.

  3. Actions:

    • DM teammate on Slack

    • Post a channel message

    • Post a triage channel message

    • Webhook (Send an HTTP POST request to an external webhook)

    • Respond to the ticket with a message

    • DM the request assignee on Slack

You can Enable/Disable, Edit, and, Delete a workflow by hovering over the created workflow and accessing the toggle and buttons as shown below:

Reminders

Alerts/notifications that can be configured to be sent on Slack. These are useful for tracking tickets/requests that are pending response from the support team.

Primarily relevant when you are using ClearFeed as a stand-alone Helpdesk.

Use Cases

  1. SLA reminders

  2. Escalation reminders

  3. Managers can get these alerts to track open items

Setup

Go to Collection -> Workflows -> click on New Workflow

  1. Select your workflow conditions (learn more about the conditions here).

  2. Select a Timer value

    • If your SLA for first response is 60 mins - set a Timer value to < 60 mins to get an alert if a ticket is Open for that specific amount of time.

  3. Select an Action:

    • DM a teammate on Slack: Choose this and select a person who would get the alert as a DM from the ClearFeed app.

    • Post a channel message: Post the alert in a dedicated Slack channel

    • Post a triage channel message: If you've configured a triage channel for the collection, the alert will be delivered to the triage channel.

    • DM Request Assignee: This would send the alert to the assignee

Note: If the Request Type is set to Only Tickets, then the workflow will be triggered only for tickets in the Open state and other states such as Pending or On Hold.

Auto Responses

Automated responses that are sent back on Slack.

Use Cases:

  • Auto response on every new request/ticket

  • OOO replies for outside business hours

Auto responses can be triggered on the creation of ClearFeed Requests, ClearFeed Tickets, or External Tickets (e.g., Zendesk, Intercom).

Here is what the reply looks like when it's sent to your customers.

If you have white-labeled ClearFeed, instead of the ClearFeed logo and bot name, your bot's logo and name will be visible to the customers.

Note: If you plan to set up OOO messages, ensure the business schedule for the collection is set.

Setup

Go to Collection -> Workflows -> click on New Workflow

  1. Select your workflow conditions (learn more about the conditions here)

  2. If you plan to trigger the workflows for ClearFeed Tickets / External Tikeckets (eg. Zendesk)

    • Select Trigger For -> Tickets Only

  3. Select a Timer value

    • Select 0 mins if you for immediate response

  4. Select the Action -> Respond with a Message

  5. Customize the message you want to send and publish the workflow.

Webhooks

When ClearFeed triggers a webhook workflow, it sends an HTTP POST request with a JSON payload containing various details about the workflow and the associated request. The payload includes the following fields:

  1. version: The version of the payload format. Currently set to '1.0'.

  2. workflow_delay: The delay, in minutes, before the workflow was triggered.

  3. workflow_name: The name of the workflow that was triggered.

  4. workflow_message_ts: The id of the message that triggered the workflow.

  5. workflow_message_text: The text of the message that triggered the workflow.

  6. workflow_message_url: The URL of the message that triggered the workflow.

  7. workflow_message_author_id: The ID of the author of the message that triggered the workflow.

  8. workflow_message_author_name: The name of the author of the message that triggered the workflow.

  9. request_id: The ID of the request associated with the workflow.

  10. request_state: The state of the request associated with the workflow.

  11. request_title: The title of the request associated with the workflow.

  12. request_priority: The priority of the request associated with the workflow.

  13. request_thread_ts: The ID of the thread where the request message was sent.

  14. request_thread_url: The URL of the thread where the request message was sent.

  15. request_channel_id: The ID of the channel where the request was received.

  16. request_channel_name: The name of the channel where the request was received.

  17. request_collection_id: The ID of the collection that contains the channel where the request was received.

  18. request_collection_name: The name of the collection that contains the channel where the request was received.

Example Payload:

{
  "version": "1.0",
  "workflow_delay": "15",
  "workflow_name": "Escalation Reminder",
  "workflow_message_ts": "1669086095.123456",
  "workflow_message_text": "This is the message that triggered the workflow.",
  "workflow_message_url": "https://clearfeed.slack.com/archives/C0ABCD123/p1669086095123456",
  "workflow_message_author_id": "U12345",
  "workflow_message_author_name": "John Doe",
  "request_id": 123,
  "request_state": "Open",
  "request_title": "Need assistance with XYZ",
  "request_priority": "high",
  "request_thread_ts": "1669086095.987654",
  "request_thread_url": "https://clearfeed.slack.com/archives/C0ABCD123/p1691040592308569?thread_ts=1669086095.987654",
  "request_channel_id": "C0ABCD123",
  "request_channel_name": "clearfeed_swiftcorp_solutions",
  "request_collection_id": 123,
  "request_collection_name": "Premium Customer Channels"
}

Webhook Headers

To verify the authenticity of the request source, ClearFeed adds the following headers to the HTTP POST request:

  1. X-Cf-Signature: A signature generated using a secret key known only to ClearFeed and the receiving server. You can use this signature to verify that the request has not been tampered with and originated from ClearFeed.

  2. X-Cf-Timestamp: The timestamp indicates the exact time the request was sent. You can use this timestamp along with the signature to validate the request's freshness and prevent replay attacks.

To validate that webhook requests you receive originated from ClearFeed, read more details here.

Testing Webhook Payload

If you want to send a test payload, you can do this by executing a cURL command such as the one shown below:

curl --location 'https://www.example.com' \
--header 'Content-Type: application/json' \
--data '{
    "version": "1.0",
    "workflow_delay": "15",
    "workflow_name": "Escalation Reminder",
    "workflow_message_ts": "1669086095.123456",
    "workflow_message_text": "This is the message that triggered the workflow.",
    "workflow_message_url": "https://clearfeed.slack.com/archives/C0ABCD123/p1669086095123456",
    "workflow_message_author_id": "U12345",
    "workflow_message_author_name": "John Doe",
    "request_id": 123,
    "request_state": "Open",
    "request_title": "Need assistance with XYZ",
    "request_priority": "high",
    "request_thread_ts": "1669086095.987654",
    "request_thread_url": "https://clearfeed.slack.com/archives/C0ABCD123/p1691040592308569?thread_ts=1669086095.987654",
    "request_channel_id": "C0ABCD123",
    "request_channel_name": "clearfeed_swiftcorp_solutions",
    "request_collection_id": 123,
    "request_collection_name": "Premium Customer Channels"
}'

Zapier - To use webhook action workflow with Zapier, use the Zapier endpoint URL as the webhook URL. Verify the webhook action before establishing the Zapier connection. Use the provided payload for configuration.

Commitments

ClearFeed uses AI to automatically find commitments in responder messages.

How it works?

  • The system will automatically analyze the response from the responders to see if they have made any commitments.

  • For example, if the support team says "We're working on it and will get back to you as soon as it's fixed," the system will track this as a commitment and classify the request as Pending on you status internally.

  • A reminder is sent exactly 24 hours after the commitment message is sent.

  • The external state of the request will be In Progress

Example Messages

  • Let me check with the team and let you know

  • Will update once there are finer notes on the implementation

  • Suspecting a possible bug here, I'll have to check with the engineering team and confirm

  • Yes, that makes sense. Let us look into this point for the threaded messages

These workflows are enabled automatically for all requests. Here's what a commitment reminder on the triage channel looks like:

Once there is a response from the responder/support on the request, this reminder will be dismissed automatically since the commitment was fulfilled.

Last updated