Sell from n8n
This example builds an n8n workflow that creates a listing, registers a webhook, and sends a Slack message each time an order is paid. It covers the two most common ListBee actions in n8n: creating content to sell and reacting to payments.
Prerequisites
- n8n instance with
n8n-nodes-listbeeinstalled (see n8n setup) - ListBee API key from console.listbee.so
- Slack credential configured in n8n
Workflow steps
1. Manual trigger (or schedule)
Start with a Manual Trigger node to run the setup once. Swap it for a Schedule node if you want to create listings on a recurring basis.
2. Create the listing
Add a ListBee node:
- Resource: Listing
- Operation: Create
- Name:
Weekly Report Template - Price:
4900(cents — $49.00) - Description:
A plug-and-play template for weekly business reviews.
The node outputs the listing object. Use {{ $json.id }} to reference the listing ID in downstream nodes.
3. Register a webhook
Add a second ListBee node:
- Resource: Webhook
- Operation: Create
- URL: your n8n Webhook node URL (see step 4)
- Events:
order.paid
Note the id from the response (wh_...) — you can use it later to update or delete the webhook.
4. ListBee Trigger — receive orders
In a separate workflow, add a ListBee Trigger node:
- Event:
order.paid - Webhook URL: copy this URL and paste it into the webhook you created in step 3
This node activates whenever ListBee delivers an order.paid event. The full order payload is available in $json.
5. Send a Slack message
Connect a Slack node after the trigger:
- Resource: Message
- Operation: Post
- Channel:
#sales - Text:
Order payload shape
When order.paid fires, the event body looks like:
Use $json.payload.buyer_email, $json.payload.amount, and $json.payload.listing_snapshot.name in Slack messages, Google Sheets rows, or any other downstream node.
Variations
Filter by listing — add an IF node after the trigger to handle events from specific listings only:
Fulfill generated content — for listings without deliverables, use the ListBee node with Operation: Fulfill after generating content, passing order_id and the content to deliver.
Write to a spreadsheet — replace the Slack node with a Google Sheets node to log every order to a sheet.