Docs

Connect Klaviyo to Signal Send

Signal Send prepares segments and copy from a list you upload or import from Klaviyo. Connecting Klaviyo is optional. We write labels and lists you can use in Klaviyo. We never send or schedule email from Signal Send.

1. Connect Klaviyo

From a completed job, open Export and choose Connect Klaviyo, or go to Klaviyo settings. You must be signed in. If you start from Klaviyo’s Install button, you land on a short Sign in screen, then immediately on Klaviyo’s Allow screen — not the marketing homepage.

Until Klaviyo reviews a public listing, their consent screen may warn that the app is unreviewed. That is the default for a private OAuth app. It is not a claim that we are a Klaviyo partner. You can skip Connect and download a CSV or workbook instead.

Marketplace / developer portal Installation URL (for operators): GET /api/integrations/klaviyo/install. Settings URL: /integrations/klaviyo.

2. Import a Klaviyo list

After you connect, open Upload or Lists and choose Import from Klaviyo. Pick a list. We pull current profiles (email, name, company, title, location, phone, and custom properties) and treat them like a CSV so you can protect fields, segment, and export as usual.

Large lists import the first 10,000 profiles in this version. CSV upload still works if you need a different slice. We do not send email when you import.

3. What data moves

When you click Push on a completed job, we may write:

  • Profile properties signal_send_segment and signal_send_job_id on contacts that match by email.
  • Lists named Signal Send · {campaign} · {segment}. Existing lists with the same name are reused.
  • Optional email templates from copy you already approved in Signal Send, if you opt in at push time.

We do not overwrite unrelated Klaviyo fields. Columns you marked as protected stay in Signal Send, except email, which is required to match. Contacts without an email are counted as unmatched and are not pushed. We do not send, schedule, or create campaigns or flows.

4. Use cases

  • Agency client CSV. Upload a messy export, protect extra columns, approve segments, then push lists into the client’s Klaviyo account.
  • Klaviyo list in. Connect, import an existing audience, protect extra columns, then push segment labels back when you are ready.
  • Re-push. Run Push again after you fix emails or reopen a plan. Unmatched rows are listed in the push summary; they stay in the workbook.

5. Disconnect / uninstall

In Signal Send, use Disconnect on Klaviyo settings or Export. We delete our stored tokens and ask Klaviyo to revoke them.

If you uninstall the app inside Klaviyo, there is no webhook. The next time we refresh tokens, Klaviyo returns invalid_grant. We mark the connection revoked and show Reconnect — we do not keep using dead tokens. CSV export still works either way.

6. Permissions and endpoints

We request only these Klaviyo API scopes. We do not request campaign or send access.

ScopeWhyEndpoints we call
accounts:readShow which account is connectedGET /api/accounts/
profiles:read / writeImport profile fields; set segment properties on matching emailsGET /api/lists/{id}/profiles
POST /api/profile-bulk-import-jobs/
lists:read / writeImport existing lists; find or create segment listsGET /api/lists
POST /api/lists
templates:read / writeOptional draft templates at pushPOST /api/templates/

OAuth uses Klaviyo authorize, token, and revoke endpoints. API revision is pinned in product code. Tokens are encrypted at rest.

Support

hello@signal-send.com · typically one business day · Privacy · Terms