RekomiRekomiBlogPricing
Rekomi Docs
Rekomi Docs
Welcome to Rekomi
API overviewAuthenticationOAuth 2.0Server-to-server trackingTracking script & window.RekomiTrack leads and signupsNo-code & non-Stripe checkoutsCustom domainConversion currencyCoupon code trackingSub-affiliate recruiting APIWebhooksZapierWhite-label embedMCP serverAPI reference
For developers
|Developers|

Zapier

Connect Rekomi to 8,000+ apps with no code. 9 triggers, 9 actions, 4 searches.

The Rekomi Zapier integration wires your affiliate program into Slack, Gmail, HubSpot, Notion, Google Sheets, Airtable, Discord, Mailchimp, Typeform, and every other Zapier app. Build no-code automations that notify your team when an affiliate signs up, sync conversions to a sales CRM, post big payouts to a Slack channel, auto-add new partners to an email list, or approve vetted applicants the moment they submit a survey.

The Rekomi app is live in the Zapier marketplace: view Rekomi on Zapier. Signed-in brands can also build a Zap without leaving the dashboard at Integrations → Zapier, with your details prefilled so you skip the Zapier signup.

Plan tier required: Starter and above. Connecting the Rekomi app to Zapier itself is free; the actions and triggers run against your Rekomi account, which needs to be on Starter+ to receive REST-hook subscriptions or accept programmatic writes. Free-tier accounts receive a clean 402 plan_tier_required response and Zapier surfaces it as a readable error.

Connect Rekomi in Zapier

The Rekomi app is published in the Zapier marketplace under the name Rekomi. Connection is OAuth 2.0 with PKCE, no API keys, no copy-paste, no shared credentials. Connections are per-Zapier-account: every teammate who builds Zaps in your shared Zapier workspace connects their own Rekomi user, so audit trails stay clean.

  1. In Zapier, open the Zap editor and add a Rekomi trigger or action. When prompted for an account, click Connect a new account.
  2. A new tab opens at app.rekomi.com/oauth/authorize. Sign in if you are not already signed in. Pick the organization you want Zapier to act on (the dropdown shows every org you belong to).
  3. The consent screen lists the app name (Rekomi for Zapier), the requested scope (read_write offline_access), and your active org. Click Allow.
  4. The window closes automatically and Zapier shows your org name as the connected account. The connection is reused across every Zap you build with the same Zapier login.

The consent screen always reflects the scopes Zapier requested at authorize time and the org you picked. If you ever need to reauthorize, for example after revoking from the Rekomi dashboard, or when switching the connection to a different org, open app.rekomi.com/dashboard/settings/connected-apps, revoke the Zapier connection, then go back to Zapier → My Apps → Rekomi → Reconnect.

Under the hood Zapier uses standards-compliant OAuth 2.0 Authorization Code + PKCE (S256). The token endpoint is https://api.rekomi.com/connect/token, refresh tokens rotate on every use, and reusing an old refresh token revokes the entire token family. See OAuth 2.0 for the full protocol details.

Triggers

Triggers fire when something happens inside Rekomi and start a Zap. Rekomi triggers are implemented as REST hooks: when you turn a Zap on, Zapier subscribes a webhook endpoint against your org; when you turn it off, Zapier unsubscribes cleanly. There is no polling and no missed events for as long as the Zap is on.

TriggerFires whenSource eventSample output fields
New ConversionAn affiliate-attributed sale is recordedconversion.createdconversionId, affiliateId, programId, amountCents, currency, commissionCents, status
Conversion RefundedA previously approved conversion is clawed backconversion.refundedconversionId, affiliateId, refundedAmountCents, commissionReversedCents, currency, refundedAt
New Affiliate ApplicationSomeone applies to one of your campaignsaffiliate.createdaffiliateId, programId, email, fullName, status, slug
Affiliate ApprovedAn affiliate application is approvedaffiliate.approvedaffiliateId, programId, email, fullName, approvedAt
Payout CreatedA payout batch is queued for processingpayout.createdpayoutId, affiliateId, amountCents, currency, method, status, periodStart, periodEnd
Payout PaidA payout batch is paid outpayout.paidpayoutId, affiliateId, amountCents, currency, method, paidAt, stripeTransferId
Payout FailedA payout batch fails (insufficient funds, missing Connect account, transfer rejected)payout.failedpayoutId, affiliateId, amountCents, currency, method, failureReason, failedAt
New Campaign CouponA campaign-level coupon is createdcampaign_coupon.createdcampaignCouponId, programId, name, discountType, discountValue, duration, createdAt
New Affiliate CouponA per-affiliate redeemable code is mintedaffiliate_coupon.createdaffiliateCouponId, campaignCouponId, affiliateId, programId, code, createdAt, source

Editor-only filters. The New Campaign Coupon and New Affiliate Coupon triggers expose optional Campaign and Affiliate dropdowns inside the Zap editor. Those dropdowns are there so you can fetch realistic sample data when you're building the Zap, once the Zap is live, the trigger fires for every matching event in your org regardless of the dropdown selection. Filter live runs with a regular Zapier Filter step if you need to scope down.

