Webhook: New SaaS Plan Created

What is the New SaaS Plan Created Webhook?

The New SaaS Plan Created webhook automatically sends a notification to your specified endpoint whenever a new SaaS plan is added to your CRM account. This event trigger provides immediate access to the complete plan configuration details, including features, pricing tiers, and add-ons, enabling you to keep external systems synchronized without manual intervention.

Key Benefits

This webhook offers several advantages for managing your SaaS offerings efficiently:

  • Automated Billing Updates: Instantly sync new plan details with your billing platform to ensure accurate invoicing.
  • Real-Time Analytics: Capture plan creation events as they happen for timely trend analysis and reporting.
  • Seamless Integration: Power custom workflows and third-party tools with the latest plan information.
  • Reduced API Load: Avoid frequent polling of the API by receiving push notifications for new plans.

Endpoint

The webhook sends data to your configured endpoint using a POST request. The base URL structure is:

Replace :companyId with your specific company identifier.

Payload Example

When triggered, the webhook delivers a JSON payload containing all relevant plan information. Here’s an example structure:

{
"id": "plan_12345",
"name": "Professional Suite",
"saasProducts": [
{
"id": "prod_abc",
"name": "CRM",
"enabled": true
}
],
"prices": [
{
"interval": "monthly",
"amount": 49.99
}
],
"addOns": [
{
"id": "addon_001",
"name": "Extra Users",
"price": 10
}
],
"metadata": {
"createdBy": "user_789",
"createdAt": "2025-08-07T12:34:56Z"
}
}

This payload includes the plan’s unique ID, name, enabled features, pricing intervals, available add-ons, and creation metadata.

Security Requirements

To ensure the authenticity of webhook requests, each payload is signed with an HMAC SHA256 signature included in the X-CRM-Signature header. Verify this signature using your secret key to confirm that the notification originated from the CRM and has not been tampered with.

Error Handling and Versioning

For successful processing, your endpoint should return an HTTP 2xx status code. If a non-2xx response is received, the system will retry delivery up to three times with exponential backoff.

Webhook events are rate-limited to 100 requests per minute per company. The payload follows version v1, and future versions may increment the endpoint path (e.g., /v2/agency-plans). Always check the schemaVersion field to handle schema changes gracefully.

Use Cases

This webhook is particularly useful for:

  • Billing systems that require immediate updates when new plans are available.
  • Analytics platforms tracking the evolution of SaaS offerings over time.
  • Automations that trigger actions based on the creation of specific plan types.
  • Third-party integrations needing real-time synchronization with plan configurations.

Frequently Asked Questions

How can I retrieve historical plan creation events?

Use the GET /plans API endpoint to list all existing plans. The webhook only delivers notifications for new events.

What if my endpoint fails to process a request?

The system will retry delivery up to three times. Ensure your endpoint handles idempotency to avoid duplicate processing.

Can I filter webhooks for specific plan types?

No, the webhook triggers for all plan creations. Implement filtering logic in your receiver based on plan properties or metadata.

Will I receive notifications for plan updates?

No. Subscribe to the separate SaaS Plan Updated webhook for modification events.

How should I handle schema changes?

Check the schemaVersion field in each payload and update your parsing logic accordingly for new versions.

How do I test the webhook?

After configuration, create a new SaaS plan in your CRM account to verify that the webhook triggers and delivers the expected payload.