Lead alerts for Slack, Teams, email and any API

The 11 alerts sales teams set up most, ready to copy. Send each one to Slack with the drafted reply and Accept or Edit buttons, to a Microsoft Teams channel, to any inbox by email, or to your own tools and database with an API call. Add more actions to the same workflow and one positive reply updates the CRM, pushes the dialer and starts the next workflow too.

Positive reply, with the AI draft to approve

The default for most sales teams. Every positive reply lands in Slack with the prospect's message and the drafted answer, and the rep approves or edits it without leaving Slack.

When: Incoming Message

Only if:

  • Label sentiment equals positive

Message fields:

namejob_titlecompany_namelabel_namestextcampaign_namethread_url

Show draft is on, so the card carries the drafted reply with Accept and Edit buttons.

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Positive reply, with the AI draft to approve",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "job_title",
        "company_name",
        "label_names",
        "text",
        "campaign_name",
        "thread_url"
      ],
      "show_draft": true
    }
  ]
}
Email: API request
{
  "name": "Positive reply, with the AI draft to approve (email)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "New positive reply",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Positive reply, with the AI draft to approve (webhook)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "job_title",
        "company_name",
        "label_names",
        "text",
        "campaign_name",
        "thread_url"
      ]
    }
  ]
}

Hot lead, with one-click reply buttons

Up to five buttons that each send one of your saved templates, such as your calendar link or pricing, straight from Slack.

When: Incoming Message

Only if:

  • Labels equals Interested or Meeting Request

Message fields:

namecompany_namelabel_namestextthread_url

Each button sends one of your saved templates. Buttons work on the Incoming Message trigger, up to five, through the Master Inbox Slack app.

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Hot lead, with one-click reply buttons",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "labels",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "176479",
          "176478"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "company_name",
        "label_names",
        "text",
        "thread_url"
      ],
      "show_draft": false,
      "action_buttons": [
        {
          "id": "b1",
          "label": "Send my calendar",
          "template_id": 7158,
          "style": "primary"
        },
        {
          "id": "b2",
          "label": "Send pricing",
          "template_id": 7159
        },
        {
          "id": "b3",
          "label": "Ask for best number",
          "template_id": 7160
        },
        {
          "id": "b4",
          "label": "Not now",
          "template_id": 7161,
          "style": "danger"
        }
      ]
    }
  ]
}
Email: API request
{
  "name": "Hot lead, with one-click reply buttons (email)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "labels",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "176479",
          "176478"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "Hot lead replied",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Hot lead, with one-click reply buttons (webhook)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "labels",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "176479",
          "176478"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "company_name",
        "label_names",
        "text",
        "thread_url"
      ]
    }
  ]
}

Call requested, with the phone number

When a prospect asks for a call, post their number so whoever is free can dial in minutes.

When: Add Label

Only if:

  • Labels equals Call/Reply

Message fields:

namecompany_namephonetextthread_url

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Call requested, with the phone number",
  "trigger_type": "add_label",
  "trigger_config": {
    "label_ids": [
      176479
    ],
    "conditions": {
      "c1": {
        "field": "labels",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "176479",
          "176478"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "company_name",
        "phone",
        "text",
        "thread_url"
      ]
    }
  ]
}
Email: API request
{
  "name": "Call requested, with the phone number (email)",
  "trigger_type": "add_label",
  "trigger_config": {
    "label_ids": [
      176479
    ],
    "conditions": {
      "c1": {
        "field": "labels",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "176479",
          "176478"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "Call requested",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Call requested, with the phone number (webhook)",
  "trigger_type": "add_label",
  "trigger_config": {
    "label_ids": [
      176479
    ],
    "conditions": {
      "c1": {
        "field": "labels",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "176479",
          "176478"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "company_name",
        "phone",
        "text",
        "thread_url"
      ]
    }
  ]
}

Meeting booked

Celebrate and prep: post every booking with the time, the meeting link and the campaign that produced it.

When: Meeting Booked

Only if:

  • None

Message fields:

namecompany_namemeeting_timemeeting_urlcampaign_namethread_url

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Meeting booked",
  "trigger_type": "meeting_booked",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "company_name",
        "meeting_time",
        "meeting_url",
        "campaign_name",
        "thread_url"
      ]
    }
  ]
}
Email: API request
{
  "name": "Meeting booked (email)",
  "trigger_type": "meeting_booked",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "Meeting booked",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Meeting booked (webhook)",
  "trigger_type": "meeting_booked",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "company_name",
        "meeting_time",
        "meeting_url",
        "campaign_name",
        "thread_url"
      ]
    }
  ]
}