Full event payload shapes (the JSON Rekomi actually emits) are in the Webhooks doc. Zapier surfaces those fields one-for-one in the editor's data picker.

Actions

Actions perform writes on your Rekomi account from another Zapier app, typically as the second step of a Zap whose trigger is some other product.

ActionWhat it doesRequired inputsReturns
Create CampaignCreate a new affiliate program (name, slug, commission rules)Name, slug, commission type, commission valueThe new program with its id, slug, and createdAt
Invite AffiliateSend a single branded invite emailProgram, emailThe invite row plus the one-time acceptUrl
Bulk Invite AffiliatesSend up to 50 invites in one callProgram, list of emails (optionally with per-row slug + full name)created, skipped, and an array of invites plus any slugConflicts
Approve AffiliateApprove a pending affiliate applicationAffiliateThe updated affiliate row (status now Approved)
Reject AffiliateReject a pending affiliate with optional reasonAffiliate, optional reasonThe updated affiliate row (status now Rejected)
Create Campaign CouponCreate a campaign-level coupon parentProgram, name, discount type, discount value, durationThe new campaign coupon with campaignCouponId
Generate Affiliate CouponMint a per-affiliate redeemable code under a campaign couponAffiliate, campaign coupon, optional custom codeThe new affiliate coupon with code and affiliateCouponId
Revoke Affiliate CouponDeactivate an affiliate's redeemable codeAffiliate coupon{ ok: true } plus the deactivated row
Mint Embed TokenIssue a short-lived white-label dashboard embed tokenAffiliate, allowed origins, optional expiresInHoursThe plaintext token (shown once), allowedOrigins, expiresAt

Plan callouts.

  • Bulk Invite Affiliates requires a paid subscription. Trial users see a clean 412 paid_plan_required (the bulk-email abuse path does not get a trial pass) and Zapier displays it as "This action requires an active paid subscription."
  • Mint Embed Token is part of the Embed white-label feature and requires the Growth tier or above. Lower tiers get 402 plan_tier_required.
  • Generate Affiliate Coupon, Revoke Affiliate Coupon, and Create Campaign Coupon all create or modify Stripe Coupons / Promotion Codes under the hood when your org has Stripe Connect linked. The Rekomi row and the Stripe row are kept in sync inside a single transaction, if Stripe rejects the create, the Rekomi row is rolled back.

Searches

Searches are read-only lookups. They are typically used inside a Zap with a "Find or Create" toggle, or as a way to resolve a piece of data into a Rekomi id you can hand to a later step.

SearchInputReturns
Find Affiliate by EmailEmail addressThe matching affiliate (or empty if not found)
Find Campaign by Name or SlugFree-text query against name or slugThe matching campaign (or empty if not found)
Get Affiliate by IDAffiliate UUIDThe affiliate (or 404)
Get Campaign by IDCampaign UUIDThe campaign (or 404)

Every search exposes the standard Zapier search controls:

  • "Successful if no results", when checked, an empty result counts as success and the Zap continues. Useful when paired with a downstream "Create if not found" branch.
  • "Return first match" / "Return all matches", choose whether the Zap operates on the single best match or fans out across every match. The fan-out shape is one Zap run per match.

Recipes

Six worked examples to copy. Each one is a single Zap; the optional Filter or Formatter step is standard Zapier glue, not Rekomi-specific.

1. Notify Slack when a high-ticket conversion lands

You want a Slack ping in #sales every time an affiliate-attributed sale crosses $500, but not for every small purchase.

  1. Trigger: Rekomi → New Conversion.
  2. Filter: Only continue if amountCents is greater than 50000.
  3. Action: Slack → Send Channel Message to #sales with the affiliate id, amount, and commission.

2. Auto-tag approved affiliates in Mailchimp

When you approve a new affiliate, you want them in a Mailchimp audience with a partner tag so they get your partner-onboarding sequence automatically.

  1. Trigger: Rekomi → Affiliate Approved.
  2. Action: Mailchimp → Add/Update Subscriber. Map email and fullName, set the partner tag.

3. Urgent email when a payout fails

Payout failures usually mean an affiliate hasn't finished Stripe Connect onboarding or their Connect account is restricted. You want an immediate finance-team alert.

  1. Trigger: Rekomi → Payout Failed.
  2. Action: Gmail → Send Email to finance@yourbrand.com with the affiliate id, failureReason, and a link to the affiliate's row in the dashboard.

4. Sync conversions to a Google Sheets revenue log

Finance wants every Rekomi conversion in a Google Sheet for monthly reconciliation against Stripe.

  1. Trigger: Rekomi → New Conversion.
  2. Action: Google Sheets → Create Spreadsheet Row. Map conversionId, affiliateId, amountCents, currency, commissionCents, createdAt.

5. Close the loop on refunds in HubSpot

When a conversion is refunded, you want the related HubSpot deal moved back to a Closed Lost, refunded stage so reps don't keep nurturing it.

  1. Trigger: Rekomi → Conversion Refunded.
  2. Action: HubSpot → Update Deal. Use the externalEventId from the conversion (your own Stripe invoice id) to look up the deal, then patch the deal stage.

