- The site owner creates one provider application for the JustFlows installation and stores its shared client credentials in
Admin → Settings → Integrations. - The workspace user opens the workspace Integrations page and authorizes that shared application for a specific account or workspace.
Info
Complete the platform setup before asking customers to connect an OAuth provider. Workspace users cannot access the admin credential fields and should never be sent a client secret.
Before creating provider applications
- Set the final HTTPS App URL under
Admin → Settings → General. Callback URLs are generated from that URL. - For a public development tunnel, set
INTEGRATION_OAUTH_BASE_URLto the same public HTTPS origin before copying callback URLs. - Use a separate provider application and credentials for production, staging, and local/tunnel environments.
- Register every callback exactly as displayed, including scheme, hostname, port, path, and trailing-slash behavior.
- Store secrets only in the JustFlows admin settings or server environment. Do not place them in workspace documentation, screenshots, logs, tickets, or source control.
Google OAuth Web Client
- Open Google Cloud Console and select the project used by this JustFlows installation.
- Configure the OAuth consent screen and choose the publishing/audience mode appropriate for your customers.
- Open
Google Auth Platform → Clients. In older navigation, useAPIs & Services → Credentials. - Create or open an OAuth client whose application type is
Web application. - In JustFlows, open the
Google OAuthtab underAdmin → Settings → Integrationsand copy each callback URL for the Google integrations you intend to offer. - Add every copied URL to the Google client's
Authorized redirect URIs. - Copy the Google
Client IDandClient secretinto the same JustFlows tab and save.
Enable the corresponding APIs in the Google project: Gmail API, Google Calendar API, Google Sheets API, Google Drive API, Google Photos Library API, and the Google Analytics Data and Admin APIs. Only enable providers you intend to make available.
Warning
A Google redirect_uri_mismatch means the URL sent by JustFlows is not an exact match for an authorized redirect URI. Check the origin, port, path, tunnel URL, and environment before rotating credentials.
Microsoft OAuth
- Open the Microsoft Entra admin center and create or open the web application used by JustFlows.
- Copy its
Application (client) ID, create a client secret underCertificates & secrets, and copy the secret value immediately. - Open
Admin → Settings → Integrations → Microsoft OAuthin JustFlows. Copy the Outlook and Microsoft Teams callback URLs into the Entra application as Web redirect URIs. - Save the client ID and secret in JustFlows. For a single-tenant application, also save its
Directory (tenant) ID; useorganizationsonly when the registration supports organizational directories. - For Outlook, add delegated Microsoft Graph permissions
offline_access,User.Read,Mail.Send, andMail.ReadWrite. - For Teams, add
User.Read,Team.ReadBasic.All,Channel.ReadBasic.All,ChannelMessage.Read.All, andChannelMessage.Send. - Grant tenant admin consent where your Microsoft policy or the requested Teams permissions require it.
Other OAuth providers
Each provider uses the same ownership pattern: create the shared application, register the callback displayed in its JustFlows admin tab, configure only the permissions the integration needs, then save the issued client ID and secret in JustFlows.
Slack
- Create or open the platform app at Slack API Apps.
- Under
OAuth & Permissions, add the bot scopes required by the enabled workflow actions. The current integration can usechat:write,channels:read,channels:join,channels:manage,groups:read, andgroups:write. - Open
Admin → Settings → Integrations → Slack OAuth, copy the callback URL, and add it to the Slack app's OAuth redirect URLs. - Copy the Slack client ID and client secret into the same JustFlows tab and save.
Workspace connections store their own issued bot token and, when verified callbacks or approvals are used, the Slack signing secret. Configure the workspace's displayed interactivity URL under Interactivity & Shortcuts.
Notion
- Create or open a public integration at Notion integrations. Internal integrations use workspace tokens and do not use this platform OAuth configuration.
- Enable OAuth for the public integration.
- Copy the callback from
Admin → Settings → Integrations → Notion OAuthinto Notion's redirect URI setting. - Copy the OAuth client ID and client secret into JustFlows and save.
OAuth authorization does not automatically expose all Notion content. Each workspace must still share the required pages and databases with the connected integration.
Airtable
- Open Airtable Builder Hub and register or edit the OAuth integration used by the platform.
- Add
data.records:read,data.records:write, andschema.bases:read. Addschema.bases:writeonly if a future customization creates tables or fields. - Copy the callback from
Admin → Settings → Integrations → Airtable OAuthinto the integration's redirect URL list. - Save the Airtable client ID and client secret in JustFlows.
During authorization, workspace users must select the Airtable workspaces or bases the connection may access. Provider scopes alone do not grant resource access.
HubSpot
- Create or open an app in a HubSpot developer account and open its Auth settings.
- Register the callback displayed under
Admin → Settings → Integrations → HubSpot OAuth. - Configure
oauthand the read/write scopes used by the integration: contacts, companies, deals, and tickets. - Copy the app client ID and client secret into JustFlows and save.
The user installing the app must have permission to authorize it for the selected HubSpot portal. A HubSpot Super Admin may need to approve or perform the installation.
Typeform
- Open Typeform admin, go to
Developer apps, and create or open the platform app. - Configure
offline,accounts:read,forms:read,responses:read,webhooks:read, andwebhooks:write. - Copy the callback from
Admin → Settings → Integrations → Typeform OAuthinto the app's redirect URL list. - Save the Typeform client ID and client secret in JustFlows.
Typeform requires public HTTPS URLs for new webhooks. A local installation therefore needs a tunnel whose public origin matches the callback generated by JustFlows.
Shopify
- Create an app in the Shopify Partner Dashboard that can use OAuth with merchant stores.
- Set its App URL to the JustFlows workspace integration page, using the production HTTPS domain.
- Copy the callback from
Admin → Settings → Integrations → Shopify OAuthintoAllowed redirection URL(s). - Configure
read_products,read_orders,read_customers, andwrite_draft_orders. - Save the app client ID and client secret in JustFlows.
Warning
Orders, customers, draft orders, refunds, transactions, shipping, and fulfillment can require Shopify protected-customer-data approval. Request only the data and fields the shipped workflows actually use.
Calendly
- Create an OAuth application in the Calendly developer portal.
- Copy the callback from
Admin → Settings → Integrations → Calendly OAuthinto Calendly. The HTTPS origin and path must match exactly. - Copy the client ID, client secret, and the one-time webhook signing key into JustFlows before leaving the provider setup screen.
- Save the admin settings and keep the signing key protected; JustFlows uses it to verify inbound booking events.
Use a publicly reachable HTTPS base URL for OAuth and webhook testing. Workflow-specific Calendly webhook subscriptions are created later from the workspace workflow setup.
- Create or open the LinkedIn application used by the JustFlows installation.
- Enable
Sign In with LinkedIn using OpenID ConnectandShare on LinkedInfor member-profile publishing. - For Company Page publishing, request Community Management access and the organization permissions required by the app.
- Register the callback shown under
Admin → Settings → Integrations → LinkedIn OAuth. - Save the LinkedIn client ID and client secret in JustFlows.
LinkedIn access tokens commonly require periodic workspace reconnection. Test both member and organization publishing paths before making Company Page actions available.
- Create a Meta application and add the Instagram API product using Instagram Login.
- Request
instagram_business_basic,instagram_business_content_publish, andinstagram_business_manage_comments. - Add the callback from
Admin → Settings → Integrations → Instagram OAuthto the app's allowed OAuth redirect URLs. - Save the Meta app ID as the client ID and the app secret as the client secret in JustFlows.
Publishing requires an Instagram Business or Creator account and a public media URL that Meta can download. Personal Instagram accounts are not supported by these actions.
Sentry
- Create an OAuth application from the settings of the Sentry organization used for platform testing.
- Use
org:read,project:read, andevent:readfor read-only triage. Addevent:writeonly when workflows may resolve, ignore, assign, or prioritize issues. - Register the callback from
Admin → Settings → Integrations → Sentry OAuth. - Save the Sentry client ID and client secret in JustFlows.
Regional Sentry organizations may use a regional API base URL at the workspace connection level; that is separate from the shared OAuth client configuration.
Zendesk
- In Zendesk Admin Center, open
Apps and integrations → APIs → Zendesk API → OAuth Clients. - Create a client for the JustFlows installation and register the callback from
Admin → Settings → Integrations → Zendesk OAuth. - Save the Zendesk unique identifier as the client ID and save the issued secret in JustFlows.
Each workspace supplies its own Zendesk subdomain when connecting. The shared OAuth client should be tested against a non-production support account before customer rollout.
Verify the platform setup
- Save the admin settings without exposing the credentials to a workspace user.
- From a test workspace, open the provider on the Integrations page and start its OAuth flow.
- Confirm the provider consent screen returns to the expected JustFlows hostname and creates the workspace connection.
- Run the integration's safe connection test, then exercise one non-destructive read action before enabling it for customer plans.