Custom Actions let the AI agent call external webhooks to perform real operations — like applying a discount, logging a bug, or notifying your team — directly from a conversation. Below are 11 templates with step-by-step setup instructions for each.
To set up any of these, go to AI Agent → Actions → + Custom Action.

1. Flag a fraudulent order
When a customer reports they didn't place an order or their account was used without their permission, the AI flags the order in Shopify or your fraud management tool for immediate review.
Setup:
-
Name: Flag a fraudulent order
-
Description: Use when a customer reports an order they did not place, suspects their account has been compromised, or reports unauthorized use of their payment details.
-
Webhook URL: A Make/Zapier webhook connected to Shopify or your fraud management tool
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
order_number(string, required) — The order number being flagged as fraudulent -
details(string, optional) — Any additional details the customer provided about the fraud
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"order_number": "{{order_number}}",
"details": "{{details}}"
}
2. Tag customer in Klaviyo
When a customer opens a new support ticket, tag them in Klaviyo to trigger a follow-up email flow (e.g. a post-support check-in sequence).
Setup:
-
Name: Tag customer in Klaviyo
-
Description: Use when a new conversation is created with a customer to add a "contacted support" tag in Klaviyo.
-
Webhook URL: A Make/Zapier webhook connected to the Klaviyo API
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
tag(string, required) — The tag to apply (e.g. "contacted-support")
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"tag": "{{tag}}"
}
3. Update customer tags in Shopify
After a conversation outcome (refund given, churn, complaint resolved), update the customer's tags in Shopify to keep your store data accurate.
Setup:
-
Name: Update customer tags in Shopify
-
Description: Use after a conversation is resolved to apply relevant tags to the customer in Shopify based on the outcome (e.g. "refunded", "churned", "vip-escalation").
-
Webhook URL: A Make/Zapier webhook connected to the Shopify customer update API
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
tag(string, required) — The tag to apply in Shopify
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"tag": "{{tag}}"
}
4. Create or update a contact in HubSpot
When a new customer reaches out, automatically create or update their contact record in HubSpot so your CRM stays in sync.
Setup:
-
Name: Create or update contact in HubSpot
-
Description: Use when a new customer contacts support for the first time to create or update their record in HubSpot.
-
Webhook URL: A Make/Zapier webhook connected to the HubSpot contacts API
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
first_name(string, optional) — Customer's first name -
last_name(string, optional) — Customer's last name -
note(string, optional) — A note to add to the contact record
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"first_name": "{{first_name}}",
"last_name": "{{last_name}}",
"note": "{{note}}"
}
5. Log shipping issues to Google Sheets
Every time a customer reports a shipping problem, log it automatically to a Google Sheet for tracking and reporting.
Setup:
-
Name: Log shipping issues to Google Sheets
-
Description: Use when a customer reports a shipping issue such as a lost parcel, wrong item, or delayed delivery.
-
Webhook URL: A Google Apps Script web app URL or Make/Zapier webhook connected to Google Sheets
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
order_number(string, required) — The affected order number -
issue(string, required) — A short description of the shipping issue
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"order_number": "{{order_number}}",
"issue": "{{issue}}"
}
6. Log feature requests to Notion
When a customer suggests a new feature or improvement, log it directly to a Notion database so your product team can review it.
Setup:
-
Name: Log feature request to Notion
-
Description: Use when a customer explicitly suggests a new feature or product improvement. Do not use for bug reports or general complaints.
-
Webhook URL: A Make/Zapier webhook connected to the Notion API
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
feature_request(string, required) — A summary of the feature the customer is requesting
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"feature_request": "{{feature_request}}"
}
7. Create a bug report in Jira
When a customer reports a broken feature, automatically create a Jira ticket with the conversation details pre-filled so your engineering team can act on it.
Setup:
-
Name: Create bug report in Jira
-
Description: Use when a customer reports a software defect — something broken that is likely to affect other users too. Do not use for account-specific issues or setup questions.
-
Webhook URL: A Make/Zapier webhook connected to the Jira issue creation API
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
bug_description(string, required) — A clear description of the bug as reported by the customer -
severity(string, optional) — Severity level: low, medium, or high
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"bug_description": "{{bug_description}}",
"severity": "{{severity}}"
}
8. Log churn risk to a spreadsheet
When a customer mentions cancelling or switching to a competitor, log them as a churn risk so your retention or sales team can follow up.
Setup:
-
Name: Log churn risk
-
Description: Use when a customer mentions cancelling their subscription, switching to another product, or expresses strong dissatisfaction that suggests they may leave.
-
Webhook URL: A Make/Zapier webhook connected to Google Sheets or your CRM
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
reason(string, required) — Why the customer is considering leaving
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"reason": "{{reason}}"
}
9. Send a Slack alert for VIP customers
When a VIP customer opens a ticket, immediately post a message to a dedicated Slack channel so your senior team can jump in fast.
Setup:
-
Name: Slack alert for VIP customer
-
Description: Use when a customer tagged as VIP or enterprise opens a new conversation.
-
Webhook URL: Your Slack incoming webhook URL (create one at api.slack.com/apps)
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
customer_name(string, optional) — The customer's name -
issue_summary(string, required) — A brief summary of the issue
-
-
Request template:
{
"text": "🚨 VIP customer alert: {{customer_name}} ({{customer_email}}) — {{issue_summary}}"
}
10. Notify fulfillment team about wrong items
When a customer reports receiving the wrong item, send an automated alert to your warehouse or fulfillment team so they can act immediately.
Setup:
-
Name: Notify fulfillment — wrong item received
-
Description: Use when a customer reports they received the wrong item in their order.
-
Webhook URL: A Make/Zapier webhook that sends an email or Slack message to your fulfillment team
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
order_number(string, required) — The affected order number -
item_received(string, optional) — What the customer received -
item_ordered(string, optional) — What the customer actually ordered
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"order_number": "{{order_number}}",
"item_received": "{{item_received}}",
"item_ordered": "{{item_ordered}}"
}
11. Create a follow-up task in Asana
For complex issues that can't be fully resolved in the conversation, create an Asana task assigned to the right team member so nothing falls through the cracks.
Setup:
-
Name: Create follow-up task in Asana
-
Description: Use when a customer's issue requires follow-up action beyond the conversation, such as an investigation, a callback, or a manual process that needs to be completed later.
-
Webhook URL: A Make/Zapier webhook connected to the Asana task creation API
-
HTTP method: POST
-
Parameters:
-
customer_email(string, required) — The customer's email address -
task_description(string, required) — What needs to be done as a follow-up -
assignee(string, optional) — The team member to assign the task to -
due_date(string, optional) — When the task should be completed
-
-
Request template:
{
"customer_email": "{{customer_email}}",
"task_description": "{{task_description}}",
"assignee": "{{assignee}}",
"due_date": "{{due_date}}"
}