Receive real-time notifications whenever a new SaaS plan is created in your HighLevel account. This webhook automatically delivers all the plan’s configuration details—features, pricing tiers, and add-ons—allowing you to streamline billing, analytics, and custom integrations without polling the API.
TABLE OF CONTENTS
- What is the New SaaS Plan Created Webhook?
- Key Benefits of Webhook: New SaaS Plan Created
- Payload Example
- Security Requirements
- Error Handling & Versioning
- Developer Resources
- How To Setup Webhook: New SaaS Plan Created
- Frequently Asked Questions
What is the New SaaS Plan Created Webhook?
This system-driven webhook fires instantly whenever a new SaaS plan is added through your HighLevel agency portal. Instead of repeatedly querying the GET /plans endpoint, you’ll receive a push notification with the complete plan payload—covering its metadata, included products, pricing options, and add-ons—to ensure your systems stay up to date.
Key Benefits of Webhook: New SaaS Plan Created
This webhook simplifies your operations by delivering plan details automatically as soon as they’re created.
Automated Billing Sync: Keeps your billing platform current with new plan offerings
Real-Time Analytics: Enables immediate tracking of plan creation trends without manual data pulls
Seamless Integrations: Powers custom workflows and third-party tools with up-to-the-second plan configurations
Reduced API Load: Eliminates frequent polling of the GET /plans endpoint, improving performance
Payload Example
Understanding the webhook structure helps you parse and process incoming data without guesswork.
POST /webhook/saas/agency-plans/:companyId { "id": "plan_12345", "name": "Professional Suite", "saasProducts": [ { "id": "prod_abc", "name": "CRM", "enabled": true }, { "id": "prod_def", "name": "Marketing Automation", "enabled": true } ], "prices": [ { "interval": "monthly", "amount": 49.99 }, { "interval": "yearly", "amount": 499.99 } ], "addOns": [ { "id": "addon_001", "name": "Extra Users", "price": 10 } ], "metadata": { "createdBy": "user_789", "createdAt": "2025-08-07T12:34:56Z" } }
Above: A sample payload showing plan identifiers, feature toggles, pricing tiers, and optional add-ons.
Security Requirements
Protect your endpoint by validating each webhook request.
HighLevel signs webhook payloads with an HMAC SHA256 signature included in the X-HighLevel-Signature header. By verifying this signature against your secret key, you can confirm the authenticity of each notification and safeguard against tampering.
Link: Webhook Security Best Practices
Error Handling & Versioning
Ensure robust processing by accounting for failures and future changes.
Error Codes: Respond with HTTP 2xx for success. For non-2xx responses, HighLevel retries up to three times with exponential backoff.
Rate Limits: Webhook events are rate-limited to 100 requests per minute per company.
Versioning: The payload follows version v1. Future versions will increment the endpoint path (e.g., /v2/agency-plans). Always check the schemaVersion field to adapt to new formats.
Developer Resources
Find complementary guides and API references to expand your integration capabilities.
How To Setup Webhook: New SaaS Plan Created
Proper setup ensures you receive and process new plan notifications without interruption.
Enable SaaS Mode: Confirm that SaaS mode is activated in your HighLevel agency settings.
Configure Endpoint: Create a secure HTTP endpoint in your application to handle POST requests at /webhook/saas/agency-plans/:companyId.
Set Secret Key: In the HighLevel portal, navigate to Settings > Webhooks, add your endpoint URL, and enter your HMAC secret.
Validate Signatures: Implement HMAC verification based on the secret. Reject requests with invalid signatures.
Test Notifications: Create a new SaaS plan in the portal and verify your endpoint receives the sample payload.
Frequently Asked Questions
Q: How do I retrieve past plan creation events?
A: Use the GET /plans endpoint to list historical plans; webhooks only deliver new events.
Q: What happens if my endpoint returns HTTP 500?
A: HighLevel retries delivery up to three times with exponential backoff. Ensure your endpoint handles idempotency.
Q: Can I filter specific plan types from the webhook?
A: No, this webhook fires for all plan creations. Implement filtering logic in your receiver based on metadata or plan properties.
Q: Will I receive updates if a plan is modified?
A: No. For plan updates, subscribe to the separate Webhook: SaaS Plan Updated event.
Q: How should I handle schema changes?
A: Check the schemaVersion field in each payload and adjust parsing logic for new versions.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article