Iterable
4 min
connect your iterable marketing data to chord iterable is the cross channel marketing platform that powers email, sms, push, web push, and in app messaging for many chord brands chord ingests campaigns, templates, message metadata, user history, and full event streams from iterable so you can model engagement, deliverability, and channel attribution alongside the rest of your stack what chord ingests from iterable chord pulls 10 dataset groups from your iterable account campaign history every campaign sent name, type, status, schedule, audience, channel templates base, blast, triggered, and workflow templates referenced by campaigns channels, lists, message types channel definitions (email, sms, push, etc ), all lists, and message type configurations user history user profile snapshots and attribute changes over time email events sends, opens, clicks, bounces, complaints, subscribes, unsubscribes sms events sends, clicks, bounces push events sends, opens, bounces web push events sends, clicks in app message events sends, opens, clicks purchase events commerce events sent to iterable from your store custom events any custom event types you've defined in iterable generate an iterable api key you'll need a server side iterable api key the chord connector reads from iterable's rest and export apis from a backend service, so client side, mobile, or jwt enabled key types are not the right fit heads up only iterable users with the project admin permission can create api keys if your role doesn't include it, ask an admin on the project to either generate the key for you or grant your user the permission first log in to your iterable account in the top navigation, click your account name, then click settings (some accounts go directly to integrations ) click integrations → api keys click new api key name the key something recognizable, e g chord data sync select server side as the key type leave jwt authentication off (it's only required for client side key types) click create copy the key value immediately iterable shows the key only once and there is no way to reveal it later connect the key in chord open chord hub and go to data sources → add source pick iterable from the data source list paste the api key you just copied into the api key field click save, chord makes a test call against the iterable channels endpoint to confirm the key works the first sync kicks off automatically; subsequent syncs run on your tenant's standard ingestion schedule the first run can take significantly longer than steady state syncs because iterable's export api has to materialize historical events troubleshooting what does the validate step actually check? chord makes a small read against https //api iterable com/api/channels with the api key header set to your key, and confirms a 200 response it does not pull or store any records — that happens on the first scheduled sync after you save the credential the validate step failed what now? a 401 means the key value is wrong, was rotated, or was copied with extra whitespace a 200 from a different endpoint but a failure here usually means the key type isn't server side go back to integrations → api keys in iterable, confirm the key is listed as a server side key and is still active, then regenerate it if needed and paste the new value into the same chord credential entry do iterable api keys expire? no keys stay valid until a project admin manually revokes them in integrations → api keys if a previously working key suddenly fails, check that page first to confirm it's still listed and active how do i rotate the key? generate a new server side api key in iterable, paste it into the same chord credential entry, and save chord uses the new key on the next scheduled sync once you've confirmed the new key validates and the next sync runs cleanly, delete the old key from iterable why are my recent events not showing up yet? iterable's bulk export api materializes events on a daily partition a purchase that happened five minutes ago will not appear in chord until the next scheduled sync (and its export job for today's partition) completes why don't i see in app or web push event tables? those channels only generate events if they're enabled and configured in your iterable project if your team doesn't run in app or web push campaigns, those tables will be empty or missing, this is expected, not a connector bug need help? if you hit a credential or connectivity issue you can't resolve, reach out to help\@chord co mailto\ help\@chord co with the exact error message we'll trace the request and tell you what's failing