Meeting no-show

Tell the rep the moment a prospect misses the call, so the rebook goes out the same hour.

When: Meeting No-show

Only if:

  • None

Message fields:

namecompany_namemeeting_timethread_url

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Meeting no-show",
  "trigger_type": "meeting_no_show",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "company_name",
        "meeting_time",
        "thread_url"
      ]
    }
  ]
}
Email: API request
{
  "name": "Meeting no-show (email)",
  "trigger_type": "meeting_no_show",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "No-show",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Meeting no-show (webhook)",
  "trigger_type": "meeting_no_show",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "company_name",
        "meeting_time",
        "thread_url"
      ]
    }
  ]
}

Positive reply still waiting on you

An SLA alert: the prospect replied with interest and nobody has answered after a few hours.

When: Due Reminder

Only if:

  • Label sentiment equals positive
  • Last message from equals prospect

Message fields:

namecompany_namelabel_namestextthread_url

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Positive reply still waiting on you",
  "trigger_type": "due_reminder",
  "trigger_config": {
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "last_msg_from",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "prospect"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "company_name",
        "label_names",
        "text",
        "thread_url"
      ]
    }
  ]
}
Email: API request
{
  "name": "Positive reply still waiting on you (email)",
  "trigger_type": "due_reminder",
  "trigger_config": {
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "last_msg_from",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "prospect"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "Still waiting on a reply",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Positive reply still waiting on you (webhook)",
  "trigger_type": "due_reminder",
  "trigger_config": {
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "last_msg_from",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "prospect"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "company_name",
        "label_names",
        "text",
        "thread_url"
      ]
    }
  ]
}

Target account replied

Watch a list of named accounts and alert the account executive when anyone from those companies replies, positive or not.

When: Incoming Message

Only if:

  • Company domain equals your target account domains

Message fields:

namejob_titlecompany_namelabel_namestextthread_url

Show draft is on, so the card carries the drafted reply with Accept and Edit buttons.

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Target account replied",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "domain",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "northwind.com",
          "tallbridge.com"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "job_title",
        "company_name",
        "label_names",
        "text",
        "thread_url"
      ],
      "show_draft": true
    }
  ]
}
Email: API request
{
  "name": "Target account replied (email)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "domain",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "northwind.com",
          "tallbridge.com"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "Target account replied",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Target account replied (webhook)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "domain",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "northwind.com",
          "tallbridge.com"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "job_title",
        "company_name",
        "label_names",
        "text",
        "thread_url"
      ]
    }
  ]
}

Positive replies routed to each team's channel

One workflow per team: Enterprise campaigns to #enterprise-sales, EMEA campaigns to #emea-sales, each with its own Slack channel link.

When: Incoming Message

Only if:

  • Label sentiment equals positive
  • Campaign name contains Enterprise

Message fields:

namecompany_namelabel_namescampaign_nametextthread_url

Show draft is on, so the card carries the drafted reply with Accept and Edit buttons.

Add that team's Slack channel link in the action to post somewhere other than your connected channel.

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Positive replies routed to each team's channel",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "campaign_name",
        "operator": "AND",
        "condition": "contains",
        "values": [
          "Enterprise"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "company_name",
        "label_names",
        "campaign_name",
        "text",
        "thread_url"
      ],
      "show_draft": true,
      "slack_webhook_url": "https://hooks.slack.com/services/YOUR/TEAM/CHANNEL"
    }
  ]
}
Email: API request
{
  "name": "Positive replies routed to each team's channel (email)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "campaign_name",
        "operator": "AND",
        "condition": "contains",
        "values": [
          "Enterprise"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "#enterprise-sales: new positive reply",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Positive replies routed to each team's channel (webhook)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "campaign_name",
        "operator": "AND",
        "condition": "contains",
        "values": [
          "Enterprise"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "company_name",
        "label_names",
        "campaign_name",
        "text",
        "thread_url"
      ]
    }
  ]
}

