Custom app connections are available on the Team plan. See White-label Connections for the overview.
Quick Connect vs Custom App
What You Need
Three values from your own Snapchat OAuth app:
Snapchat access tokens last 30 minutes; Markifact refreshes them with your client ID and secret on every run. Refresh tokens stay valid until the user revokes the app.
Already have your own authorization flow? If your systems already hold a refresh token issued by your app with the scopes below, skip to Connect to Markifact.
Scopes
Requestsnapchat-marketing-api (required) and snapchat-profile-api (public profiles for Spotlight and profile ads) when the user authorizes.
Setting Up Your Custom Snapchat Ads App
1
Create the OAuth App
- Open the Snap Business Dashboard, go to Business Details, and scroll to OAuth Apps
- Click Add OAuth App, enter the app name (the branding users see when they authorize), and under Redirect URI enter a URL you control (for example
https://www.youragency.com/snapchat-callback). Snapchat appends the auth code to this URL after authorization; the page does not need to do anything - Copy the Client ID and the Client Secret (the secret is shown only once)
2
Authorize and Get the Auth Code
- Open the following URL in a browser, replacing the client ID and redirect URI:
- Sign in as a member of the Business Manager organization that owns the ad accounts and click Continue
- Snapchat redirects to your URL with
code=...in the query string. Copy the value. Auth codes expire quickly and can be exchanged once, so do the next step right away
3
Exchange the Auth Code for a Refresh Token
Run this request, replacing the values (the redirect URI must match the one used above exactly):The response contains
refresh_token. Copy it.Important: Keep this token secure. Anyone holding it, together with your client ID and secret, can act on every ad account the user can reach.
4
Connect to Markifact
- In Markifact, go to the Connections page
- Click Connect on Snapchat Ads
- Select the Custom App (White-label) tab
- Enter a Connection Name (for example “Acme Agency Snapchat Ads”)
- Paste your Client ID, Client Secret, and Refresh Token
- Click Verify & Connect
Selecting Your Connection
Custom app connections appear under the name you chose, with a Custom app badge on the Connections page. Select them in Snapchat Ads nodes, agents, and MCP exactly like any other Snapchat Ads connection.Rotating or Replacing the Token
Add the connection again with the same connection name and the new values. Markifact replaces the stored credentials in place, so workflows and agents bound to the connection keep working.Troubleshooting
Snapchat rejected the client ID or client secret (invalid_client)
Snapchat rejected the client ID or client secret (invalid_client)
Check both values under Business Details > OAuth Apps. The secret is shown only once at creation; if you lost it, create a new OAuth app.
Snapchat rejected the refresh token (invalid_grant)
Snapchat rejected the refresh token (invalid_grant)
The token was issued by a different app than the one whose client ID you pasted, or the user revoked the app. Authorize again with your app and paste the new refresh token.
This Snapchat user belongs to no organization
This Snapchat user belongs to no organization
The user who authorized is not a member of any Business Manager organization. Add them under Members in the Snap Business Dashboard, then authorize again.
A node fails with a permission error after connecting
A node fails with a permission error after connecting
The token is missing a scope (profile nodes need
snapchat-profile-api). Authorize again with both scopes and paste the new refresh token.Summary
Related
White-label Connections
Overview of custom app connections across channels
Get Report
Pull Snapchat Ads performance data

