Notify another system when an opportunity enters a stage
The Outbound webhook automation makes Clickmax send a POST to a URL of yours as soon as an opportunity enters the stage. It is how you tell an external CRM, an ERP or your own automation that the deal moved forward — with nobody copying data by hand.
Before you start
- Workspace role: owner, admin or editor. Without one of these you cannot create or edit stage automations. See what each role covers in the permissions table.
- You need a pipeline with at least one stage. If you do not have one yet, start with Build your first pipeline.
- The destination URL must be HTTPS and reachable from the internet. Internal addresses (
localhost, local network) are rejected.
Steps
- Open the pipeline and, on the stage you want to automate, click Create automation.
- In the Type step, choose Action & Delay and click Continue.
- In the Item step, look for Outbound webhook (under Flow & Integrations) and click Continue.
- In the Wait field, keep Immediate so the request goes out as soon as the opportunity enters the stage. The other times work too — see Set when the stage automation runs.
- In URL, paste the address that will receive the request.
- Check What we send to see the body that will arrive and click Save.
The method is always POST and the body is JSON (Content-Type: application/json) — that is why this automation has no method field.
Notify only when a trigger brings the opportunity in
Action & Delay fires for every opportunity that enters the stage, no matter how it got there. If you only want to notify when a specific event brings the card in — an approved purchase, a loss, a field that changed — set the webhook inside the Passage trigger itself:
- On the stage, click Create automation and choose Passage trigger.
- Pick the event that moves the opportunity into this stage and set up its filters.
- In Outbound webhook (optional), paste the URL that will receive the request.
- Click Add trigger.
The request goes out after the card is already in the new stage, so the JSON body is the same one described below and already carries the destination stage. Leaving the field empty keeps the trigger only moving the card, as before.
What arrives at your system
What each field means
Fields with no value arrive as null — the key is always there. An opportunity with no linked contact sends contact: null, and with no owner sends responsible: null. An opportunity with no tags sends an empty list.
How the request behaves
- The request is asynchronous: moving the opportunity never waits for your system to answer, and a failure on your side does not block the card.
- Your endpoint has up to 30 seconds to respond.
- Any response counts as delivered — you do not need to return content, only to respond.
- Redirects are not followed: the configured URL must answer directly, without forwarding to another address.
- If the opportunity is deleted before the request goes out, nothing is sent.
Protect the receiving address
The URL is the only address receiving this data, so treat it as a secret: use an address that is hard to guess and do not publish it. If you suspect it leaked, generate a new URL in your system and update the automation.
Related
If it did not work
- Create automation does not show on the stage → your role cannot configure the pipeline. Check No permission and the permissions table.
- Nothing arrives at your system → check that the URL starts with
https://and answers aPOSTcoming from the internet. Internal addresses andhttp://are rejected. - The opportunity entered the stage but nothing was sent → automations only apply to opportunities that enter the stage after they were saved. Opportunities already sitting there do not trigger it.
- It arrived with no contact or no tags → the opportunity has no linked contact or tags in Clickmax. Fill them in on the card and move it again to test.
- You see
Erro ao salvar→ the automation was not created. Check that the URL is filled in and try again; if it persists, see the error codes.