Authenticate using OAuth 2.0 with the oauth.readonly scope to request access to installed locations and obtain a location token for secure API calls.
In 97Display, connect to the SaaS API by supplying client credentials and completing the OAuth grant so 97Display can operate on your SaaS data.
GET /oauth/installedLocations; POST /oauth/locationToken; saas/location.write; PUT /update-saas-subscription/:locationId; POST /enable-saas/:locationId
Trigger: when a user grants access and installs the SaaS location.
Actions: fetch installedLocations, create or update the location in 97Display, and store the access token for future calls.
METHOD/PATH: GET /oauth/installedLocations; POST /oauth/locationToken
Fields: locationId, installedLocation, accessToken, refreshToken
Trigger: user enables SaaS for a location.
Actions: call POST /oauth/locationToken, then saas/location.write to store data.
METHOD/PATH: POST /oauth/locationToken
Fields: locationId, locationToken, accessToken
Trigger: subscription status changes in SaaS then update in GHL
Actions: PUT /update-saas-subscription/:locationId to reflect changes.
METHOD/PATH: PUT /update-saas-subscription/:locationId
Fields: locationId, subscriptionStatus, planId
No-code setup with OAuth: connect once, reuse tokens across requests
Automatic data syncing between SaaS and 97Display without custom scripts
Centralized analytics and reporting in GHL for connected locations
Glossary of elements used in this integration, including OAuth, endpoints, triggers, actions, and data mappings.
OAuth 2.0 is an authorization framework that lets apps access user data without sharing passwords.
An individual SaaS location linked to a user account that can be managed via API calls.
A specific URL path in the API used to perform an action or retrieve data.
A token that authorizes requests for a specific SaaS location.
Set a cadence to pull installed locations and update 97Display without manual steps.
Trigger updates in 97Display when a SaaS location changes state.
Log failures and retries in a centralized dashboard.
In SaaS API, create an OAuth client and capture client_id and client_secret.
Direct users to authorize and grant the oauth.readonly scope to SaaS API.
Configure endpoints in GHL to call the SaaS API’s endpoints and map data to 97Display.
No coding is required to start the SaaS API connection with 97Display. Use the built-in OAuth flow to authorize access and plug endpoints to move data between systems. The UI guides you through mapping fields and setting up triggers and actions. This makes a no-code approach accessible to non-developers. The integration uses standard REST calls and Webhook events to keep data in sync without writing scripts.
The primary endpoints involved are GET /oauth/installedLocations to fetch your SaaS locations, POST /oauth/locationToken to exchange tokens, and PUT /update-saas-subscription/:locationId to update subscription state. You’ll also use saas/location.write to persist location data in 97Display. These endpoints enable location-level control and token management for secure calls.
OAuth 2.0 keeps credentials safe by tokenizing access. You grant specific scopes (such as oauth.readonly) and 97Display uses access and refresh tokens to call the SaaS API. Tokens can be rotated and refreshed automatically, reducing risk. Always follow best practices by rotating secrets and using secure storage for tokens.
Yes. You can map fields between SaaS locations and 97Display, such as locationId, status, and plan. The no-code setup lets you choose fields, rename them for clarity, and decide which data to sync. If a field changes in SaaS, you can propagate it to 97Display automatically.
Token refresh is handled via the OAuth mechanism. When an access token expires, the refresh token is used to obtain a new access token without reauthenticating the user. If a refresh fails, you can prompt for reauthorization or retry after a cool-down period.
Yes. You can test connections in a sandbox or staging environment. Use test credentials and sample locations to verify data flow, triggers, and mappings before going live. This helps ensure data integrity and safe deployments.
Connection status and logs appear in the 97Display integration panel and the GHL connection diagnostics. You can review token status, endpoint responses, and any errors. This visibility helps with quick troubleshooting and reliability.
Due to high volume, we will be upgrading our server soon!
Complete Operations Catalog - 126 Actions & Triggers