LinkedIn positive reply

Separate alert for LinkedIn replies from HeyReach or connected LinkedIn accounts, with the profile link.

When: Incoming Message

Only if:

  • Label sentiment equals positive
  • Source tool equals HeyReach or LinkedIn

Message fields:

namejob_titlecompany_namelinkedintextthread_url

Show draft is on, so the card carries the drafted reply with Accept and Edit buttons.

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "LinkedIn positive reply",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "source",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "heyreach"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "job_title",
        "company_name",
        "linkedin",
        "text",
        "thread_url"
      ],
      "show_draft": true
    }
  ]
}
Email: API request
{
  "name": "LinkedIn positive reply (email)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "source",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "heyreach"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "LinkedIn reply",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "LinkedIn positive reply (webhook)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      },
      "c2": {
        "field": "source",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "heyreach"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "job_title",
        "company_name",
        "linkedin",
        "text",
        "thread_url"
      ]
    }
  ]
}

Weekday alerts only

Keep the team channel quiet on weekends: alert Monday to Friday, and let weekend replies wait for a Monday reminder.

When: Incoming Message

Only if:

  • Label sentiment equals positive
  • Day of week is Monday to Friday (set in the app)

Message fields:

namecompany_namelabel_namestextthread_url

Show draft is on, so the card carries the drafted reply with Accept and Edit buttons.

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "Weekday alerts only",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "company_name",
        "label_names",
        "text",
        "thread_url"
      ],
      "show_draft": true
    }
  ]
}
Email: API request
{
  "name": "Weekday alerts only (email)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "New positive reply",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "Weekday alerts only (webhook)",
  "trigger_type": "incoming_message",
  "trigger_config": {
    "channel_ids": [
      "-1"
    ],
    "conditions": {
      "c1": {
        "field": "label_sentiment",
        "operator": "AND",
        "condition": "equals",
        "values": [
          "positive"
        ]
      }
    }
  },
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "company_name",
        "label_names",
        "text",
        "thread_url"
      ]
    }
  ]
}

AI draft held for review

When a reply agent holds a draft instead of sending it, tell the team why, so a human picks it up.

When: Draft Held

Only if:

  • None

Message fields:

namecompany_namehold_reasonagent_namethread_url

Send it to: Slack, Microsoft Teams, email, or any tool and database by webhook. Add several actions to send it everywhere at once.

Slack: API request
{
  "name": "AI draft held for review",
  "trigger_type": "draft_held",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "slack_notify",
      "payload_variables": [
        "name",
        "company_name",
        "hold_reason",
        "agent_name",
        "thread_url"
      ]
    }
  ]
}
Email: API request
{
  "name": "AI draft held for review (email)",
  "trigger_type": "draft_held",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "email_notify",
      "email_to": [
        "[email protected]"
      ],
      "email_subject": "Draft held",
      "email_body": "<p>{{name ?? A lead}} from {{company ?? their company}} replied:</p><p>{{message}}</p><p>Labels: {{labels ?? none}}</p><p><a href=\"{{thread_url}}\">Open the conversation</a></p>"
    }
  ]
}
Any API or database: API request
{
  "name": "AI draft held for review (webhook)",
  "trigger_type": "draft_held",
  "trigger_config": {},
  "action_configs": [
    {
      "action_type": "webhook",
      "webhook_url": "https://your-project.supabase.co/functions/v1/new-lead",
      "webhook_payload_variables": [
        "name",
        "company_name",
        "hold_reason",
        "agent_name",
        "thread_url"
      ]
    }
  ]
}

Message fields you can include

Pick any of these for the Slack message: name, first_name, job_title, company_name, email, phone, linkedin, label_names, text, subject, campaign_name, campaign_step, channel, list_name, deal_value, reply_from, location, thread_url, plus meeting_time and meeting_url on meeting triggers.

Slack, email and webhook notifications skip threads whose last message is older than 72 hours, so relabeling an old conversation never wakes the team.

Get these alerts on your own inboxes

Free 7-day POC. Unlimited users on every plan.

Start your free 7-day POC