How to Lock the Meddicc Score with a HubSpot Workflow
If you want your team to stop changing the MEDDICC score once a deal reaches a late stage, HubSpot workflows are a clean way to automate it.
In this guide, we will create a deal-based workflow that calls the Meddicc Score API and automatically sets the score as locked when the deal stage changes to Contract Sent.
This is useful when you want the score to reflect the qualification state at the moment the commercial process is already advanced, instead of continuing to drift after the proposal has been sent.
Before You Start
Make sure you already have:
- A Pro+ Meddicc Score account
- An active Meddicc Score API key
- Permission to create or edit HubSpot workflows
- Access to the Send a webhook action in HubSpot
For getting the Meddicc Score API key, open Meddicc Score → Settings → Meddicc Score API Key (Pro+) and copy it from there.

The endpoint we will call is:
https://app.meddiccscore.com/hubspot/api/v1/meddicc/score-lock
Step 1: Create a Deal-Based Workflow Triggered by Contract Sent
In HubSpot, create a new deal-based workflow.
Set the enrollment trigger so the workflow runs when:
- Property name is Deal stage
- New value is Contract Sent
This means every time a deal enters that stage, HubSpot will execute the webhook action.

Step 2: Add a Send a Webhook Action
Inside the workflow, add the Send a webhook action.
Use these values:
- Method:
POST - Webhook URL:
https://app.meddiccscore.com/hubspot/api/v1/meddicc/score-lock - Authentication type:
API Key - API key:
apikey - API key name:
apikey - API key location:
Request header
The Meddicc Score API accepts the key in a header named apikey, which fits well with HubSpot’s webhook action configuration.
Step 3: Store the API Key as a Secret
Instead of pasting the token directly into the action, save it as a HubSpot secret.
Click Add secret and create a secret with:
- Secret name: any internal name you prefer, for example
apikey - Secret value: your Meddicc Score API key
Then select that secret in the webhook action.
This keeps the workflow easier to manage and avoids exposing the raw API token repeatedly across actions.

Step 4: Configure the Request Body
In the Request body section, choose Customize request body.
Add these fields:
-
hs_object_idValue: the enrolled deal Record ID -
lockedValue:true
The final body should be equivalent to:
{
"hs_object_id": "123456789",
"locked": true
}
Why this matters:
hs_object_idtells the Meddicc Score API which HubSpot deal to updatelocked: truetells the API to lock the overall MEDDICC score for that deal
In HubSpot, the easiest token to use is the enrolled deal Record ID, because the API accepts it directly as hs_object_id.

Step 5: Test the Workflow
Before turning the workflow on for all deals, use HubSpot’s Test option.
Run the workflow on a test deal that you can safely move into Contract Sent.
If the request is configured correctly:
- the webhook should return a successful response
- the deal score will become locked in Meddicc Score
- future recalculations will no longer overwrite the stored score unless you unlock it later
If something fails, the most common issues are:
- the API key is wrong or expired
- the account is not on Pro+
- the body does not include
hs_object_id - the selected deal is not yet present in the Meddicc Score database
What the API Returns
The endpoint responds with a payload like this:
{
"success": true,
"lockedScore": true,
"summary": {
"hs_object_id": "123456789",
"dealId": "123456789",
"score": 78,
"lockedScore": true,
"completionPct": 64
}
}
The most important field here is:
lockedScore: true
That confirms the score is now frozen for the deal.
How to Unlock It Later
If you ever want to reverse the behavior, use the same endpoint and send:
{
"hs_object_id": "123456789",
"locked": false
}
That can be done from another workflow, for example if the deal moves backwards in the pipeline.
Final Thoughts
This is one of the simplest and most practical ways to make Meddicc Score part of your operational process in HubSpot.
Instead of asking reps to remember when the score should stop changing, you define the rule once in the workflow and let HubSpot enforce it automatically.
You can use the same pattern for other automations too, such as:
- locking individual MEDDICC answers
- recalculating the score at a specific stage
- setting a score manually from another process
- building workflow branches based on score or completion
If you have not configured the API yet, see the main Meddicc Score API guide.