Make
Connect GrowPanel to Make (formerly Integromat) to build powerful automation scenarios triggered by subscription events. Use Make's webhook module to receive real-time MRR data and connect it to hundreds of apps.
Setting up the integration
1. Create a webhook in Make
- Log in to your Make account
- Create a new scenario or open an existing one
- Add a Webhooks > Custom webhook module as the trigger
- Click Add to create a new webhook
- Give it a name like "GrowPanel MRR Events"
- Copy the webhook URL that Make generates
2. Configure the webhook in GrowPanel
- Go to Settings > Integrations in GrowPanel
- Find the Webhooks card and click Enable
- Paste your Make webhook URL
- Click Test to send a test payload
- Click Enable to save
3. Define the data structure in Make
After receiving the test payload:
- Return to Make and click Redetermine data structure
- Make will parse the test payload and create the data structure
- You can now use the fields in subsequent modules
Filtering events
You can filter which events trigger your scenario in two ways:
Option 1: Filter in GrowPanel
Click Settings on the Webhooks card in GrowPanel:
- Set a Threshold to only send movements above a certain MRR value
- Enable/disable specific Event types (new, expansion, contraction, churn, etc.)
This reduces the number of webhook calls to Make.
Option 2: Filter in Make
Add a filter after the webhook module to route or ignore certain events:
- Filter by
eventvalue (new,expansion,contraction,churn,reactivation,scheduled_churn,failed_payment) - Filter by
movement.mrr_changeamount - Filter by
customer.status
This gives you more flexibility but uses more Make operations.
Example scenarios
Send Slack message for new customers
- Webhooks module receives GrowPanel event
- Filter: Only continue if
eventequalsnew - Slack module sends a message to #sales-wins
Update HubSpot deal on churn
- Webhooks module receives GrowPanel event
- Filter: Only continue if
eventequalschurn - HubSpot module searches for deal by customer email
- HubSpot module updates deal stage to "Churned"
Create Notion database entry for all MRR changes
- Webhooks module receives GrowPanel event
- Notion module creates a new database item with customer name, event type, MRR change, and date
Trigger dunning sequence on failed payment
- Webhooks module receives GrowPanel event
- Filter: Only continue if
eventequalsfailed_payment - Email or Customer.io module triggers recovery campaign
Webhook payload
The payload structure from GrowPanel:
MRR movement events
{
"event": "expansion",
"timestamp": "2025-03-15T10:30:00Z",
"customer": {
"id": "cus_456",
"name": "Acme Corp",
"email": "[email protected]",
"status": "active",
"current_mrr": 9900,
"currency": "usd"
},
"movement": {
"type": "expansion",
"mrr_change": 5000,
"currency": "usd",
"date": "2025-03-15",
"plan_name": "Pro Plan",
"subscription_id": "sub_789"
}
}Failed payment events
{
"event": "failed_payment",
"timestamp": "2025-03-15T14:30:00Z",
"customer": {
"id": "cus_456",
"name": "Acme Corp",
"email": "[email protected]",
"status": "past_due",
"current_mrr": 4900,
"currency": "usd"
},
"payment": {
"invoice_id": "inv_789",
"amount": 4900,
"currency": "usd",
"failure_reason": "card_declined",
"attempt_count": 1,
"date": "2025-03-15"
}
}Available fields
| Field | Description |
|---|---|
event | Event type: new, expansion, contraction, churn, reactivation, scheduled_churn, failed_payment |
timestamp | ISO 8601 timestamp of the event |
customer.id | Customer ID from your billing source |
customer.name | Customer name |
customer.email | Customer email |
customer.status | Current status: active, trialing, past_due, canceled |
customer.current_mrr | Customer's total MRR in cents |
customer.currency | Customer's currency |
movement.type | Movement type (for MRR events) |
movement.mrr_change | MRR change in cents |
movement.plan_name | Name of the plan involved |
payment.invoice_id | Invoice ID (for failed payment events) |
payment.failure_reason | Why the payment failed |
Troubleshooting
Webhook not triggering
- Verify the scenario is active (toggle is on)
- Check that the webhook URL in GrowPanel matches Make exactly
- Use the Test button in GrowPanel to send a test payload
Data structure issues
- Click Redetermine data structure after receiving a new test payload
- Make sure you received a real event, not just the connection test
Missing fields
- Some fields only appear for certain event types (e.g.,
paymentfor failed_payment events) - Use the "Ignore missing filters" option in Make if needed
Related pages
- Webhooks - Webhook payload reference
- n8n - n8n integration with native node
- Integrations overview - How integrations work