Webhooks
Subscribe to real-time events on Countercyclical with webhooks.
This feature is only available for our Enterprise customers. For more information, please contact us at enterprise@countercyclical.io or schedule an enterprise demo
What are Webhooks?
Webhooks are user-defined HTTP callbacks that are triggered by specific events on the platform. When such an event occurs, the platform makes an HTTP POST request to the URL you have configured for the webhook. This allows you to receive immediate notifications and take appropriate actions based on the event data.
Adding a Webhook
We allow you to test your webhooks right in Countercyclical with Svix Play
Create a Webhook URL
First, you need to set up a URL on your server that can accept incoming HTTP POST requests. This URL will be the endpoint that our platform sends webhook events to.
To register a webhook, follow these steps:
Navigate to the Webhooks Section
Log in to your Enterprise account on the platform.
Go to the
Settings > Workspace > Advanced > Developers
Scroll to the
Webhooks
section.
Create a New Webhook
Click on the
Create Webhook
button.Fill in the required details:
Name: A name for your webhook (e.g., "New Report Published")
URL: The subscriber endpoint URL where you want to receive the webhook events
Events: Select the events you want to subscribe to
Save the Webhook:
Once you have filled in all the details, click
Save
.
Managing Webhooks
You can manage your webhooks through the platform's Webhooks section:
Edit Webhooks: Modify the details of an existing webhook (e.g., change the URL or events).
Delete Webhooks: Remove a webhook if you no longer need it.
View Logs: Access logs to see the history of webhook events sent to your endpoint.
Supported Events and Example
This section may be updated at any point in the future. We try to keep our webhook events close to/at parity with the generally available PUT
, POST
, and/or DELETE
REST API endpoints you'd find in Endpoints
Please feel free to reach out to us at feedback@countercyclical.io if you have any questions or suggestions
Below you can find an example of what a common payload will look like, along with the supported events we have on Countercyclical.
Supported Events
Like API Keys, Webhooks created on the platform are scoped based on the user's permission in the workspace.
For the greatest possible visibility across all supported events, we'd recommend having a workspace owner or admins create & manage webhooks. For more information on roles, please see Permissions
Here is a list of supported webhook events across the platform:
investment.created
: Action taken when an Investment is createdinvestment.updated
: Action taken when an Investment is updatedinvestment.deleted
: Action taken when an Investment is deletedvaluation.created
: Action taken when a Valuation is createdvaluation.updated
: Action taken when a Valuation is updatedvaluation.deleted
: Action taken when a Valuation is deletedmemo.created
: Action taken when a Memo is createdmemo.updated
: Action taken when a Memo is updatedmemo.deleted
: Action taken when a Memo is deletedteam.created
: Action taken when a Team is createdteam.updated
: Action taken when a Team is updatedteam.deleted
: Action taken when a Team is deletedassumption.created
: Action taken when an Assumption is createdassumption.updated
: Action taken when an Assumption is updatedassumption.deleted
: Action taken when an Assumption is deletedpipeline.created
: Action taken when a Pipeline is createdpipeline.updated
: Action taken when a Pipeline is updatedpipeline.deleted
: Action taken when a Pipeline is deleted
Update events (e.g. *.updated
) may only capture top-level updates to the core resource in question based on how our system is set up. If there's a particular event you're looking to capture, it may require an additional event to be created for your use case(s).
Please reach out to us as feedback@countercyclical.io if you'd like to see us add any additional events
Payload Example
Best Practices
Securing your Webhook Endpoints
To ensure the security of your webhook, consider the following:
Validate the Source: Verify that the incoming requests are actually coming from our platform. This can be done by checking the request headers or using a shared secret.
Use HTTPS: Ensure your webhook URL uses HTTPS to encrypt the data in transit.
Rate Limiting: Implement rate limiting to prevent abuse of your webhook endpoint.
Last updated