← Back to your connections

Step-by-step connection guide

Every tool connects to Synthesis by pasting an API key or token you generate inside that tool. Below is exactly where to find it for the connectors with a few more steps. Each links to the vendor's official documentation if you get stuck.

Crisp

3 fields: OData feed URL · Username · Password

  1. You need an active Crisp account with your retailer sources (Walmart Retail Link, Target, Kroger, etc.) already connected inside Crisp.
  2. In Crisp, go to Connectors → Add connector → OData API and create the feed.
  3. Open the new connector's details screen — it shows the OData feed URL, a Username, and a Password (HTTP Basic auth).
  4. Enter all three in the Connect Crisp window. We read the feed's tables and sync retail sell-through into your warehouse every 12 hours.
Crisp is a paid, contract-gated platform — you activate the account with Crisp first, then this connector reads its OData feed. Pricing is usage-based (contact Crisp sales).
Official Crisp OData docs ↗

SPINS

2 fields: SDN Client ID · SDN Client Secret

  1. You need an active SPINS subscription that includes SDN (Spins Data Network) API access.
  2. SDN credentials are issued by SPINS — they are not self-serve. There is no screen where you can create them. Email your SPINS Customer Success Manager (or customersupport@spins.com) and request SDN API access.
  3. SPINS provisions a Client ID and Client Secret during onboarding. Once you receive them, enter both in the Connect SPINS window.
  4. On connect we mint a token against SPINS and confirm access, then materialize the SPINS sell-through tables (Latest Period, Week-over-Week, Quad) and sync every 12 hours.
