Automations

Trigger custom actions when someone subscribes or cancels. Send emails, grant course access, update spreadsheets—automatically.

What are Automations?

Automations let PayBot send data to external services whenever a subscription event happens. When someone subscribes or cancels, PayBot instantly sends their information to your webhook URL.

🎯 The Problem

You want to do more than just assign Discord roles when someone subscribes—send welcome emails, add them to your course platform, update a spreadsheet, or trigger custom workflows.

✨ The Solution

Connect PayBot to Zapier, Make, n8n, or your own server. Every new subscriber or cancellation triggers your custom automation.

How it works:

  1. You paste a webhook URL from Zapier/Make into PayBot
  2. Someone subscribes to your Discord server
  3. PayBot instantly sends subscriber data to your webhook
  4. Zapier/Make receives the data and runs your automation
  5. Your subscriber gets an email, course access, or whatever you configured!

Available Events

🎉 subscription.created

Fires when someone completes a payment and becomes a subscriber. Includes their Discord info, email, tier details, and payment amount.

❌ subscription.cancelled

Fires when a subscription ends (cancelled or payment failed). Includes how long they were subscribed.

Getting Started

Set up automations in under 5 minutes.

Requirements: Automations are available on all paid PayBot plans (Small, Large, Ultra).

1

Open Automations Settings

Run /setup in your Discord server, select Settings from the dropdown, then choose Automations.

/setup → Settings → Automations
2

Get Your Webhook URL

Create a webhook in your automation tool (Zapier, Make, etc.) and copy the URL. See the Zapier setup guide below for step-by-step instructions.

3

Add Webhook URL

Click "Add Webhook URL" in PayBot and paste your webhook URL.

4

Select Events

Choose which events to receive: new subscriptions, cancellations, or both.

5

Test Your Webhook

Click "Test Webhook" to send a sample payload and verify your automation receives it correctly.

Setting Up with Zapier

Follow these steps to connect PayBot to Zapier. The process is similar for Make, n8n, and other automation tools.

1

Create a New Zap

In Zapier, click "Create Zap" and search for "Webhooks by Zapier" as your trigger app.

Zapier - Select Webhooks by Zapier as trigger
2

Select "Catch Hook"

Choose "Catch Hook" as the trigger event. This receives data from PayBot when events occur.

Zapier - Select Catch Hook trigger event
3

Configure the Trigger

Skip the "Pick off a Child Key" step—PayBot sends structured JSON that Zapier will parse automatically.

Zapier - Configure trigger settings
4

Copy Your Webhook URL

Zapier generates a unique webhook URL. Click "Copy" to copy it to your clipboard. This is the URL you'll paste into PayBot.

Zapier - Copy webhook URL
5

Test & View Data

After pasting the URL in PayBot and clicking "Test Webhook", Zapier will receive the test data. You'll see all the subscriber fields ready to use in your automation!

Zapier - View received webhook data with all subscriber fields
6

Add Your Action

Now add an action step in Zapier—send an email, add to a Google Sheet, create a customer in your course platform, etc. Use the subscriber data fields from PayBot!

Webhook Data Format

PayBot sends a JSON payload with comprehensive subscriber and subscription information.

Headers sent with every webhook:

  • Content-Type: application/json
  • X-PayBot-Event: subscription.created (or subscription.cancelled)
  • X-PayBot-Timestamp: 1706020200
  • X-PayBot-Signature: sha256=... (HMAC signature for security)

Payload Fields

FieldDescriptionExample
eventEvent typesubscription.created
timestampWhen the event occurred (ISO 8601)2026-01-23T14:30:00.000Z
delivery_idUnique ID for this webhook deliverydlv_abc123def456
user.discord_idDiscord user ID123456789012345678
user.discord_usernameDiscord usernamejohn_doe
user.emailEmail from Stripe checkoutjohn@example.com
subscription.tier_nameName of the tier they subscribed toPremium Membership
subscription.price_centsPrice in cents1000
subscription.price_displayFormatted price$10.00
subscription.currencyCurrency codeusd
subscription.intervalBilling intervalmonth
subscription.typeSubscription typerecurring or one_time
subscription.statusCurrent statusactive or cancelled
guild.idDiscord server ID987654321098765432
guild.nameDiscord server nameCool Community

Full Example Payload

{
  "event": "subscription.created",
  "timestamp": "2026-01-23T14:30:00.000Z",
  "delivery_id": "dlv_abc123def456",
  "user": {
    "discord_id": "123456789012345678",
    "discord_username": "john_doe",
    "email": "john@example.com"
  },
  "subscription": {
    "paybot_id": "12345",
    "stripe_subscription_id": "sub_abc123",
    "stripe_customer_id": "cus_xyz789",
    "tier_name": "Premium Membership",
    "tier_id": "67890",
    "price_cents": 1000,
    "price_display": "$10.00",
    "currency": "usd",
    "interval": "month",
    "interval_count": 1,
    "type": "recurring",
    "status": "active",
    "source": "payment_link",
    "created_at": "2026-01-23T14:30:00.000Z"
  },
  "guild": {
    "id": "987654321098765432",
    "name": "Cool Community"
  },
  "referral": {
    "affiliate_code": "JOHNDOE20",
    "affiliate_id": "123"
  },
  "metadata": {
    "paybot_version": "2.0",
    "environment": "production"
  }
}

Use Cases & Ideas

Here are popular ways creators use PayBot automations:

📧 Welcome Emails

Send a personalized welcome email with onboarding instructions, links to exclusive content, or a thank you message.

Tools: Mailchimp, ConvertKit, Gmail

📚 Course Access

Automatically enroll new subscribers in your online course or learning platform.

Tools: Teachable, Thinkific, Kajabi

📊 Track in Spreadsheet

Log every new subscriber to a Google Sheet for your own records, analytics, or team visibility.

Tools: Google Sheets, Airtable, Notion

💬 Slack/Teams Notification

Get notified in your team chat whenever someone subscribes or cancels.

Tools: Slack, Microsoft Teams

🎁 Send Welcome Gift

Trigger a workflow to send a digital download, discount code, or physical gift.

Tools: Gumroad, SendOwl, Printful

📱 CRM Integration

Add subscribers to your CRM as contacts with their tier and payment info.

Tools: HubSpot, Salesforce, Pipedrive

Troubleshooting

My webhook test failed

Check your URL: Make sure you copied the full webhook URL and it starts with https://. PayBot requires HTTPS for security.

Check your automation tool: Make sure the webhook/Zap is turned on and not paused.

Zapier shows "Waiting for webhook"

Click "Test Webhook" in PayBot's Automations settings. Zapier needs to receive at least one request to see the data structure.

I'm not receiving webhooks for real subscriptions

Check events are selected: In PayBot, make sure you've selected which events to receive (subscription.created, subscription.cancelled).

Check webhook is enabled: Make sure the webhook isn't disabled in PayBot settings.

How do I verify webhooks are authentic?

PayBot signs every webhook with HMAC-SHA256. Check the X-PayBot-Signature header against your webhook secret. Contact support if you need help implementing signature verification.

What if my webhook endpoint is down?

PayBot automatically retries failed deliveries with exponential backoff: 1 minute, 5 minutes, 30 minutes, 2 hours. After 5 failures, the delivery is marked as failed.