How to Use the New SaaS Plan Created Webhook

Modified on: Thu, 7 Aug, 2025 at 1:20 PM

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?


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.

  1. Enable SaaS Mode: Confirm that SaaS mode is activated in your HighLevel agency settings.

  2. Configure Endpoint: Create a secure HTTP endpoint in your application to handle POST requests at /webhook/saas/agency-plans/:companyId.

  3. Set Secret Key: In the HighLevel portal, navigate to Settings > Webhooks, add your endpoint URL, and enter your HMAC secret.

  4. Validate Signatures: Implement HMAC verification based on the secret. Reject requests with invalid signatures.

  5. 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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article