Third-party connections
Create and manage connections in Dashboard → Integrations. Each connection stores one provider identity, authentication method, settings, capabilities, health state, and encrypted credentials. Shopify is the exception: it connects through the Upsurge Shopify app, and its access tokens stay with that app.
Available providers
| Category | Providers | Primary use |
|---|---|---|
| Commerce | Shopify, WooCommerce, BigCommerce | Product catalog sync, commerce webhooks, imported coupons, workflow actions |
| Advertising | Facebook Ads, Google Ads, TikTok Ads, Microsoft Advertising, Taboola Backstage | Ad accounts, campaigns, and reporting |
| Analytics and export | Google Analytics 4, Meta Pixel and Conversions API, RudderStack, Snowflake | Export canonical events and conversions |
| Affiliate | AWIN, CJ Affiliate | Partner reporting, Partner Intelligence, and affiliate-aware workflow actions |
| Mailchimp, Constant Contact, SendGrid | Lead delivery and lifecycle or transactional email actions | |
| AI | OpenAI, Anthropic Claude, Google Gemini | AI Agent steps in workflows |
| Support | Zendesk, Intercom | Read and write tickets, conversations, and contacts from workflows |
| CRM | Salesforce, Zoho CRM, Creatio | Read records and write contacts, leads, and activities from workflows |
| Productivity | Slack, Telegram, Google Sheets, Google Drive | Notifications and workflow output delivery |
The dashboard shows the capabilities declared by each provider. A capability is not a blanket permission: the selected authentication method, provider scopes, and connection settings still determine what an operation can do.
Authentication methods
| Method | Providers and notes |
|---|---|
| Upsurge Shopify app | Shopify. Install and link the app; no credentials are entered in Upsurge. |
| OAuth 2.0 | Facebook Ads, Google Ads, Microsoft Advertising, Mailchimp, Constant Contact, Slack, Google Sheets, Google Drive, Zendesk, Intercom, Salesforce, Zoho CRM, Creatio, Snowflake. You authorize with an OAuth app that your organization owns. |
| API key | WooCommerce, BigCommerce, GA4, Meta, RudderStack, AWIN, CJ, Mailchimp, SendGrid, OpenAI, Anthropic, Gemini, Telegram. The exact credential fields vary by provider. |
| Access token | TikTok Ads long-term token, Intercom private access token, Slack bot or user token, Snowflake OAuth access token. |
| API token (basic) | Zendesk email and API token. |
| Client credentials | Taboola Backstage and Creatio server-to-server access. |
| Key pair | Snowflake key-pair authentication. |
| Incoming webhook | Slack notifications through a Slack webhook URL. |
| Service account | Google Sheets and Google Drive server-to-server access; share the target file or folder with that account. |
OAuth connections become connected only after the provider callback succeeds. The callback URL is hosted by Upsurge on dashboard.upsur.ge; you do not need to host an OAuth callback on your storefront.
For OAuth providers other than Shopify, Upsurge does not supply a shared OAuth client. Create an app in the provider console, then enter its client ID and client secret when prompted. Google Ads additionally requires a developer token.
Connect and check
- Open Dashboard → Integrations and choose a provider.
- Select an authentication method when the provider offers more than one.
- Enter the requested credentials and settings. For WooCommerce and BigCommerce, select the Upsurge site that should receive products.
- For OAuth, continue to the provider, approve the requested scopes, and return to Upsurge.
- Select Check connection. Upsurge calls the provider with the stored credentials and records a sanitized health result.
Connection states include pending, connected, needs_attention, and revoked. Fix credentials or settings when a connection needs attention, then check it again.
Provider setup notes
Shopify
Shopify uses the Upsurge-managed Shopify app. Select Install Upsurge Shopify app in Integrations, approve the install in Shopify, then select Link Upsurge in the app to bind the store to an Upsurge site.
Follow Shopify app setup and configuration for the illustrated walkthrough, including app embed settings, recommendation blocks, Smart Search, and embedded overlays.
From the app's home page in Shopify admin you can:
- Start full sync to import the catalog, and Start profile sync to import customers;
- Activate Web Pixel for consent-aware storefront events;
- Open app embeds to turn on Upsurge storefront; add recommendation, Smart Search, and embedded overlay blocks separately in the theme editor;
- Enable coupon import to allow Upsurge to read existing discounts (optional
read_discountsaccess); - Allow product updates to let authorized workflows update products (optional
write_productsaccess).
After linking, open the connection in Dashboard → Integrations and select Sync connection. It refreshes every supported data type at once — products and variants, customer profiles, order history, coupons, and linked segment membership — and shows whether each import started, was skipped, or needs attention. WooCommerce connections use the same Sync connection action. Shopify access tokens are held by the Upsurge Shopify app and are never entered or shown in the dashboard.
The Upsurge Shopify app is enabled per store. If the install option is not available for your store, contact Upsurge support.
WooCommerce and BigCommerce
- WooCommerce: create REST API consumer credentials with read access and provide the HTTPS store URL. Grant read access to coupons and store settings if you plan to import coupons. The Upsurge WordPress plugin installs the storefront SDK, tracking, customer sync, and Smart Search blocks.
- BigCommerce: provide the store hash and access token. Webhooks must use the standard
webhook-id,webhook-timestamp, andwebhook-signatureheaders.
Bind each connection to an Upsurge site before syncing products. See Product sync.
Ads and analytics
- Facebook Ads: authorize the read-only
ads_readscope. - Google Ads: authorize the Google Ads scope and provide your developer token; customer and manager-account IDs are optional routing settings.
- Microsoft Advertising, TikTok Ads, Taboola Backstage: authorize with OAuth, a long-term access token, or client credentials respectively, for reporting.
- GA4: provide an API secret and measurement ID.
- Meta: provide a Conversions API access token and pixel ID; a test event code is optional.
- RudderStack: provide a Node source write key and your workspace data-plane URL.
- Snowflake: use Snowflake OAuth, an OAuth access token, or key-pair authentication to export events.
- AWIN and CJ: provide the relevant token and account identifiers. AWIN uses the Conversion API.
Email, AI, support, CRM, and productivity
- Mailchimp: use OAuth or an API key whose suffix identifies the server, and configure the target audience when appropriate.
- Constant Contact: authorize contact, campaign, and offline access.
- SendGrid: provide an API key; transactional sends avoid automatic retries that could duplicate email.
- OpenAI, Anthropic, Gemini: provide a provider API key and select the connection in an AI Agent workflow step.
- Zendesk and Intercom: authorize with OAuth, or use a Zendesk API token or an Intercom private access token.
- Salesforce, Zoho CRM, Creatio: authorize with OAuth; Creatio also supports client credentials.
- Slack and Telegram: configure the target channel or chat in the workflow action.
- Google Sheets and Google Drive: use OAuth or a service account; share target resources with the service account.
Manage a connection through the API
These merchant endpoints require a Firebase ID token. Use them from a trusted application server; do not send provider credentials from a public storefront.
GET /api/v1/integrations/connections
POST /api/v1/integrations/connections
GET /api/v1/integrations/connections/{connectionId}
PATCH /api/v1/integrations/connections/{connectionId}
DELETE /api/v1/integrations/connections/{connectionId}
POST /api/v1/integrations/connections/{connectionId}/verify
POST /api/v1/integrations/connections/{connectionId}/sync
POST /api/v1/integrations/connections/{connectionId}/actions
For example, create a WooCommerce connection:
curl --request POST 'https://api.upsur.ge/api/v1/integrations/connections' \
--header "Authorization: Bearer $FIREBASE_ID_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"provider_id": "woocommerce",
"name": "Primary store",
"credentials": {
"consumerKey": "'"$WOO_CONSUMER_KEY"'",
"consumerSecret": "'"$WOO_CONSUMER_SECRET"'"
},
"settings": {
"store_url": "https://shop.example.com",
"website_id": "site_123"
}
}'
Successful responses never echo the credential values. DELETE revokes a connection and retains its audit record instead of deleting it.
Shopify connections cannot be created through this API; the request is rejected with "Install and link the Upsurge Shopify app to connect your store".
Troubleshooting
| Symptom | Check |
|---|---|
| OAuth redirects back with an error | Provider app callback URL, client ID/secret, requested scopes, and the ten-minute authorization window |
| Check connection fails | Credential permissions, token expiry, provider account access, and required connection settings |
| Shopify store is missing or unlinked | Reopen the Upsurge Shopify app in Shopify admin and select Link Upsurge |
| Workflow action is unavailable | The provider connection is connected and declares workflow_action |
| Commerce sync is unavailable | WooCommerce or BigCommerce: the connection is connected and has an Upsurge site selected. Shopify: use Sync connection, or Start full sync in the app |
| Google service account cannot write | The spreadsheet or folder is shared with the service-account email |