6. Approve net-new applicants from a Typeform vetting survey

You ask prospective partners to fill out a Typeform with a self-scored fit rubric. Anyone who scores 8 or above should be auto-approved; lower scores stay pending for manual review.

  1. Trigger: Typeform → New Entry.
  2. Filter: Only continue if the score field is greater than or equal to 8.
  3. Action: Rekomi → Approve Affiliate. Pass the affiliate id from the Typeform's hidden-field response.

Errors and recovery

Rekomi's middleware unpacks every backend error into a readable Zapier message. The most common ones:

ErrorMeaningWhat to do
RefreshAuthError (401)Your OAuth token has been revoked, the family was rotated out, or the connection was removed from the dashboard.Reconnect from Zapier → My Apps → Rekomi → Reconnect. The Zap resumes on the next trigger event.
402 plan_tier_requiredThe action you tried requires a higher plan tier, most commonly Mint Embed Token on a Starter org.Upgrade in app.rekomi.com/dashboard/settings/billing, or drop that action from the Zap. The error body includes required and current plan tiers.
412 paid_plan_requiredBulk Invite Affiliates was called from a Trial or unsubscribed account.Activate a paid subscription. Bulk-email actions have no Trial pass to prevent abuse.
429 rate_limitedYou burst past Rekomi's per-token rate limit.Zapier retries automatically with backoff. No action needed unless the burst is sustained.
400 validation_failed with fieldA specific input failed validation. The Zapier message reads Field: message, for example slug: slug_already_taken.Fix the offending input in the Zap step's config. For Create Campaign, the dashboard form auto-suggests an available slug via a debounced check-slug endpoint, but the Zapier action surfaces the conflict as a clean error, pick a different slug and re-run.
5xx server_errorTransient Rekomi-side issue.Zapier retries automatically. If a Zap is consistently red on 5xx, contact support.

You can inspect every failed run in Zapier's Zap History with the full request and response, and you can replay any failed run after fixing the root cause.

Plan tier

The Rekomi app in Zapier requires Starter+ for general use. Two actions have higher gates:

  • Bulk Invite Affiliates, paid subscription required (Starter+ with SubscriptionStatus = Active; Trial users blocked).
  • Mint Embed Token, Growth+ required (matches the Embed feature gate).

All other triggers, actions, and searches work on every Starter+ org including Trial. See the broader API reference for the full plan-tier table.

Security

  • OAuth reference tokens. Zapier holds opaque reference tokens (not JWTs). They are stored encrypted server-side on Rekomi and can be revoked at any moment from app.rekomi.com/dashboard/settings/connected-apps. Revocation takes effect on the next API call, Zapier will surface a RefreshAuthError and prompt the user to reconnect.
  • PKCE-protected authorize. Authorization Code + PKCE (S256) is mandatory for the Zapier client. Authorization codes expire in 60 seconds and are single-use.
  • Refresh rotation with family revocation. Refresh tokens rotate on every use; reusing an old one revokes every token in the family (per OAuth 2.0 Security BCP). Active Zaps refreshing within the rolling 30-day window effectively never need user reauthorization.
  • HMAC-signed webhook delivery. Every payload Rekomi sends to Zapier's catch URL is HMAC-SHA256 signed and tagged with X-Rekomi-Signature: t=<unix>,v1=<hex>. Zapier handles verification on its side; you don't need to do anything.
  • Audit log on everything. Every consent grant, token issuance, refresh, revocation, and detected token reuse writes an audit row visible under /dashboard/settings/audit-log (actions prefixed oauth.*). Every Zapier-initiated write also writes an audit row with actorType = api_key / source User-Agent identifying the Zap.
  • Per-org isolation. Tokens are bound to the org you picked at consent time and cannot read or write a different org, even if your Clerk user belongs to both.

See also

  • OAuth 2.0, protocol details for the Zapier connection (authorize URL, token URL, scopes, refresh rotation, revocation).
  • Webhooks, the underlying event shapes that drive every Rekomi trigger. Zapier consumes this surface via REST-hook subscriptions.
  • API reference, the raw REST equivalents for everything Zapier actions perform under the hood, useful when you need to do something Zapier doesn't expose.
  • MCP server, the AI-assistant counterpart to Zapier: same Rekomi surface, different consumer model.
  • Connect Stripe, the brand-side integration story Zapier slots into alongside Stripe Connect.
  • Manage connections at app.rekomi.com/dashboard/settings/connected-apps.

Webhooks

Subscribe to events, verify signatures, and handle retries.

White-label embed

Host an affiliate's earnings dashboard on your own domain via iframe.

On this page

Connect Rekomi in ZapierTriggersActionsSearchesRecipes1. Notify Slack when a high-ticket conversion lands2. Auto-tag approved affiliates in Mailchimp3. Urgent email when a payout fails4. Sync conversions to a Google Sheets revenue log5. Close the loop on refunds in HubSpot6. Approve net-new applicants from a Typeform vetting surveyErrors and recoveryPlan tierSecuritySee also