Skip to main content
Solved

Can I suppress profiles in a flow?

  • March 24, 2026
  • 3 replies
  • 73 views

Forum|alt.badge.img+1

I have been trying to have less steps of suppressing profiles and I’m trying to streamline this.  I have John Doe list of bots? maybe, that keep creating profiles in Klaviyo.  I want to setup a flow that supresses these so I don’t have to keep going in and doing this.  This list is already to 150 so I don’t know how to solve this problem.  Please help 😭 

Best answer by whereisjad

Here is an automated way to do it.  Have a Segment triggered flow that includes a webhook action that calls:

 

POST https://a.klaviyo.com/api/profile-suppression-bulk-create-jobs/

with headers:

Authorization: Klaviyo-API-Key your-private-api-key

accept: application/vnd.api+json

revision: 2025-10-15

and payload:


{
"data": {
"type": "profile-suppression-bulk-create-job",
"attributes": {
"profiles": {
"data": [
{
"type": "profile",
"attributes": {
"email": "{{person.email}}"
}
}
]
}
}
}
}

 

3 replies

whereisjad
Expert Problem Solver IV
Forum|alt.badge.img+20
  • Expert Problem Solver IV
  • Answer
  • March 24, 2026

Here is an automated way to do it.  Have a Segment triggered flow that includes a webhook action that calls:

 

POST https://a.klaviyo.com/api/profile-suppression-bulk-create-jobs/

with headers:

Authorization: Klaviyo-API-Key your-private-api-key

accept: application/vnd.api+json

revision: 2025-10-15

and payload:


{
"data": {
"type": "profile-suppression-bulk-create-job",
"attributes": {
"profiles": {
"data": [
{
"type": "profile",
"attributes": {
"email": "{{person.email}}"
}
}
]
}
}
}
}

 


  • Contributor I
  • June 16, 2026

The webhook-in-a-flow approach above works for the automation itself — but since this is Strategic Advice: if bots keep creating these profiles, you'll be suppressing forever downstream. The more durable fix is to stop them at the source:

  1. Turn on reCAPTCHA / spam protection in your Klaviyo sign-up form settings (Forms → your form → Settings). Kills most automated submissions.
  2. Enable double opt-in on the list they land in — bots almost never confirm, so they never become active (or billable).
  3. On custom/embedded forms, add a hidden honeypot field: real users leave it blank, bots fill it.
  4. Look for the bot signature (created in bursts, gibberish local-parts, same domain/source) and block those domains.

For the ~150 already in there you don't even need a flow — a saved segment matching the bot pattern + a one-off bulk suppress clears them, and you can re-run it whenever. (The flow + webhook is great if you want it fully
hands-off.)

One billing note in case it's relevant: if these junk profiles are nudging you toward a higher active-profile tier, make sure they're suppressed before your billing date — Klaviyo counts active profiles at the billing date, so suppressing after it means you still pay for them that cycle.

(Disclosure: I build a Klaviyo cost tool, unblot — it's aimed at unengaged real subscribers timed to your billing date, not bots, so the source-fixes above are what you actually want here. Happy to help on the billing side if junk signups are spiking your tier, though.)


The API-based flow suggested by @whereisjad is a great way to automate suppression and avoid manual cleanup. I'd also recommend checking the source of these profiles so you can stop the bots from being created in the first place. A good segment + automated suppression flow should save a lot of time.