The Admin Buttons app sends a webhook every time a button is clicked from one of your admin pages in Shopify. For buttons configured to show up on product detail pages, the app will send the full JSON object for the product, in addition to some extra information about the button and any key-value pairs added in the button configuration.
When testing your webhook, the app will send sample product data from a Shopify test store. When triggering a button from an actual product page in your store, we'll send the corresponding product's data.
Here's what the sample data looks like:
{
"admin_button_context": {
"button_id": "9",
"button_name": "Send to #issues Slack Channel",
"admin_page_type": "Product Detail"
},
"admin_button_custom_attributes": {
"issue_type": "order"
},
"shopify_product": {
"admin_graphql_api_id": "gid://shopify/Product/xxxxxxxxxxxxx",
"body_html": null,
"created_at": "2024-02-27T19:20:57-05:00",
"handle": "green-snowboard",
"id": 7327440044076,
"image": null,
"images": [],
"options": [
{
"id": xxxxxxxxxxxxx,
"name": "Title",
"position": 1,
"product_id": xxxxxxxxxxxxx,
"values": [
"Default Title"
]
}
],
"product_type": "",
"published_at": null,
"published_scope": "web",
"status": "active",
"tags": "",
"template_suffix": null,
"title": "Green Snowboard",
"updated_at": "2024-02-27T19:20:57-05:00",
"variants": [
{
"admin_graphql_api_id": "gid://shopify/ProductVariant/xxxxxxxxxxxxx",
"barcode": null,
"compare_at_price": null,
"created_at": "2024-02-27T19:20:57-05:00",
"fulfillment_service": "manual",
"grams": 0,
"id": xxxxxxxxxxxxx,
"image_id": null,
"inventory_item_id": xxxxxxxxxxxxx,
"inventory_management": null,
"inventory_policy": "deny",
"inventory_quantity": 0,
"old_inventory_quantity": 0,
"option1": "Default Title",
"option2": null,
"option3": null,
"position": 1,
"price": "99.78",
"product_id": xxxxxxxxxxxxx,
"requires_shipping": true,
"sku": "",
"taxable": true,
"title": "Default Title",
"updated_at": "2024-02-27T19:20:57-05:00",
"weight": 0,
"weight_unit": "lb"
}
],
"vendor": "Sample"
}
}