Built for startups,
scaled for unicorns
Successfully submitted!
Error! Please try again

PARTICIPANT_FRAUD_STATUS_UPDATED webhook event to send suspicious referral activity into your review queue.Want the full setup walkthrough?
Use these docs for exact setup steps, supported fields, and troubleshooting.
GrowSurf emits a dedicated fraud-status webhook event whenever a participant's fraud state changes, which gives your ops team a clean way to trigger review workflows outside the GrowSurf dashboard.
Use this setup when you want high-risk or medium-risk participants to open an internal ticket, trigger a Slack alert, or land in another review system the moment GrowSurf marks them.

Open the Webhooks card in the Options step, add the endpoint URL that should receive review alerts, and publish your changes. Test the connection before you depend on it for live ops workflows.
PARTICIPANT_FRAUD_STATUS_UPDATED and keep the use case narrowThis is the event GrowSurf sends when an existing participant's fraud status changes. According to the docs, it can fire when GrowSurf's anti-fraud system marks someone after suspicious referral activity or when someone is manually marked as a fraudster or non-fraudster from the GrowSurf dashboard.
fraudRiskLevel and fraudReasonCodeThe event payload includes the participant object with both fraudRiskLevel and fraudReasonCode. Use those fields to decide whether the change should create an internal review task, notify support, or simply update an account flag in your own system.

Turn on a webhook secret so GrowSurf includes the GrowSurf-Signature header on each request, then verify that signature before you create tickets or mark accounts in your own systems.
GrowSurf retries failed webhook deliveries automatically with exponential backoff. If the downstream review tool is unavailable, use GrowSurf's Webhook Event Logs to inspect recent failures while you repair the integration or re-enable a disabled webhook.
app.post('/growsurf/webhooks', function(req, res) {
const body = req.body;
const participant = body.data && body.data.participant;
if (body.event === 'PARTICIPANT_FRAUD_STATUS_UPDATED' && participant && participant.fraudRiskLevel !== 'LOW') {
createFraudReviewTask({
email: participant.email,
risk: participant.fraudRiskLevel,
reason: participant.fraudReasonCode
});
}
res.json({ received: true });
});The webhook is most useful when it creates an actionable alert in Slack, a ticketing tool, or your internal ops queue instead of quietly writing to a log no one checks.
Point GrowSurf's test request at webhook.site or your own staging endpoint first so you can confirm how your review workflow should read the incoming fraud fields.
The event includes the participant object with fraudRiskLevel and fraudReasonCode, plus the surrounding campaign context.
No. GrowSurf's docs say it can also fire when a participant is manually marked as a fraudster or non-fraudster from the dashboard.
GrowSurf retries failed deliveries automatically for several days, and the current app exposes Webhook Event Logs so you can inspect failing requests while you fix the endpoint.
Trusted by marketing and product teams at fast-growing B2C, fintech, and SaaS companies
