No matching integration docs found.
Gmail, Google Calendar, Google Drive, and Google Photos use the same Google OAuth client in JustFlows. Configure it once in Google Cloud, then paste the client ID and client secret into JustFlows admin.
Create or find the client in Google Cloud
- Open Google Cloud Console and select the project used for JustFlows integrations.
- Open
Google Auth Platform > Clients. In older console navigation this may appear as APIs & Services > Credentials.
- If a suitable OAuth client already exists, open it and confirm its application type is
Web application.
- If one does not exist, click
Create client or Create credentials > OAuth client ID, then choose Web application.
- Give it a clear name such as
JustFlows Web OAuth.
Add callback URLs
- In JustFlows, open
/admin/settings/integrations and use the Google OAuth tab.
- Copy each callback URL shown there for the Google providers you want to enable.
- Back in Google Cloud, open the OAuth web client and find
Authorized redirect URIs.
- Click
Add URI and paste each JustFlows callback URL exactly as shown.
- Save the OAuth client.
Google requires the redirect URI in the OAuth request to exactly match one of the authorized redirect URIs on the OAuth client. A different host, scheme, port, path, trailing slash, or tunnel URL will cause a redirect mismatch error.
Save credentials in JustFlows
- After creating the OAuth web client, copy its
Client ID and Client secret from Google Cloud.
- Paste them into
/admin/settings/integrations under the Google OAuth tab.
- Save the settings.
- Return to the provider page, for example
/my/integrations?integration=google_drive, and click Continue with Google OAuth.
If you use a local tunnel such as ngrok, add the tunnel callback URLs to Google Cloud and make sure JustFlows generates those same URLs, usually through APP_URL or INTEGRATION_OAUTH_BASE_URL.
Setup
Slack supports both setup methods in JustFlows. The manual bot-token path is fastest for local development, while the OAuth path gives users the normal Slack install screen and stores the issued bot token on the workspace connection.
- Create a Slack app at api.slack.com/apps.
- Add bot token scopes such as
chat:write, channels:read, channels:join, channels:manage, groups:read and groups:write.
- For OAuth, open
/admin/settings/integrations, use the Slack OAuth tab, add the Slack client ID and client secret, and copy the displayed callback URL into the Slack app redirect URLs.
- For manual bot-token setup, install or reinstall the app to the target workspace after changing scopes, then copy the bot token from
OAuth & Permissions.
- Copy the signing secret from
Basic Information > App Credentials. Slack approvals and verified incoming events use this secret to validate Slack callbacks.
- Open
Interactivity & Shortcuts in the Slack app, turn interactivity on, and set the Request URL to https://your-domain.com/webhooks/slack/events. Use the same public HTTPS app URL that serves JustFlows.
- Open
/my/integrations?integration=slack in JustFlows, choose either Use bot token or Continue with Slack OAuth, and save the connection.
Current capabilities
Outbound actions
Send messages, reply in threads, create channels, join public channels, rename channels, archive and unarchive them, and update topic or purpose.
Inbound path
Verified webhook handling is wired for Slack event callbacks and workflow approval decisions sent from Slack.
Slack AI agent context
Slack already works well as an action layer for agents. An AI agent can post progress updates, request approval in a channel, reply inside a thread, prepare dedicated channels for a task, or keep stakeholders informed while a workflow runs in the background. The webhook foundation is also ready for future inbound event-to-workflow triggering.
Setup
- Open the Discord Developer Portal and click
New Application.
- Give the app a name that will make sense to your team, such as
JustFlows or JustFlows Bot.
- Open the
Bot tab and click Add Bot.
- In the bot settings, copy the
Token. This is the value you will paste into the JustFlows Discord integration as the bot token.
- Open
General Information and copy the Public Key. You will paste it into the JustFlows Discord integration as the application public key.
- Still in the developer portal, open
OAuth2 > URL Generator.
- Under scopes, select
bot.
- Under bot permissions, enable the minimum permissions you need. For the current JustFlows implementation, the practical starting set is:
View Channels
Send Messages
Read Message History
Manage Channels if you want channel creation or rename actions
- Copy the generated invite URL, open it, and add the bot to the Discord server you want to use with JustFlows.
- In Discord itself, turn on
Developer Mode from User Settings > Advanced.
- After Developer Mode is enabled, right-click the target server and choose
Copy Server ID.
- If you want a default posting channel, right-click the target text channel and choose
Copy Channel ID.
- Open
/my/integrations?integration=discord in JustFlows.
- Paste the bot token, application public key, optionally add the server ID and channel ID, then save the connection.
- Return to the Discord Developer Portal and paste the JustFlows
Interactions Endpoint URL into General Information > Interactions Endpoint URL. This is required for Discord approval buttons.
https://jfl100.qdev.tech/webhooks/discord/interactions
Discord uses a bot-token model in the current implementation. The bot must already be present in the target server before JustFlows can validate server or channel access.
The optional fields in JustFlows work like this:
Bot token: required. This is copied from the Discord bot settings page.
Application public key: required for approval buttons. This verifies Discord interaction clicks.
Default server ID: optional but useful for listing channels and creating new text channels later.
Default channel ID: optional but recommended if you want the page-level action test to work immediately.
If validation fails, the most common reasons are: the bot was not invited to the server, the copied server or channel ID is wrong, or the bot is missing permission to view or post in the target channel.
Current capabilities
Connection validation
The save flow validates the bot token and optionally checks the selected server and channel before storing a reusable workspace connection.
Action test
The integrations page can send a test message to confirm that the Discord bot can post into the selected channel.
Approval buttons
Approval nodes can post Approve and Reject buttons to Discord, verify the signed click, and remove the buttons after a decision.
Synced tool definitions
Send messages, fetch server or channel details, list server channels, inspect recent channel messages, create text or category channels, rename channels, delete channels, and pin or unpin messages.
Communication path
It mirrors the shared workspace-level integration model already used by Slack, which keeps communication providers aligned inside the same integrations shell.
Discord AI agent context
Discord gives agents a lightweight team communication layer similar to Slack, especially for communities, support rooms, internal servers, and fast operational updates. An agent can post run results, route notifications into the right channel, inspect the channel structure of a server, and prepare fresh text channels for a new workflow or incident thread.
Setup
Telegram uses a bot token. Create one bot for the workspace, add it to the chat or group you want JustFlows to use, then save the bot token and default chat ID in the integration page.
- Open Telegram and start a conversation with
@BotFather.
- Run
/newbot, choose a display name and username, then copy the generated bot token.
- Add the bot to the target chat, group or channel. For groups and channels, make sure the bot has permission to send messages.
- Find the target chat ID. You can send a message to the bot and call Telegram's
getUpdates endpoint, or use an internal admin/test chat while setting this up.
- Open
/my/integrations?integration=telegram in JustFlows.
- Paste the bot token, add a default chat ID, and optionally restrict inbound events with the allowed chat IDs list.
- If you plan to use Telegram webhooks, add a webhook secret token. JustFlows validates the
X-Telegram-Bot-Api-Secret-Token header when Telegram sends webhook updates.
- Save the connection, then run the send-message action test.
Keep the bot token private. Anyone with that token can control the bot, so rotate it from BotFather if it is exposed.
Current capabilities
Connection validation
The save flow validates the bot token with Telegram before storing one reusable workspace connection.
Outbound messages
Send a message to the saved default chat ID or override the chat ID for a specific workflow action.
Webhook activation
Activate a Telegram webhook URL for workflow message triggers. Approval node delivery currently uses Slack and Discord in the builder.
Workspace safety
Allowed inbound chat IDs and webhook secret tokens help keep inbound Telegram events scoped to trusted chats.
Telegram AI agent context
Telegram is useful for lightweight operational alerts, founder notifications, customer support pings, approval prompts and private team channels. Agents can post short summaries, ask for human approval, or notify a group when a workflow needs attention.
Setup
WhatsApp uses Meta’s official Cloud API. You can start with the test number and temporary token in the Meta app dashboard, then replace them with a production business number and permanent system-user token.
- Create or select a Meta app with the WhatsApp product enabled and connect a WhatsApp Business Account.
- Copy the phone number ID, WhatsApp Business Account ID, access token, and Meta app secret.
- Create a private webhook verification token of at least 16 characters. This is your own value, not a token supplied by Meta.
- Open
/my/integrations?integration=whatsapp, enter those values, and save the connection.
- For the Meta test number, add your own phone as a permitted recipient before using the send-message test.
- Create and publish a workflow with a WhatsApp message trigger, then copy its callback URL.
- In Meta App Dashboard → WhatsApp → Configuration, enter the callback URL and the same verification token, then subscribe to the
messages field.
- Return to the connection page and use Subscribe app.
Keep access tokens and the app secret private. For production, use a narrowly scoped permanent system-user token and rotate any credential that may have been exposed.
Current capabilities
Inbound messages
Verify signed Meta webhook deliveries and start one workflow run for each new customer message.
Support replies
Send free-form replies during the rolling customer support window opened by an inbound message.
Approved templates
Use approved WhatsApp templates for business-initiated messages or conversations outside the support window.
Webhook safety
Validate callback verification tokens and Meta request signatures, deduplicate message retries, and optionally restrict inbound phone numbers.
WhatsApp AI agent context
WhatsApp works well for customer support conversations initiated by the customer. Keep conversation state isolated per phone number, use a concise reply contract, and route requests involving account access, sensitive information, refunds, or policy discretion to a human.
Setup
Postiz is the recommended first publishing backend for social content management in JustFlows. It lets users connect their social channels in Postiz once, then lets JustFlows create drafts or scheduled posts through one reusable workspace connection.
- Create or open your Postiz workspace.
- Connect the social channels you want to publish to inside Postiz first, such as LinkedIn, X, Facebook or Instagram.
- In Postiz, open
Settings > Developers > Public API.
- Create or copy a Public API key. Paste that key into
/my/integrations?integration=postiz in JustFlows.
- For Postiz Cloud, keep the default Public API base URL:
https://api.postiz.com/public/v1.
- For self-hosted Postiz, paste your self-hosted Public API base URL, ending at the public API version path.
- Save the connection, then run
List social channels from the JustFlows action test.
- Copy the returned social channel/integration ID for the channel you want as the default, paste it into
Default social channel ID, and save again.
Use the platform value that matches the Postiz channel, for example linkedin. Keep the first test as a draft before using schedule or publish-now actions against real social accounts.
Configure a social campaign workflow
- Launch the
AI Social Campaign Draft Builder or Long-form Content Repurposer template.
- In the workflow test form, select any combination of Facebook, Instagram, LinkedIn, X, Threads, and Bluesky.
- Paste the Postiz channel ID shown by
List social channels into the matching visible channel field. You do not need to edit channel_mappings JSON manually.
- Choose
Upload files to attach media per selected platform, or Generate with image agent to create a separate image for every selected platform.
- Instagram requires an image or MP4. Media is optional for the other five supported campaign channels.
- Review the generated platform-specific drafts at the approval step before allowing Postiz to create them.
The friendly form writes the selected platforms, Postiz IDs, and media into the workflow payload automatically. The JSON editor remains available under Advanced JSON for uncommon Postiz settings.
Facebook and Instagram media
- Open
/my/integrations?integration=postiz and find Postiz action test.
- Select
Upload default social media, choose Facebook or Instagram, select an image or MP4 file, then run the action.
- JustFlows uploads the file through
POST /public/v1/upload and saves the returned media as the default for that platform.
- Retry the failed Postiz workflow step. Empty
media_by_platform arrays now fall back to this saved platform media.
- Keep the returned
id and path. An external URL or local filename is not a valid replacement for an uploaded Postiz media record.
- Pass the returned object in each social post's
images array, or provide it once under media_by_platform.facebook or media_by_platform.instagram in the workflow input.
- Set
settings.post_type to post or story for Facebook and Instagram. JustFlows defaults this to post.
{
"media_by_platform": {
"facebook": [
{"id": "postiz-upload-id", "path": "https://your-postiz/uploads/campaign.jpg"}
],
"instagram": [
{"id": "postiz-upload-id", "path": "https://your-postiz/uploads/campaign.jpg"}
]
}
}
Instagram requires uploaded media. JustFlows stops the workflow with a clear validation error before calling Postiz when an Instagram post has no valid media object.
Upload media inside a workflow
- Update the saved Postiz connection once so JustFlows creates the new
Postiz Upload Media tool definition.
- Add a
Tool node before the social Agent and select Postiz Upload Media.
- Set
media_url to a workflow value such as {{ input.media_url }}. The URL must be public HTTPS and return a supported image or MP4 directly.
- Optionally set
filename, for example {{ input.media_filename }}.
- In the later
Postiz Create Post node, pass {{ context.tools.tool_postiz_upload_media.response }} as the media object for Facebook and Instagram.
{
"media_by_platform": {
"facebook": ["{{ context.tools.tool_postiz_upload_media.response }}"],
"instagram": ["{{ context.tools.tool_postiz_upload_media.response }}"]
}
}
New AI Social Campaign Draft Builder and Long-form Content Repurposer workflows include this upload step automatically. Existing workflows are not rewritten automatically, so add the step once or recreate the workflow from the updated template.
Current capabilities
Connection validation
The save flow validates the Public API key, lists connected Postiz social channels, and stores one reusable workspace connection.
Social channel discovery
postiz.list_integrations lists the connected social channels available for publishing.
Draft and scheduled posts
postiz.create_post can create draft posts, scheduled posts, or publish-now requests depending on the Postiz payload type.
Multi-channel payloads
Workflow payloads can pass one simple post or a social_posts array for multiple Postiz channels.
Testing
From the integrations page
- Open
/my/integrations?integration=postiz.
- Paste the Public API key and save the connection.
- Run
List social channels. If this succeeds, the API key and base URL are valid.
- Copy one returned channel ID into
Default social channel ID, confirm the platform value, and update the connection.
- Choose
Create draft/scheduled post, leave Post type as Draft, add harmless content, and run the action.
- Open Postiz and confirm the draft appeared under the selected social channel.
Postiz AI agent context
Postiz gives AI workflows a practical social publishing output. Agents can turn campaign notes, release summaries, blog drafts or customer updates into approved social drafts, then schedule them after human review.
Setup
- Create an application in the LinkedIn Developer Portal and add the callback URL shown in the admin integration settings.
- Enable
Sign In with LinkedIn using OpenID Connect and Share on LinkedIn for personal profile publishing.
- For Company Page publishing, request LinkedIn Community Management access and the organization permissions used by your app.
- Add the LinkedIn client ID and client secret in the platform integration settings.
- Open
/my/integrations?integration=linkedin, choose a personal profile or Company Page target, and continue through LinkedIn OAuth.
- For a Company Page, enter its author URN in the form
urn:li:organization:123456.
LinkedIn access tokens normally expire after 60 days. Most applications do not receive programmatic refresh tokens, so a workspace may occasionally need to reconnect.
Current capabilities
Profile and Page context
Inspect the connected member and, when organization access is approved, list Company Pages the member administers.
Reviewed publishing
linkedin.create_post publishes text or an article link to the selected member or organization author.
Post inspection
Retrieve a known share or UGC post by URN for later workflow decisions.
Controlled deletion
Delete a known post through an approval-required tool action.
LinkedIn AI agent context
Use an agent to turn a product launch, event, article, or company update into concise professional copy, then place a human approval step immediately before the LinkedIn publishing tool.
Setup
- Create a Meta application and add the Instagram API product using Instagram Login.
- Add the callback URL shown in the admin integration settings to the app's allowed OAuth redirect URLs.
- Request
instagram_business_basic, instagram_business_content_publish, and instagram_business_manage_comments.
- Add the Instagram app ID and app secret in the platform integration settings.
- Open
/my/integrations?integration=instagram and authorize an Instagram Business or Creator account.
- Use Get connected profile or List recent media before testing a workflow publishing action.
Publishing requires a professional Instagram account and a public media URL that Meta can download. Personal accounts are not supported by these workflow actions.
Current capabilities
Account and media context
Inspect the connected professional account and list its recent image, carousel, and Reel media.
Reviewed publishing
instagram.publish_image and instagram.publish_reel publish approved public media URLs with captions.
Comment conversations
List comments and send reviewed replies through the connected professional account.
Comment moderation
Hide, restore, or permanently delete a known comment through explicit approval-required tools.
Instagram AI agent context
Use an agent to turn verified campaign facts and a factual description of the supplied visual into a caption and accessible alt text, then place human approval immediately before the publishing tool.
Setup
- Collect the SMTP host, port, encryption mode, username and password from your mail provider.
- Confirm the sender address is allowed by the provider. Many relays only allow verified domains or verified mailbox addresses.
- Open
/my/integrations?integration=email_smtp in JustFlows.
- Enter the SMTP connection details, sender email and optional sender name.
- Save the connection. JustFlows opens an SMTP session before storing the workspace connection.
- Use the action test to send a real email through the saved connection.
SMTP is the generic "send email" provider. Gmail and Outlook are richer OAuth mailbox integrations, while SMTP covers common notification, relay and transactional-email use cases quickly.
Current capabilities
Connection validation
The save flow validates the SMTP host, port, encryption and credentials before storing a reusable workspace connection.
Action test
The integrations page sends a real test email to confirm that relay permissions, authentication and sender rules all work together.
Synced tool definition
email_smtp.send_email lets workflows send outbound email with recipient, subject, body, body format, CC, BCC and Reply-To fields.
Workflow fit
SMTP is useful for status notifications, handoff summaries, approval requests, customer updates and escalation emails from workflow runs.
SMTP AI agent context
Email gives agents a broad notification channel that does not require a team chat install. A workflow can summarize a webhook payload, prepare a customer-facing update, send a manager escalation, or deliver a digest at the end of an automated run. For safety, SMTP remains outbound only; inbound email triggers are handled through Gmail and Outlook mailbox providers.
Setup
- Open Brevo and go to
SMTP & API.
- Create or copy an API key for the workspace automation account.
- Confirm the sender email or sending domain you plan to use is verified in Brevo.
- Open
/my/integrations?integration=brevo in JustFlows.
- Paste the API key, optionally add a default sender and default list ID, then save the connection.
- Use the contact test to create/update or fetch one test contact.
Brevo uses API-key auth in this integration. Keep the key scoped to the workspace that should own workflow email, list sync and contact changes.
Current capabilities
Email actions
Send transactional text or HTML email, or send a Brevo template email with params JSON.
Contact actions
Create or update contacts, fetch contacts, add or remove contacts from a list, and bulk import contacts into one or more lists.
Custom API action
Call a relative Brevo API path for endpoints not yet modeled as first-class workflow tools.
Brevo AI agent context
Brevo is a strong first marketing-email workflow provider because agents can qualify a lead, prepare contact attributes, add the person to the right list, send a template-based follow-up, or queue bulk list syncs from connected databases.
Setup
- In Mailgun, create or choose the sending domain workflows should use.
- Confirm whether the domain belongs to the US or EU Mailgun API region.
- Create or copy a private API key.
- Open
/my/integrations?integration=mailgun in JustFlows.
- Paste the API key, domain, region and default sender, then save the connection.
- Use the action test to send a harmless email or list recent delivery events.
Mailgun is focused on developer-friendly email delivery through Mailgun's API. It is a good fit when the workflow needs reliable send and delivery-event lookup rather than marketing-list management; use the Email SMTP integration when you specifically need raw SMTP sending.
Current capabilities
Email actions
Send text or HTML email and send Mailgun template email with variables JSON.
Delivery events
List recent Mailgun events by recipient, event type, message ID, time window and limit.
Custom API action
Call a relative Mailgun API path using the saved key, domain and selected API region.
Mailgun AI agent context
Mailgun is useful for operational email: alerting customers, sending run summaries, and checking whether an important workflow email was delivered, bounced or complained about.
Setup
- In Mailchimp, create or copy a Marketing API key.
- Note the server prefix. It is usually the suffix after the dash in the key, such as
us21.
- Copy the audience ID you want workflows to use by default, if you already know it.
- Open
/my/integrations?integration=mailchimp in JustFlows.
- Paste the API key, optionally add the server prefix and default audience ID, then save the connection.
- Use the connection test to list audiences or create/update one test subscriber.
This integration uses the Mailchimp Marketing API for audiences, subscribers and tags. Transactional sending is a separate Mailchimp Transactional product and is intentionally not mixed into this first Mailchimp connector.
Current capabilities
Audience actions
List audiences and fetch one audience by list ID.
Subscriber actions
Create or update subscribers, batch subscribe/update audience members, fetch subscribers, add or remove tags, and update subscriber status.
Custom API action
Call a relative Mailchimp Marketing API path for endpoints not yet modeled as first-class workflow tools.
Mailchimp AI agent context
Mailchimp is best for audience-sync workflows: AI can classify leads, produce merge fields, apply tags, and keep subscribers organized for later campaigns.
Setup
- Configure the app-level Google OAuth client from the admin Integrations settings page, or with
GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET.
- For ngrok or tunnel testing, optionally set
INTEGRATION_OAUTH_BASE_URL to the public tunnel base URL so callbacks do not depend on the main app URL.
- Add the Gmail callback URL in Google Cloud:
/my/integrations/gmail/oauth/callback.
- Enable Gmail API access for the Google project.
- Open
/my/integrations?integration=gmail and start the OAuth flow.
- Approve the Gmail send, read and modify scopes, then use the action test to send a real message.
Gmail requests https://www.googleapis.com/auth/gmail.send, https://www.googleapis.com/auth/gmail.readonly and https://www.googleapis.com/auth/gmail.modify. It can send outbound email, reply inside threads, poll matching messages for published workflow triggers and mark handled messages as read.
Current capabilities
OAuth connection
The save flow redirects to Google, stores refreshable OAuth credentials, and records the connected Gmail address.
Send email action
gmail.send_email sends MIME email through Gmail using recipient, subject, body, body format, CC, BCC and Reply-To fields.
Reply and mark read
gmail.reply_to_email replies inside an existing thread, while gmail.mark_as_read removes the unread label after a flow handles the message.
Action test
The integrations page can send a real test email through the connected Gmail account.
Email trigger
Workflow trigger nodes can poll Gmail with a Gmail search query such as is:unread newer_than:1d and dispatch each provider message id once.
Workflow fit
Gmail is the polished Google-account path for notifications, summaries, customer follow-ups and approval emails.
Gmail AI agent context
Gmail gives agents a familiar personal or team mailbox channel for inbound and outbound email workflows. A workflow can classify incoming Gmail messages, draft a concise update, reply in the same thread, and mark the source message as read once handled.
Setup
- Register a Microsoft Entra app and configure the client ID, client secret and optional tenant from the admin Integrations settings page, or with
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET and MICROSOFT_TENANT.
- For ngrok or tunnel testing, optionally set
INTEGRATION_OAUTH_BASE_URL to the public tunnel base URL so callbacks do not depend on the main app URL.
- Add the Outlook callback URL in the app registration:
/my/integrations/outlook/oauth/callback.
- Allow delegated Microsoft Graph permissions for
offline_access, User.Read, Mail.Send and Mail.ReadWrite.
- Open
/my/integrations?integration=outlook and start the Microsoft OAuth flow.
- Use the action test to send a real message through the connected mailbox.
Outlook uses Microsoft Graph /me/sendMail, message reply endpoints, mailbox reads and message updates for published workflow actions and triggers. Graph returns an accepted response when an outbound or reply message is queued for delivery.
Current capabilities
OAuth connection
The save flow redirects to Microsoft, stores refreshable OAuth credentials, and records the connected Microsoft mailbox.
Send email action
outlook.send_email sends email through Microsoft Graph with recipient, subject, body, body format, CC, BCC and Reply-To fields.
Reply and mark read
outlook.reply_to_email replies to an existing message, while outlook.mark_as_read marks the source message read after a successful flow.
Action test
The integrations page can send a real test email through the connected Outlook mailbox.
Email trigger
Workflow trigger nodes can poll an Outlook folder, defaulting to unread messages in inbox, and dispatch each provider message id once.
Workflow fit
Outlook covers Microsoft 365 teams that want workflow notifications, handoffs and customer updates from a trusted mailbox.
Outlook AI agent context
Outlook gives business users the Microsoft 365 version of the email workflow path. It pairs well with approval and escalation workflows where incoming mailbox messages need classification, same-thread replies and inbox cleanup after handling.
Setup
Before you connect: use a Microsoft work or school account whose organization has an eligible Microsoft Teams license.
The Teams service must be enabled for the connecting user, and that user must have access to at least one organizational team and channel.
- Open Microsoft Entra admin center, go to Identity > Applications > App registrations, and create or open the web application used by the platform.
- Copy its Application (client) ID. Under Certificates & secrets, create a client secret and copy its value immediately.
- Configure those values under Admin > Settings > Integrations > Microsoft OAuth. For a single-tenant app, copy Directory (tenant) ID from the app registration Overview page into Microsoft tenant. Use
organizations only when Supported account types allows accounts in any organizational directory.
- Under Authentication, add a Web redirect URI ending in
/my/integrations/microsoft-teams/oauth/callback. The scheme, host and port must exactly match the platform URL.
- Under API permissions > Add a permission > Microsoft Graph > Delegated permissions, add
User.Read, Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Read.All and ChannelMessage.Send.
- Select Grant admin consent, or ask a Microsoft 365 administrator to do it. Channel message read access commonly requires administrator approval.
- In the Microsoft 365 admin center, open Users > Active users > connecting user > Licenses and apps. Verify that an eligible subscription is assigned and its Microsoft Teams service is enabled.
- Sign in to Microsoft Teams with the same work account. Create or join an organizational team, make sure it has a channel, and send a message once to complete first-use provisioning.
- Open
/my/integrations?integration=microsoft_teams and continue through Microsoft OAuth with a work or school account. Leave the IDs blank to automatically select the first available team and its General channel when present. Explicit IDs are always preserved.
Personal Microsoft accounts and personal Teams communities are not supported by these Microsoft Graph endpoints. The connected user can only discover organizational teams and channels they are allowed to access.
Connection troubleshooting
- Connected, but no default destination was selected: OAuth succeeded, but Microsoft Graph could not find a team and channel available to the user. Confirm the license, service status and direct team membership, then reconnect.
- Forbidden or provisioning error: newly assigned licenses and newly created Teams resources can take time to become available. Sign in to Teams once, confirm the team works there, and retry after provisioning completes.
- Insufficient privileges: verify the delegated permissions above, grant admin consent, and reconnect so Microsoft issues a token with the approved permissions.
- Tenant mismatch: the connected account, Teams license, team membership and Entra application must use compatible tenants. A single-tenant application must use its Directory (tenant) ID.
- Microsoft-side check: sign in to Microsoft Graph Explorer with the same account and run
GET https://graph.microsoft.com/v1.0/me/joinedTeams. If that request also fails, a Microsoft 365 administrator must resolve the account, license, policy or provisioning issue.
Finding team, channel and message IDs
- Leave the team and channel ID fields empty during connection. The platform automatically selects the first team available to the connected user and prefers its General channel.
- After connecting, review the Connection snapshot to see the selected team and channel.
- To target a different destination, open that channel in Microsoft Teams, select More options > Get link to channel, and copy the link.
- The link query parameter named
groupId is the team ID. The encoded value after /channel/ is the channel ID. Copy the complete values without shortening or decoding them.
- Message IDs are normally supplied by previous workflow steps that list or send channel messages, so regular users do not need to find them manually.
Workflow tools
Team discovery
microsoft_teams.list_teams and microsoft_teams.get_team discover teams available to the connected user.
Channel discovery
microsoft_teams.list_channels and microsoft_teams.get_channel resolve channels before later actions run.
Read messages
microsoft_teams.list_channel_messages and microsoft_teams.get_channel_message provide channel context to workflows and agents.
Send and reply
microsoft_teams.send_channel_message and microsoft_teams.reply_to_channel_message publish text or HTML messages. Both tools require workflow approval by default.
Microsoft Teams AI agent context
Teams works well for incident summaries, support escalations, approval handoffs and daily operations digests. Agents can read recent channel context, prepare a focused update, and hand the final send action to a human approval step.
Setup
- Create a fine-grained personal access token from GitHub tokens.
- Select only the repositories this workspace should be able to automate.
- Grant
Issues: read and write for issue creation, comments and labels.
- Grant
Pull requests: read for PR lookup. PR conversation comments use the issue comment endpoint, so issue write access is also needed.
- Open
/my/integrations?integration=github in JustFlows.
- Paste the token, optionally add a default repository in
owner/repo format, then save the connection.
- For webhook-triggered workflows, add a GitHub repository webhook pointing to
/webhooks/github/events, use the same webhook secret if configured, and select pull request events.
GitHub currently uses a token-based setup for the MVP. That keeps local testing and marketplace-style installs simple while leaving room for OAuth later.
Current capabilities
Connection validation
The save flow validates the GitHub user token and optionally confirms access to the default repository before storing the workspace connection.
Synced tool definitions
Create issues, add issue comments, fetch pull request details, comment on pull requests, and add labels to issues or PRs.
Workflow fit
GitHub gives AI-assisted workflows a concrete developer output: bugs, review notes, triage labels, incident follow-ups and repo-level action items.
Safe defaults
Nodes can inherit the default repository from the saved connection, while still allowing each workflow step to override the repository when needed.
GitHub AI agent context
GitHub is a practical first developer integration because agents can turn support triage, PR reviews, incident notes or QA findings into real repository actions. A workflow can classify incoming context, decide whether engineering should be involved, then create an issue or comment on a pull request with the AI-generated summary and next actions.
Setup
- Create an Atlassian API token from Atlassian account security.
- Copy your Jira Cloud site URL, for example
https://your-team.atlassian.net.
- Use the email address for the Atlassian account that owns the API token.
- Confirm that account can access the Jira project you want workflows to use.
- Open
/my/integrations?integration=jira in JustFlows.
- Paste the site URL, email and token, then optionally add a default project key and issue type.
Jira currently uses API-token auth for the MVP. This keeps setup close to GitHub's PAT flow and avoids OAuth complexity while validating product value.
Current capabilities
Connection validation
The save flow validates the Jira account and optionally confirms access to the default project before storing the workspace connection.
Synced tool definitions
Create issues, add issue comments, fetch issue details, and transition issues by transition ID.
Workflow fit
Jira gives AI-assisted developer workflows a project-management output for bug triage, PR risk follow-ups, support escalations and incident tasks.
Safe defaults
Nodes can inherit the default project key and issue type from the saved connection, while still allowing each workflow step to override them.
Jira AI agent context
Jira pairs well with GitHub in review and triage flows. A workflow can fetch PR context from GitHub, let an agent summarize risk, then create a Jira task for missing tests, production risk, documentation gaps or follow-up engineering work.
Setup
Bitbucket uses a scoped Atlassian API token in JustFlows. This is the right fit for workspace-owned backend automation because workflows can run without a user OAuth session.
- Make sure you already have a Bitbucket workspace. If this is a new Bitbucket account, create one first from Bitbucket Cloud by opening your avatar menu, choosing
All workspaces or Workspace settings, then creating a workspace.
- Open the workspace and confirm the Atlassian account you will use for the token can access the repositories JustFlows should automate.
- Open Bitbucket Cloud and click your avatar in the top-right corner.
- Choose
Account settings. This opens your Atlassian account page.
- Open the
Security tab.
- Click
Create and manage API tokens.
- Click
Create API token with scopes. Do not use the older unscoped token option for this integration.
- Give the token a clear name such as
JustFlows Bitbucket, choose an expiry date, then click Next.
- Select
Bitbucket as the app.
- Select the scopes listed below, review the token, then click
Create token.
- Copy the generated token immediately. Atlassian only shows the token value once.
- Open
/my/integrations?integration=bitbucket in JustFlows.
- Paste your
Atlassian account email and the copied API token.
- Optionally add a
Workspace slug and Default repository in workspace/repo_slug format.
Where to find each JustFlows field
- Atlassian account email: in Bitbucket, open
Personal Bitbucket settings, then check Email aliases. Use the Atlassian account email shown there.
- API token: from
Atlassian account > Security > Create and manage API tokens > Create API token with scopes.
- Workspace slug: open the workspace in Bitbucket. In URLs like
https://bitbucket.org/acme/workspace/overview/, the slug is acme. If you do not have a workspace yet, create one before connecting Bitbucket to JustFlows.
- Default repository: open the repository in Bitbucket. In URLs like
https://bitbucket.org/acme/app/src/main/, use acme/app.
Recommended token scopes
Repositories: Read for connection validation, repository lookup, branch listing and changed file summaries.
Pull requests: Read for reading pull request details and diffstat. Atlassian notes this permission also allows commenting on pull requests.
Issues: Read if workflows need to read existing Bitbucket issues.
Issues: Write if workflows will create issues or add issue comments.
Workspaces: Read if workflows will list repositories by workspace.
JustFlows currently uses the Bitbucket Cloud API-token flow, where the API token and Atlassian account email are sent as Basic Auth credentials. The connection test validates repository/workspace access and intentionally avoids Bitbucket's user-profile endpoint so you do not need to grant user-data scopes. Bitbucket also has repository, project and workspace access tokens, but those use a bearer-token flow and are not what this form expects yet.
Current capabilities
Connection validation
The save flow validates the Atlassian email and API token with Bitbucket, and optionally confirms access to the default repository.
Repository and PR actions
List repositories, fetch repositories, list branches, fetch pull requests, and list changed file summaries from pull requests.
Issue and comment actions
Create Bitbucket issues, add issue comments, and add top-level pull request comments when the OAuth app has write permissions.
Bitbucket AI agent context
Bitbucket gives JustFlows a second developer workflow surface beside GitHub. Agents can inspect pull request metadata, summarize changed files, create follow-up issues, or comment on pull requests after code review and triage workflows run.
Setup
JustFlows supports two Notion setup modes: an internal integration token for workspace-owned automation, and OAuth for user-approved workspace connections. In both cases, Notion pages and databases must be shared with the integration before the API can read or write them.
- For the simplest backend automation setup, create an internal integration at Notion integrations.
- Copy the internal integration token.
- Open the Notion page or database you want JustFlows to use, choose
Connections, and add the integration.
- Open
/my/integrations?integration=notion in JustFlows.
- Select
Use internal integration token, paste the token, and optionally add default page/database IDs.
OAuth app setup
- Create or open a public Notion integration from Notion integrations.
- Enable OAuth for the integration and copy the OAuth client ID and client secret.
- Add this redirect URI in Notion exactly as shown in JustFlows admin:
/my/integrations/notion/oauth/callback.
- In JustFlows admin, open
/admin/settings/integrations and use the Notion OAuth tab.
- Paste the Notion client ID and client secret, then save.
- Return to
/my/integrations?integration=notion, choose Continue with Notion OAuth, and approve page access in Notion.
The admin page shows the exact callback URL generated for your environment. If you use a tunnel or public app URL, set INTEGRATION_OAUTH_BASE_URL so the callback shown to Notion matches the URL Notion redirects back to.
Current capabilities
Connection validation
The save flow calls Notion users/me and stores one reusable workspace connection with either internal-token or OAuth credentials.
Page and database actions
Search shared content, fetch pages, list page children, append paragraph text, fetch databases, query databases, and create pages.
Workflow tools
Connected workspaces sync Notion tool definitions for search, page fetch, page append, database query and page creation.
Notion AI agent context
Notion is useful for workspace memory and human-readable outputs: AI workflows can summarize incidents into a page, append meeting notes, query a task database, or create a structured follow-up page after classifying incoming events.
Setup
JustFlows supports Airtable OAuth for user-approved access and personal access tokens for internal/manual setups. OAuth is the recommended product flow because the user can choose which Airtable bases the app may access.
- Open
/admin/settings/integrations in JustFlows and use the Airtable OAuth tab.
- Copy the exact callback URL shown there. It should end with
/my/integrations/airtable/oauth/callback.
- In Airtable, open Builder Hub and register or edit your OAuth integration.
- Add the callback URL exactly as shown in JustFlows admin.
- Copy the Airtable OAuth client ID and client secret into the JustFlows admin tab, then save.
- Return to
/my/integrations?integration=airtable, choose Continue with Airtable OAuth, and approve the bases JustFlows should use.
If you use a tunnel or public app URL during local testing, set INTEGRATION_OAUTH_BASE_URL so Airtable redirects back to the same public URL shown in the admin callback field.
OAuth app setup
Use these scopes for the current integration:
data.records:read
data.records:write
schema.bases:read
Airtable also requires resource access. During OAuth approval, select the workspace/base resources the connection should access. If using a personal access token instead, create it from Airtable Developer Hub, add the same scopes, and include the target base or workspace under resource access.
Schema writes are intentionally not part of this first version. If we later add table/field creation, the Airtable app/token will also need schema.bases:write and the user must have creator-level access.
Current capabilities
Connection validation
The save flow lists Airtable bases and stores one reusable workspace connection with either OAuth or personal access token credentials.
Base and record actions
List bases, read base schema, list records, fetch a record, create records, update records, and delete records.
Workflow tools
Connected workspaces sync Airtable tool definitions so AI workflows can read and write structured Airtable data.
Airtable AI agent context
Airtable is a strong lightweight database layer for AI workflows. Agents can capture leads, update CRM-style rows, enrich records, generate project trackers, or turn incoming messages into structured operational data.
Setup
JustFlows uses HubSpot OAuth for CRM access. This lets each workspace authorize its own HubSpot portal without asking users to paste private app tokens into the product.
- Create or open a HubSpot developer account from HubSpot Developers.
- Create a HubSpot app and open its
Auth settings.
- In JustFlows admin, open
/admin/settings/integrations and use the HubSpot OAuth tab.
- Copy the callback URL shown there. It should end with
/my/integrations/hubspot/oauth/callback.
- Add that URL to the HubSpot app redirect URLs.
- Copy the HubSpot app
client ID and client secret into the JustFlows admin tab, then save.
- Return to
/my/integrations?integration=hubspot, choose the default CRM object, and click Continue with HubSpot.
- Choose the HubSpot account/portal to connect and approve the requested CRM permissions.
HubSpot requires the installing user to have the right app-install permissions for the target portal. If the consent screen is blocked, ask a HubSpot Super Admin to install the app or approve access.
OAuth app setup
Use these scopes for the current integration:
oauth
crm.objects.contacts.read
crm.objects.contacts.write
crm.objects.companies.read
crm.objects.companies.write
crm.objects.deals.read
crm.objects.deals.write
crm.objects.tickets.read
crm.objects.tickets.write
If you use a tunnel or public app URL during local testing, set INTEGRATION_OAUTH_BASE_URL so HubSpot redirects back to the same public URL shown in the admin callback field.
Current capabilities
Connection validation
The save flow starts HubSpot OAuth, exchanges the authorization code, validates the returned access token, and stores one reusable workspace connection.
CRM object actions
List, search, fetch, create, update, and archive contacts, companies, deals, and tickets.
Workflow tools
Connected workspaces sync HubSpot tool definitions so workflows can read and write common CRM records.
Workflow fit
HubSpot is useful for lead capture, CRM enrichment, support handoff, sales follow-up, and customer lifecycle automations.
HubSpot AI agent context
HubSpot gives agents a CRM surface for structured customer data. Agents can qualify inbound leads, create contacts or companies, update deal context after approval, open support tickets from workflow events, or enrich records with summaries from other connected tools.
AI agent context
Typeform works best as an intake source for leads, support requests, onboarding forms, feedback surveys and qualification workflows. Use form responses as structured context, then route the next step into CRM, email, Slack, tickets, approvals or internal reports.
Setup
Zendesk connects through OAuth in JustFlows and is useful for support triage, ticket creation, AI reply drafts, escalation workflows and daily support summaries.
- In Zendesk Admin Center, open
Apps and integrations > APIs > Zendesk API > OAuth Clients.
- Create an OAuth client for JustFlows.
- Open
/admin/settings/integrations in JustFlows and use the Zendesk OAuth tab.
- Copy the callback URL shown there into the Zendesk OAuth client redirect URLs.
- Copy the Zendesk unique identifier/client ID and secret into JustFlows and save.
- Open
/my/integrations?integration=zendesk, enter the Zendesk subdomain, then click Continue with Zendesk.
Capabilities
- List, search and fetch Zendesk tickets.
- Create a support ticket from workflows.
- Update ticket status, priority, tags or comments.
- List users and groups for routing or reporting context.
AI agent context
Zendesk is most useful when paired with agents that classify urgency, draft replies, summarize long ticket histories, route issues to Slack/Jira, or prepare support digests for managers.
Setup
Sentry connects to JustFlows through OAuth. It is useful for error triage, incident summaries, support handoff, engineering alerts and release-quality workflows.
- Open Sentry, select the organization you want to connect, then open
Settings.
- Create a Sentry OAuth application with the scopes needed by your workflow.
- For read-only triage, use
org:read, project:read and event:read.
- If workflows should resolve, ignore, assign or prioritize issues, also add
event:write.
- Open
/admin/settings/integrations in JustFlows, use the Sentry OAuth tab, and copy the callback URL into the Sentry OAuth app redirect URL.
- Copy the Sentry OAuth client ID and client secret into the same admin tab and save.
- Open
/my/integrations?integration=sentry, enter the organization slug and default project slug, then click Continue with Sentry.
API base URL
Most workspaces can keep https://sentry.io/api/0/. If your Sentry organization is hosted in another region, use the matching API host, such as https://us.sentry.io/api/0/, https://us2.sentry.io/api/0/ or https://de.sentry.io/api/0/.
Capabilities
- Validate access to the Sentry organization.
- List projects in the connected organization.
- List and search project issues with Sentry queries such as
is:unresolved.
- Fetch a specific issue by ID.
- List issue events for debugging context.
- Update issue status, priority or assignment when the OAuth app includes write permissions.
AI agent context
Sentry is strongest when paired with agents that summarize stack traces, detect repeated failure patterns, create support or engineering tickets, notify Slack, and prepare daily reliability digests for teams.
Calendly
Calendly connects scheduling data to JustFlows through OAuth. Use it for booking notifications, meeting preparation, follow-up workflows and operations digests.
Setup
- Create a Calendly OAuth app from the Calendly developer portal.
- Open
/admin/settings/integrations, then open the Calendly OAuth tab and copy the callback URL.
- Paste the callback URL into Calendly. It must match exactly, including protocol, host and path.
- Copy the Calendly app
Client ID, Client secret, and one-time Webhook signing key into the admin tab, then save.
- Open
/my/integrations?integration=calendly and click Continue with Calendly.
For local OAuth and webhook testing, Calendly needs a reachable callback URL. Use a public HTTPS tunnel if your app is running on localhost. The webhook signing key is shown only when the OAuth application is created.
To trigger workflows, choose Calendly event in the workflow builder, select the connected account and event, save and publish, then create a Calendly webhook subscription using the generated workflow URL.
Capabilities
- List event types for the connected user.
- List scheduled events and fetch a specific scheduled event.
- List invitees and available times for a scheduled event type.
- Create single-use scheduling links.
- Book an invitee into an available slot and cancel a scheduled event.
- Create webhook subscriptions for booking and cancellation events.
Internal testing
Postman collection: docs/postman/calendly-integration-tests.postman_collection.json.
Environment file: docs/postman/calendly-integration-tests.postman_environment.json.
Internal endpoints are under /api/integration-tests/calendly/... and require INTEGRATION_TESTS_ENABLED=true plus INTEGRATION_TEST_KEY.
The write tests create real Calendly resources. Run them in order: list event types, list available times, then create a single-use link or invitee booking. The booking test requires a paid Calendly plan and scheduled_events:write; the scheduling-link test requires scheduling_links:write. Cancelling the created event can send notifications to its invitees.
Setup
Shopify connects to JustFlows through OAuth and is useful for ecommerce order triage, fulfillment handoff, customer follow-up and inventory-aware workflows.
- Open the Shopify Partner Dashboard. If you do not have a partner account yet, create one first.
- Go to
Apps, then choose Create app. For this integration, create a public/custom-distribution style app that can use OAuth with merchant stores.
- Open the app configuration page and find the app setup fields for
App URL and Allowed redirection URL(s).
- Set the
App URL to your platform URL, for example https://your-domain.com/my/integrations?integration=shopify. For local testing, use your public HTTPS tunnel URL instead of localhost.
- Open
/admin/settings/integrations in JustFlows, then open the Shopify OAuth tab and copy the callback URL.
- Paste that callback URL into Shopify under
Allowed redirection URL(s). It must match exactly, including protocol, host and path.
- Configure Admin API access scopes in Shopify. The default integration needs
read_products, read_orders, read_customers and write_draft_orders.
- Copy the app
Client ID and Client secret from Shopify, paste them into the JustFlows Shopify OAuth admin tab, then save.
- Open
/my/integrations?integration=shopify, enter the store myshopify.com domain, then click Continue with Shopify.
Use the store's permanent myshopify.com domain, not the public storefront domain. Example: use acme-store.myshopify.com, not acme.com.
Protected customer data note:
Shopify treats orders, customers, draft orders, abandoned checkouts, refunds, transactions, shipping and fulfillment data as protected customer data. If the app is not approved or configured for that access, product tests can still work, but order/customer actions can fail with Shopify's protected customer data error. In the Shopify Partner Dashboard, open the app, go to API access requests, then request the protected customer data and fields your workflows actually need.
Capabilities
- Validate access to the connected store.
- List Shopify products without protected customer data approval.
- List and fetch Shopify orders after protected customer data access is configured.
- List Shopify customers after protected customer data access is configured.
- Create draft orders for assisted sales or follow-up workflows.
AI agent context
Shopify is strongest when paired with agents that summarize new orders, route VIP customers to support, draft fulfillment notes, create Zendesk tickets for failed orders, or prepare daily ecommerce operations digests.
Setup
Twilio is the SMS/MMS provider for JustFlows. This integration intentionally uses API Key auth instead of OAuth because workflow automations send from a workspace-owned Twilio account.
- Open Twilio Console and select the account you want JustFlows to use.
- Copy the
Account SID from the account dashboard. It starts with AC.
- Go to
Account > API keys & tokens and create a new API key.
- Copy the
API Key SID and API Key Secret. The secret is only shown once, so paste it into JustFlows before closing the Twilio screen.
- Choose a sender: either buy/configure a Twilio phone number and paste it as
From phone number, or create a Messaging Service and paste its Messaging Service SID.
- Open
/my/integrations?integration=twilio in JustFlows, paste the credentials and sender details, then save.
If both a Messaging Service SID and From number are set, JustFlows sends with the Messaging Service SID. That is usually the better production option because Twilio can manage sender pools, routing and compliance from one place.
Current capabilities
Connection validation
The save flow validates the API key against the configured Account SID before storing one reusable workspace connection.
Outbound messaging
Send SMS, send MMS with a public media URL, fetch a message by SID, and list recent messages with optional sender or recipient filters.
Workflow tools
Connected workspaces sync twilio.send_sms, twilio.send_mms, twilio.get_message, and twilio.list_messages.
Compliance note
Production SMS delivery, especially US A2P traffic, may require Twilio registration and approved messaging campaigns before messages are delivered reliably.
Twilio AI agent context
Twilio gives JustFlows a direct customer notification channel. AI workflows can send operational alerts, appointment reminders, escalation notices, incident updates or follow-up links after classifying a workflow event.
Abstract API
Inspect emails, phone numbers, and IP addresses through Abstract API’s current intelligence services.
Abstract API issues a separate key for each service. Email Reputation is required for the current email-report template; Phone Intelligence and IP Intelligence are optional and enable their tools only when configured. Legacy Email and Phone Validation keys are detected automatically.
Connect services
- Open the Email Reputation service in your Abstract API account.
- Copy its API key into the required Email Reputation field.
- Set Email requests per second to the limit included with your plan. Keep it at 1 for free plans.
- If you connect Phone Intelligence or IP Intelligence, set each service’s separate requests-per-second limit as well.
- Optionally add the separate Phone Intelligence and IP Intelligence keys.
- Choose a test email. Connecting uses one reputation request and shows whether the address is deliverable, undeliverable, or unknown.
Available workflow tools
Only the configured email field is sent for list validation. The original database row stays in JustFlows and is merged with the returned validation result.
Setup
NewsAPI gives workflows a simple way to search recent news articles. JustFlows stores one workspace API key and exposes a search tool for workflows and agents.
- Create or open a NewsAPI account at newsapi.org.
- Open the account/API key area and copy your API key.
- Open
/my/integrations?integration=newsapi in JustFlows.
- Paste the API key, choose a default two-letter language such as
en, and set a harmless test query such as technology.
- Save the connection. JustFlows runs a validation search before storing the workspace connection.
NewsAPI plans can limit which endpoints, dates and sources are available. If a request fails after the key is saved, check the plan limits in your NewsAPI account.
Current capabilities
Connection validation
The save flow verifies the key with a search query before storing the reusable workspace connection.
Article search
Search articles with query, language, sort order, page size, date range and domain filters.
Workflow tool
Connected workspaces sync newsapi.search_everything so agents can gather current article context before drafting or summarizing.
Read-only by design
NewsAPI is a read-only integration, which makes it safe for research, monitoring and campaign preparation workflows.
NewsAPI AI agent context
NewsAPI is useful when agents need market context, competitor mentions, trend monitoring or curated article inputs before producing a digest, campaign brief, executive summary or daily operations report.
Setup
The HTTP API connector is the reusable custom integration for client-specific APIs that do not yet need a dedicated provider. It stores the base URL, auth method and default headers once at workspace level, then exposes a generic request tool to workflows.
- Open
/my/integrations?integration=http_api in JustFlows.
- Enter the API base URL, for example
https://api.vendor.com.
- Choose the authentication mode: none, bearer token, API key header, or basic auth.
- Optionally add default headers as a JSON object, for example
{"Accept":"application/json"}.
- Configure a safe test method and path. Prefer read-only endpoints such as
GET /me, GET /health, or GET /v1/account.
- Save the connector. JustFlows sends the test request before storing the connection.
The connector supports absolute URLs at request time, but using relative paths is recommended so workflows stay anchored to the saved base URL and credentials.
Current capabilities
Authentication modes
None, bearer token, API key header, and basic auth are supported. Secrets are stored in workspace credentials and masked in response payloads.
Generic requests
Send GET, POST, PUT, PATCH, and DELETE requests with extra headers, query JSON, JSON body, form body, or raw body.
Workflow tool
Connected workspaces sync http_api.request. It requires approval by default because custom APIs may mutate external systems.
HTTP API AI agent context
HTTP API gives JustFlows a universal adapter. AI workflows can call niche CRMs, internal services, fulfillment APIs, analytics endpoints, ERP systems, customer portals, or client-specific middleware before a dedicated integration exists.
Setup
Postgres lets workflows read and write structured application data through a reusable workspace database connection. Use a dedicated database user with only the permissions your workflows need.
- Create a dedicated Postgres user for JustFlows.
- Grant read-only permissions for reporting workflows, or narrowly scoped write permissions for workflows that insert, update, upsert, or delete rows.
- Confirm the database host, port, database name, username, password, and SSL mode.
- Open
/my/integrations?integration=postgres in JustFlows.
- Enter the connection details, choose a returned-row limit, and save the connection.
- JustFlows validates the connection and lists a small sample of tables before storing the workspace connection.
For production workflows, prefer read-only credentials unless a workflow truly needs to mutate data. Raw SQL is powerful and should be paired with human approval.
Current capabilities
Schema and reads
List tables, describe table columns, and select rows with optional columns, where bindings, ordering, and row limits.
Writes
Insert one row, update rows with a required where clause, upsert by conflict columns, and delete rows with a required where clause.
Raw SQL
postgres.execute_query runs one SQL statement at a time with optional JSON bindings and a returned-row limit.
Connected workspaces sync postgres.list_tables, postgres.describe_table, postgres.select_rows, postgres.insert_row, postgres.update_rows, postgres.upsert_row, postgres.delete_rows, and postgres.execute_query. Database tools require approval by default.
Postgres AI agent context
Postgres gives agents a direct path to operational data. Useful flows include daily metric summaries, data-quality checks, customer or order lookups, lead enrichment, support triage, audit logs, and controlled updates after review.
Setup
MySQL lets workflows interact with structured data in MySQL or compatible MariaDB databases. As with Postgres, use a dedicated user and grant the smallest practical permissions.
- Create a dedicated MySQL user for JustFlows.
- Grant only the database and table permissions needed by the workflow.
- Confirm the database host, port, database name, username, password, and SSL preference.
- Open
/my/integrations?integration=mysql in JustFlows.
- Enter the connection details, choose a returned-row limit, and save the connection.
- JustFlows validates the connection and lists a small sample of tables before storing the workspace connection.
If the workflow only reports on data, use a read-only MySQL user. Save write-capable credentials for flows where mutations are intentional and reviewed.
Current capabilities
Schema and reads
List tables, describe table columns, and select rows with optional columns, where bindings, ordering, and row limits.
Writes
Insert one row, update rows with a required where clause, upsert by duplicate key, and delete rows with a required where clause.
Raw SQL
mysql.execute_query runs one SQL statement at a time with optional JSON bindings and a returned-row limit.
Connected workspaces sync mysql.list_tables, mysql.describe_table, mysql.select_rows, mysql.insert_row, mysql.update_rows, mysql.upsert_row, mysql.delete_rows, and mysql.execute_query. Database tools require approval by default.
MySQL AI agent context
MySQL is useful for legacy app databases, ecommerce data, analytics tables, operational dashboards, and support workflows. Agents can summarize activity, spot missing data, compare records, prepare reports, or propose controlled updates for approval.
Setup
SSH is the low-level server automation connector for commands that need to run on a client server, VM, VPS, or internal box. Use it carefully: commands run on real infrastructure, so JustFlows marks the workflow tool as approval-required by default.
- Create or choose a dedicated OS user for JustFlows. Avoid using
root unless there is no safer alternative.
- Grant that user only the server permissions your workflows actually need.
- Prefer key-based auth. Generate a dedicated SSH key pair and add the public key to the server user's
~/.ssh/authorized_keys.
- Open
/my/integrations?integration=ssh in JustFlows.
- Enter the server host, port, username and authentication method.
- For private-key auth, paste the private key and optional passphrase. For password auth, paste the password.
- Set a harmless test command such as
whoami, pwd, or hostname.
- Save the connection. JustFlows connects over SSH and runs the test command before saving the workspace connection.
SSH actions are non-interactive. Commands that require prompts, TTY interaction, password prompts, editors, or long-running foreground sessions are not a good fit. Wrap those operations in scripts that return clean output and exit codes.
Current capabilities
Authentication modes
Password and private-key authentication are supported. Private-key auth is recommended for production automation.
Command execution
Run non-interactive commands with a configurable timeout and capture stdout, stderr, exit status and duration.
Workflow tool
Connected workspaces sync ssh.run_command. It requires approval by default because SSH can mutate real infrastructure.
SSH AI agent context
SSH gives JustFlows a bridge into infrastructure tasks that do not have an API yet. Agents can run diagnostics, check service status, trigger deployment scripts, collect logs, clear safe caches, or invoke internal maintenance commands after a human approves the action.
Setup
FTP is useful for older client systems, hosting panels, vendor drop folders, and file-transfer workflows where a modern API is not available. JustFlows supports standard FTP and FTPS, passive mode, and an optional root path so workflows stay scoped to one remote folder.
- Create or choose an FTP user on the target server. Prefer a restricted user scoped to one folder.
- Confirm the server host, port, protocol, username and password.
- Use
FTPS when the server supports encrypted FTP sessions. Plain FTP sends credentials and file contents without transport encryption.
- Open
/my/integrations?integration=ftp in JustFlows.
- Enter the connection details. Leave
Passive mode enabled unless your FTP server requires active mode.
- Optionally set a root path such as
uploads. Workflow paths are resolved under this root.
- Set a safe test path such as
/ or incoming, then save the connection.
Current capabilities
Connection validation
The save flow logs into the FTP server and lists the configured test path before storing one reusable workspace connection.
File actions
List files, download files, upload text or base64 content, delete files, and create directories.
Workflow tools
Connected workspaces sync ftp.list_files, ftp.get_file, ftp.put_file, ftp.delete_file, and ftp.make_directory. Mutating tools require approval.
FTP AI agent context
FTP gives JustFlows a practical bridge to legacy systems. Agents can collect vendor exports, upload generated reports, drop files for external processors, inspect incoming folders, or archive simple workflow outputs where API access is not available.
Setup
AWS S3 uses IAM access key credentials in JustFlows. For production, prefer a dedicated IAM user or role credentials with permissions limited to one bucket and, when possible, one prefix.
- Open the AWS Console and select the AWS account that owns the S3 bucket.
- Open
S3, create or choose a bucket, and copy the exact bucket name.
- Open the bucket
Properties tab and confirm the AWS region, for example eu-west-1 or us-east-1.
- Open
IAM and create a dedicated IAM user for JustFlows, or use temporary STS credentials generated from a restricted role.
- Grant the IAM identity only the S3 actions needed by your workflows.
- Create an access key for the IAM user. Copy both
Access key ID and Secret access key; AWS only shows the secret once.
- Open
/my/integrations?integration=aws_s3 in JustFlows.
- Paste the access key, secret, region and bucket. Optionally add a default prefix such as
workflows or exports.
Minimum IAM permissions
s3:ListBucket on the bucket for connection validation and object listing.
s3:GetObject on the bucket objects for reading objects and generating temporary URLs.
s3:PutObject for uploads and object copies.
s3:DeleteObject only if workflows need delete access.
If you use a prefix, scope object permissions to arn:aws:s3:::bucket-name/prefix/*. Keep bucket-level ListBucket scoped with a prefix condition when you want least privilege.
Current capabilities
Connection validation
The save flow validates the configured bucket by listing objects under the default prefix.
Object actions
List objects, get object content, upload text or base64 content, copy objects, delete objects and generate temporary signed URLs.
Workflow tools
Connected workspaces sync aws_s3.list_objects, aws_s3.get_object, aws_s3.put_object, aws_s3.delete_object, aws_s3.copy_object and aws_s3.temporary_url.
AWS S3 AI agent context
S3 gives JustFlows a durable workspace file layer. Agents can export reports, store generated files, read reference artifacts, publish signed download links, or archive workflow outputs into a controlled bucket prefix.
Setup
- Open AWS Console, then open
CloudFront.
- Open the distribution that serves your S3 bucket or generated assets.
- Copy the
Distribution ID, for example E1234567890ABC.
- Copy the
Distribution domain name, for example d111111abcdef8.cloudfront.net, or use your custom CDN domain.
- Create or choose an IAM identity with
cloudfront:GetDistribution, cloudfront:CreateInvalidation and cloudfront:GetInvalidation.
- Create an access key and paste the access key ID, secret and distribution details into
/my/integrations?integration=aws_cloudfront.
Signed URLs are optional. To use them, configure a CloudFront public key/key group as a trusted key group on the distribution, then paste the matching key pair ID and private key into JustFlows.
Current capabilities
Connection validation
The save flow calls CloudFront GetDistribution for the configured distribution.
Cache control
Create invalidations and check invalidation status after workflows overwrite CDN-backed assets.
URL helpers
Build CDN URLs for object paths and generate signed CloudFront URLs when signing keys are configured.
Setup
- Open Google Cloud Console and create or select a project.
- Enable the
Google Sheets API for that project.
- Create a
Service Account under IAM & Admin.
- Create a JSON key for that service account and download the credentials file.
- Open the target spreadsheet and share it with the service account email as an editor.
- Copy the spreadsheet ID from the Google Sheets URL.
- Open
/my/integrations?integration=google_sheets in JustFlows.
- Paste the full service account JSON, the spreadsheet ID, and optionally a default sheet name.
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0
If you want JustFlows to create brand new spreadsheets, the Google credential also needs permission to create files, not just access an existing shared spreadsheet. For that scenario, plan to add the appropriate Drive-side permission and enable the related Google API access as well.
Current capabilities
Connection validation
The save flow validates the service account JSON, requests a Google access token, checks the spreadsheet, and stores a reusable workspace connection.
Action test
The integrations page can append a test row to confirm the selected spreadsheet and sheet are reachable with the saved service account.
Synced tool definitions
Get spreadsheet metadata, read values, append values, update values, clear values, add a new sheet tab, and create a new spreadsheet.
Google foundation
The authentication model is based on a Google service account so the same pattern can expand later into Google Docs, Google Drive, and more Google Workspace services.
Google Sheets AI agent context
Google Sheets gives agents a simple structured memory layer. An agent can read operating data, append audit rows, update status cells, clear ranges before writing fresh results, create new tabs for a run, or generate a spreadsheet as a lightweight report. That makes it a practical bridge between AI workflows and non-technical teams who already live in spreadsheets.
Setup
- Open Google Cloud Console and create or select a project.
- Enable the
Google Docs API for that project.
- Create a
Service Account under IAM & Admin.
- Create a JSON key for that service account and download the credentials file.
- Open the target Google Doc and share it with the service account email as an editor.
- Copy the document ID from the Google Docs URL.
- Open
/my/integrations?integration=google_docs in JustFlows.
- Paste the full service account JSON and the default document ID.
https://docs.google.com/document/d/DOCUMENT_ID/edit
If you want JustFlows to create brand new Google Docs files, the service account also needs file-creation permission. The current integration is already prepared for that with a Drive-aware scope, but your Google project permissions and API enablement still need to allow file creation.
Current capabilities
Connection validation
The save flow validates the service account JSON, checks the selected Google Doc, and stores a reusable workspace connection.
Action test
The integrations page can append a paragraph to confirm the selected document is writable with the saved service account.
Synced tool definitions
Get document metadata, append text, replace text, and create a brand new Google Doc from the connected integration.
Google Workspace path
It reuses the same Google service account model as Google Sheets so future Docs, Drive, and other Workspace integrations can stay consistent.
Google Docs AI agent context
Google Docs gives agents a human-friendly writing surface. An agent can create draft documents, append structured notes, replace placeholders inside templates, and keep evolving a document as a workflow progresses. That makes it useful for reports, briefs, handoff notes, client updates, or reusable document-generation flows.
Setup
- Open Google Cloud Console and create or select a project.
- Enable the
Cloud Translation API for that project.
- Create a service account under
IAM & Admin.
- Grant the service account a Translation-friendly role, such as
Cloud Translation API User, or use a tighter custom role if your Google Cloud policy requires it.
- Create and download a JSON key for that service account.
- Open
/my/integrations?integration=google_translate in JustFlows.
- Paste the JSON credentials. The project ID can be left empty when the JSON contains
project_id.
- Use
global as the location unless you need a regional Translation endpoint.
- Choose a default target language such as
en, ro, fr, or de.
The save flow validates the service account by calling Cloud Translation's supported-languages endpoint.
Current capabilities
Translate text
Translate plain text or HTML to a target language, with optional source-language override.
Detect language
Detect the likely source language of a text value before routing or translating it.
Supported languages
List languages supported by the configured Translation project and location.
Google Translation AI agent context
Google Translation helps agents normalize multilingual inputs and outputs. Workflows can translate customer messages, detect incoming language before routing, localize summaries, or prepare multilingual handoff notes.
Setup
Google Drive can now be connected either with the existing service account setup or with Google OAuth. OAuth is the better real-world fit when files should live in a user's Drive account, while service accounts remain useful for backend automation around Shared Drive folders.
- Open Google Cloud Console and create or select a project.
- Enable the
Google Drive API for that project.
- For OAuth, follow the shared Google OAuth Web Client setup above.
- In Google Cloud, add the Google Drive callback URL from
/admin/settings/integrations to the OAuth web client's Authorized redirect URIs.
- For service-account setup, create a
Service Account under IAM & Admin.
- Create a JSON key for that service account and download the credentials file.
- If you want a default shared location, open the target Google Drive folder and share it with the service account email as an editor, or use a user-owned folder when connecting with OAuth.
- Copy the folder ID from the Google Drive URL if you want a default folder in JustFlows.
- Open
/my/integrations?integration=google_drive in JustFlows.
- Choose either
Use service account or Continue with Google OAuth, then save the connection.
https://drive.google.com/drive/folders/FOLDER_ID
Service accounts do not get a normal personal My Drive with usable storage quota. For service-account write actions like creating files or folders, use a folder from a Shared Drive or another delegated user-owned Drive location. Sharing a regular My Drive folder with the service account can be enough for read access, but file creation may still fail because the service account does not own personal Drive storage.
Current capabilities
Connection validation
The save flow validates the service account JSON and, when provided, confirms that the selected Google Drive location is a real folder.
Action test
The integrations page now runs a safe read-only access test that confirms the saved service account can reach the selected Drive location.
Synced tool definitions
Get file metadata, list files, create folders, create text files, and rename files or folders from the connected integration.
Google Workspace path
It shares the same service account model as Sheets and Docs, which keeps the broader Google Workspace integration surface consistent.
Google Drive AI agent context
Google Drive gives agents a file-system style workspace inside Google Workspace. An agent can create folders for runs, drop output files for humans to review, rename artifacts, and list or inspect files before deciding what to do next. That makes it useful for report packaging, document handoff, reusable asset storage, and broader Google Workspace workflows.
Google Analytics
Google Analytics provides read-only GA4 reporting for workflow-based campaign reviews. Connect a Google account, choose a numeric GA4 property ID, and use standard dimensions and metrics in report nodes.
Setup
- Enable the Google Analytics Data API and Google Analytics Admin API in the Google Cloud project used by {{ platformName() }}.
- Add the Google Analytics callback URL from
/admin/settings/integrations to the OAuth client.
- Open
/my/integrations?integration=google_analytics and continue with Google.
- Grant read-only Analytics access and enter a GA4 property ID visible to that account.
- Run the page-level test before using the connection in a published workflow.
Available actions
List GA4 properties or run a standard report using a property, date range, dimensions, metrics, and row limit. Report results are normalized into named rows so agents and mapping nodes can use them without parsing positional values.
This integration requests analytics.readonly. It cannot modify Analytics properties, events, audiences, or attribution settings.
Setup
- Open Google Cloud Console and create or select a project.
- Enable the
Google Photos Library API for that project.
- Follow the shared Google OAuth Web Client setup above.
- In JustFlows admin, open
/admin/settings/integrations and use the Google OAuth tab.
- Copy the Google Photos callback URL from that tab into the OAuth web client's
Authorized redirect URIs in Google Cloud.
- Save the Google
client ID and client secret in the same JustFlows admin tab.
- If you want a stable target, create or choose one Google Photos album and copy its album ID.
- Open
/my/integrations?integration=google_photos in JustFlows.
- Enter a connection name and optionally a default album ID.
- Click
Continue with Google and approve the Google consent screen.
JustFlows now uses a real Google OAuth redirect and callback flow for Google Photos. The workspace connection stores refreshable credentials, which is a better fit than manually pasting short-lived access tokens.
Authorize in JustFlows
You no longer need to generate or paste a manual token for the normal Google Photos integration flow. Instead, JustFlows starts a Google OAuth redirect, receives the callback, and saves the workspace connection automatically.
- Open the Google Photos integration page inside JustFlows.
- Fill in the connection name and optional default album ID.
- Click
Continue with Google.
- Sign in to the Google account you want to connect.
- Review the requested Google Photos permissions and approve the consent screen.
- After Google redirects back to JustFlows, the workspace integration record is created or updated automatically.
- If you reconnect later, JustFlows requests consent again so the workspace can keep a refreshable credential set.
Access tokens are short-lived, but JustFlows stores the OAuth credential set from the callback so the integration can continue using refreshable Google authorization instead of a one-off pasted token.
Important scope note
Google changed the Photos APIs. The older broad scopes such as photoslibrary.readonly, photoslibrary.sharing, and photoslibrary were removed for current use after March 31, 2025. The supported path now is centered on content created by your application.
In practice, that means this first JustFlows integration should be treated as an app-created-data integration. Use photoslibrary.appendonly plus photoslibrary.readonly.appcreateddata for the cleanest current setup.
Current capabilities
Connection validation
The save flow now starts a real Google OAuth redirect, then validates the returned authorization and the optional default album in the callback.
Action test
The integrations page runs a safe read-only check that confirms the saved Google authorization still works and samples albums or album media items.
Synced tool definitions
Get albums, list albums, get media items, list library media items, search one album, and create albums from the connected integration. With current Google Photos rules, expect this to be most reliable for app-created content.
Auth direction
The current token-based setup is intentionally small. A future OAuth flow can replace the credential capture without changing the workspace-level integration model.
Google Photos AI agent context
Google Photos gives agents a visual memory surface for work that depends on image review, album organization, proof collection, lightweight asset browsing, or pulling media context into broader workflows. That makes it useful for campaign review, field-photo handoff, content QA, and album-based operational checklists.
Setup
- Open Google Cloud Console and create or select a project.
- Enable the
Google Calendar API for that project.
- Follow the shared Google OAuth Web Client setup above.
- In JustFlows admin, open
/admin/settings/integrations and use the Google OAuth tab.
- Copy the Google Calendar callback URL from that tab into the OAuth web client's
Authorized redirect URIs in Google Cloud.
- Save the Google
client ID and client secret in the same JustFlows admin tab.
- If you want a stable target, copy the Google Calendar ID you want this workspace to reuse by default.
- Open
/my/integrations?integration=google_calendar in JustFlows.
- Enter a connection name and optionally a default calendar ID.
- Click
Continue with Google and approve the Google consent screen.
JustFlows uses a real Google OAuth redirect and callback flow for Google Calendar. The workspace connection stores refreshable credentials, which keeps the integration stable for calendar reads and writes without asking users to paste short-lived tokens.
Authorize in JustFlows
- Open the Google Calendar integration page inside JustFlows.
- Fill in the connection name and optional default calendar ID.
- Click
Continue with Google.
- Sign in to the Google account you want to connect.
- Review the requested Google Calendar permissions and approve the consent screen.
- After Google redirects back to JustFlows, the workspace integration record is created or updated automatically.
- If you reconnect later, JustFlows requests consent again so the workspace can keep a refreshable credential set.
The current Google Calendar flow requests broad calendar access so the workspace can validate calendars, list events, and create, update, or delete events through the shared integration.
Current capabilities
Connection validation
The save flow starts a Google OAuth redirect, then validates the returned authorization and the optional default calendar in the callback.
Action test
The integrations page runs a safe validation that confirms the saved Google authorization still works and samples calendars or upcoming events.
Synced tool definitions
Get calendars, list calendars, get events, list events, create events, update events, and delete events from the connected integration.
Workflow fit
This is the reusable scheduling surface for workspace-level automation, reminders, approval meetings, and operational event tracking.
Google Calendar AI agent context
Google Calendar gives agents a scheduling surface they can read and write through a shared workspace connection. That makes it useful for planning runs, tracking deadlines, scheduling ops reviews, creating follow-up events after workflow approvals, and coordinating time-bound activity across a team without storing one-off calendar credentials inside each workflow.