SendGrid
Connect SendGrid Marketing so approved affiliates land in a contact list automatically.
Rekomi's SendGrid integration adds every approved affiliate to a SendGrid Marketing Campaigns contact list.
What syncs
When an affiliate is approved (or, optionally, when they apply), Rekomi calls PUT /v3/marketing/contacts with list_ids + contact data. SendGrid responds with 202 Accepted + a job_id; Rekomi then polls GET /v3/marketing/contacts/imports/{job_id} up to 5 times (2s intervals) to confirm the import completed before marking the sync Succeeded.
This async-then-poll pattern prevents the "code says Succeeded but contact never appeared" failure mode where 202 + a later silent worker failure would otherwise hide a real problem. If the job is still pending after the 10-second poll budget, the sync is marked Succeeded anyway with a warning logged: the PUT was accepted and the upsert is idempotent, so treating a slow import as a failure would only produce false Failed jobs and duplicate re-imports.
Finding your API key
In SendGrid:
- Settings → API Keys → Create API Key.
- Choose Restricted Access and enable Marketing - Read + Marketing - Write.
- Save and copy the key. It starts with
SG.and is shown once.
Connecting SendGrid in Rekomi
- Go to Integrations in the dashboard sidebar.
- Click the SendGrid card.
- Paste your API key. Click Connect.
- Rekomi runs a test call against
GET /v3/scopesto verify the key + permissions.
Tags
SendGrid has no native tags concept. Rekomi ignores the tags array on subscribe (SendGrid uses lists + custom_fields for segmentation). If you want tag-like behavior, create dedicated lists in SendGrid and pin per-campaign overrides to them.
When sync fires
- Default: only
Approvedaffiliates sync. - Optional: turn on "Include applicants before approval" to also sync
Pending.
Per-campaign overrides
Each campaign can override the account-level configuration. From a campaign's detail page, click the CRM sync tab.
Per-affiliate sync visibility
Open any affiliate's detail page. The CRM sync panel shows the per-CRM status. Resync clears prior jobs and re-fires the sync.
Troubleshooting
sendgrid_no_job_id, 202 response missing job_id. Treated as Retrying so worker re-fires.sendgrid_job_errored/sendgrid_job_failed, Import job reported failure. Inspect SendGrid's "Activity" tab for import errors.- Sync shows Succeeded but the contact takes a minute to appear, The import job outlived Rekomi's 10s poll window; SendGrid finishes it shortly after. The upsert is idempotent, so nothing is lost.
- 401, API key invalid or missing Marketing scopes. Regenerate with the correct restrictions. Repeated auth failures mark the integration "action needed" and trigger a reconnect email; after fixing the key, use Resync all on the Failed tile.
Disconnecting
From the SendGrid connect page, click Disconnect. Integration row + per-campaign overrides are deleted. Sync history is preserved.
See the sendgrid integration overview on the marketing site for use-cases, persona fit, and unique automation patterns.