SPINS is a paid, contract-gated data platform — you activate SDN access with SPINS first. The exact syndicated query finalizes automatically on your first real connection (SPINS's schema is provisioned per account).
About the SPINS SDN ↗

Walmart Marketplace

2 fields: Client ID · Client Secret

  1. You need an approved Walmart Marketplace (3P) seller account. Sign in to Seller Center.
  2. Go to API Integration → API Key Management — this signs you in to the Walmart Developer Portal, where the keys actually live (they are not stored inside Seller Center). Open Production Keys.
  3. If the page lists multiple key sets, use My API Key — your own key set, not a solution-provider key (e.g. amplified.io). Copy its Client ID and Client Secret.
  4. Enter both in the Connect Walmart Marketplace window. We pull your orders, items, and settlement/reconciliation reports into your warehouse every 12 hours.
This is your own walmart.com marketplace data (orders + settlement), the Walmart equivalent of Amazon Seller Central. It does not include category/competitor sell-through (that's Walmart Luminate, a separate paid product).
Official Walmart Marketplace API docs ↗

Target Plus

3 fields: Seller ID (SMS ID) · Seller Token · API Key

  1. You need an approved Target Plus (3P marketplace) seller account. Sign in to the Target Plus Partner Portal.
  2. Find your Seller ID (SMS ID) under Business Info → Basic Info.
  3. Generate an API Key and a Seller Token under Partner Settings → API → Tokens → Generate New Token. The token is shown only once — save it immediately (if lost, delete and regenerate).
  4. Enter all three in the Connect Target Plus window. We pull your Target.com marketplace orders, inventory, and listings into your warehouse every 12 hours.
Target Plus marketplace entry is invite-only, but once you're an approved seller the API is fully self-serve. This is your own marketplace data, not Target 1P wholesale sell-through (Partners Online, which has no API).
Official Target Plus API docs ↗

Instacart Ads

1 step for you: add our API user · the Synthesis team completes the connection

  1. Sign in to Instacart Ads Manager (ads.instacart.com) as an admin of your ad account.
  2. Add instacart@synthesisintelligence.ai as a user on your ad account.
  3. Grant it exactly these permissions: API Permissions: Yes · Campaign Management: Read · Customer Insights Reporting: Read (the last one unlocks Share of Digital Shelf).
  4. Tell your Synthesis contact you've added the user — we complete the connection on our side. Your campaign, keyword, and placement performance (spend, ROAS, attributed sales, Share of Digital Shelf) then syncs into your warehouse every 12 hours.
This is Instacart's recommended partner setup: reporting flows through Synthesis's approved Instacart API application, so you never create OAuth apps or handle API keys — just add the user. Available via the API: Sponsored Product, Display, Shoppable Display & Video, Recipes, Promotions, and Share of Digital Shelf. Not available (Instacart limitation): Insights Center sales/share data, A/B tests, and managed-service campaigns.
Official Instacart Ads API docs ↗

Shopify

3 fields: Store domain · Client ID · Client Secret

Takes about 5 minutes. You'll end up with three things to paste into Synthesis: your store domain, a Client ID, and a Client Secret.

  1. Sign in to dev.shopify.com. Use the same Google or email account you use for Shopify. It's free — if it asks you to create a developer account, say yes.
  2. Create the app. Go to Apps → Create app, name it Synthesis, choose Start from Dev Dashboard, and create it.
  3. Turn on the seven read permissions. Open the Versions tab and enable exactly these:
    read_orders · read_all_orders · read_products · read_customers · read_inventory · read_locations · read_reports
    read_all_orders matters most — without it Shopify only sends the last 60 days, so none of your history comes through.
  4. Click Release. This is the step people miss. Permissions do nothing until you release the version — if you skip it, the connection finishes but comes back empty.
  5. Install it on your store. Go to Home in the left nav, scroll to Install app, pick your store, and confirm.
  6. Copy your two keys. Open the app's Settings tab and copy the Client ID and Client Secret. These are permanent — you can come back for them anytime.
  7. Paste them into Synthesis. In the Connect Shopify window, enter your store domain (like yourstore.myshopify.com), then the Client ID and Client Secret. That's it — we handle the rest.
If it comes back empty, it's almost always step 4 — go back to the Versions tab and check the version is Released, not just saved. Re-release it, then hit Sync now in Synthesis.
This is your own private app on your own store — no Shopify app review involved. Synthesis uses your Client ID + Secret to mint a fresh short-lived read-only access token for each sync (Shopify's client-credentials grant), so there's nothing to rotate or re-paste. Already have an older custom app with a permanent shpat_ token? Email us and we'll connect it that way instead. Stuck on any step? Email us and we'll walk you through it live.
Official Shopify client-credentials docs ↗

Salesforce

3 fields: My Domain URL · Consumer Key · Consumer Secret

  1. In Salesforce: Setup → Quick Find App Manager. Open your Connected App, or New Connected App to create one named Synthesis.
  2. Open the app's dropdown → Edit. Under API (Enable OAuth Settings), tick Enable Client Credentials Flow, accept the security warning, and Save.
  3. From the app detail page: Manage → Edit Policies. Under Client Credentials Flow, set Run As to a dedicated read-only integration user — not an admin. Whoever holds these credentials acts as this user, so give it read access to Opportunity, Account, Contact and Lead only. Save.
  4. Back on the app: View → Manage Consumer Details. Salesforce emails you a verification code — enter it, then copy the Consumer Key and Consumer Secret.
  5. Find your My Domain URL in Setup → My Domain (looks like https://yourcompany.my.salesforce.com).
  6. Enter all three in the Connect Salesforce window. We pull opportunities, accounts, contacts and leads every 12 hours.
Newer Salesforce orgs show External Client Apps instead of Connected Apps — it's the same OAuth flow and the same three values, just a different menu. Changes can take up to ~10 minutes to propagate, so if the first connect attempt is rejected, wait a moment and retry. Pipeline is forecast, not settled revenue — we never reconcile it against your bank deposits or GL.
Official Salesforce client-credentials docs ↗
DB

Data Warehouse (SQL)

Connection details · plus the list of tables to mirror

  1. Create a read-only database user for us. Grant it USAGE on each schema and SELECT on only the tables you want mirrored — nothing else. SELECT alone is not enough: without schema USAGE the connection fails with a permission error. On Redshift also grant SELECT ON pg_catalog.svv_table_info; on Snowflake also grant USAGE on the warehouse.
  2. If your warehouse is behind a firewall, allow inbound connections from our egress address (ask us and we'll send it).
  3. In the Connect window pick your warehouse type. PostgreSQL, MySQL/MariaDB and Amazon Redshift work today; choose any other type (Snowflake, Databricks, ClickHouse, Athena, Trino, SQL Server, Oracle) and we'll enable it for your account. For Snowflake we'll set up key-pair authentication rather than a password — Snowflake now discourages password auth for service accounts.
  4. Enter host, port (blank for the default), database/catalog, username and password.
  5. List the tables to mirror, one per line, schema-qualified — e.g. analytics.orders. We never mirror a whole warehouse; only what you list.
  6. Snowflake, Databricks and Athena need one or two extra values (warehouse/role, http_path, or region + S3 staging dir). Put them in the Advanced box as JSON — the placeholder shows the exact shape.
Mirrors refresh every 12 hours as a full replace, so the copy always matches your source — but it keeps no history, and a row deleted upstream disappears here too. Very large tables are capped, and any capped table is flagged so a total is never mistaken for complete. Point us at a view rather than a raw event table where you can — it syncs faster and stays meaningful.

NetSuite

5 fields: Account ID · Consumer Key · Consumer Secret · Token ID · Token Secret

  1. Enable the feature: Setup → Company → Enable Features → SuiteCloud. Under Manage Authentication, check Token-Based Authentication. Also check REST Web Services. Save.
  2. Create an integration record: Setup → Integration → Manage Integrations → New. Name it (e.g. Synthesis), set State = Enabled, and on the Authentication tab check Token-Based Authentication + REST Web Services. Save — NetSuite shows your Consumer Key and Consumer Secret once. Copy both now.
  3. Create a role with REST Web Services + "Log in using Access Tokens" permissions, plus View access to Lists / Transactions / Setup, and assign that role to a user (Lists → Employees → your user → Access tab).
  4. Create the access token: Setup → Users/Roles → Access Tokens → New. Pick the integration, user, and role. Save — NetSuite shows your Token ID and Token Secret once. Copy both now.
  5. Your Account ID is in Setup → Company → Company Information (e.g. 5005278, or 5005278_SB1 for a sandbox). It's also the prefix in your login URL.
  6. Paste all five into the Connect NetSuite window. We run a quick test query to validate before saving.
Consumer Secret and Token Secret are each shown only once, at creation. If you lose one, generate a new integration record or access token.
Official NetSuite docs ↗

Gorgias

3 fields: Subdomain · Account email · API key

  1. Go to Settings → Account → REST API.
  2. Your subdomain is the first part of your Gorgias URL — for brand.gorgias.com it's brand.
  3. Your account email is the login email (it's the Basic-auth username).
  4. Copy your API key (click Create API Key if none exists yet).
  5. Enter all three in the Connect Gorgias window.
Official Gorgias docs ↗

ShipStation

2 fields: API Key · API Secret

  1. Go to Settings → Account → API Settings.
  2. Choose V1 API in the version selector (V1 is the legacy API that uses the Key + Secret pair Synthesis needs).
  3. Click Generate API Key and set an expiration. Only the Account Owner (with a verified email) can generate keys.
  4. Paste the API Key in the first box and the API Secret in the second.
As of 2025, ShipStation V1 keys expire — set the longest expiration you're comfortable with, and reconnect when it lapses. V1 API access requires a ShipStation Gold plan (US/Canada) or Scale plan (UK/EU/AU/NZ) or higher — since May 2025 lower plans have no API access. Only the Account Owner can generate keys.
Official ShipStation docs ↗

Yotpo

2 fields: App Key (Store ID) · API Secret

  1. Click the Profile icon (top-right) → Account Settings → General Settings.
  2. Your App Key (also called Store ID) is at the bottom of that page — copy it.
  3. For the API Secret, click Get secret key and enter the verification code Yotpo emails you.
  4. Enter both in the Connect Yotpo window.
Official Yotpo docs ↗

ShopMy

2 fields: Developer Key · Registered domain

  1. In your ShopMy Brand account, go to Account Settings → Tokens → Developer Key and copy the key.
  2. Paste the developer key in the API Secret box.
  3. In the first box, enter your brand's registered domain (e.g. yourbrand.com) — the domain ShopMy has on file for your account.
Official ShopMy docs ↗

ActiveCampaign

2 fields: Account API URL · API Key

  1. Go to Settings → Developer.
  2. Copy your URL (e.g. https://your-account.api-us1.com) into the URL box.
  3. Copy your Key into the API key box.
Official ActiveCampaign docs ↗

Attentive

1 field: API key

  1. Open the integrations setup page (App Marketplace) and click + Create App (top-right).
  2. Set the API permissions you need, then click Create.
  3. Copy the API key shown in the popup — it's shown only once — and paste it in the Connect window.
Official Attentive docs ↗

ShipHero

1 field: Refresh Token

  1. Go to My Account → Developer Users and click Add a 3rd Party Developer (top-right).
  2. Enter a first name, last name, and email, then click Add Developer.
  3. Once created, both an Access Token and a Refresh Token appear. Copy the Refresh Token (the durable one) and paste it in the Connect window.
Official ShipHero docs ↗

Loop Returns

1 field: API key

  1. Go to Settings → Returns Management → Tools & integrations → Developer Tools.
  2. Click Generate API Key, add the Return scope, and give it a name.
  3. Copy the key and paste it in the Connect window.
Official Loop docs ↗

Postscript

1 field: Private Key

  1. Go to Settings → API and click Create Security Key Pair.
  2. Click Show to reveal the pair.
  3. Copy the Private Key (starts with sk_) and paste it in the Connect window.
Official Postscript docs ↗

GRIN

1 field: API key

  1. Go to Account → App Marketplace → GRIN API Integration.
  2. Click Generate Token.
  3. Copy the API key and paste it in the Connect window.
Official GRIN docs ↗

Euka

1 field: OpenAPI key

  1. Sign in to the Euka app (app.euka.ai).
  2. Open Settings → Integrations → OpenAPI keys and create a new key.
  3. Copy the key — it starts with euka_openapi_ — and paste it in the Connect window.
If you don't see OpenAPI keys under Settings → Integrations, ask Euka support (hello@euka.ai) to enable API access for your workspace. The key is read-only for us: we pull your daily affiliate GMV & orders, creator outreach funnel, and top creators/videos by revenue.
Official Euka API reference ↗

Growi

1 field: API key

  1. Log in to your Growi dashboard (you need Owner or Admin access to your organization).
  2. In the left sidebar, open Settings, then click the Developer tab.
  3. Under Api keys, switch the access setting from Full Access to View — then click + Add api key.
  4. Click Copy next to the new key — it starts with growi-sk- — and paste it in the Connect window.
Also ask Growi to turn on per-sale reporting. In the same in-app chat, ask them to enable the ambassador sales endpoint for your organization. It is off by default, and without it we can show each creator's total revenue but not the individual orders behind it. A View key is all we need — we only read your creator roster and campaigns, the revenue and payout terms on each creator, what you have actually paid each creator, creator posting activity, and daily TikTok Shop sales — and never write anything back. This is Growi the creator/affiliate platform for TikTok Shop (growi.io) — not the open-source wiki of the same name. If you don't see a Developer tab under Settings, ask Growi support (in-app chat) to enable API access for your organization.
Official Growi docs ↗

Cruva

2 fields: Shop ID + API key

  1. Log in to Cruva and open cruva.com/dashboard/my-shops.
  2. Click the dropdown on the right of your shop, choose View Info, and copy the Shop ID from the popup.
  3. Click Cruva API + MCP at the bottom of the left sidebar and copy your API key.
  4. Paste the Shop ID in the first box of the Connect window and the API key in the second.
The Shop ID is Cruva's own internal id — it is not your TikTok Shop code, and the two look nothing alike. We check the id belongs to your Cruva account before saving, so pasting the wrong shop is rejected rather than quietly connecting you to another storefront's numbers. Cruva's public pricing lists the API under Enterprise, but the Cruva API + MCP item appears in the sidebar on other plans too — open it and see. If there is no key there, ask Cruva support to enable API access for your shop. We only read — creator performance, sample requests, outreach logs and payouts — and never approve, reject or message anyone on your behalf.
Official Cruva API docs ↗

Fairing

1 field: Secret Token

  1. Go to Account → API Credentials.
  2. Unhide the Secret Token and copy it.
  3. Paste it in the Connect window.
Official Fairing docs ↗
Still stuck? Email support@synthesisintelligence.ai and we'll connect it with you.