Integration setup guide

Connect providers, prepare credentials, and test tools your AI workflows need in production.

No matching integration docs found.

Google OAuth Web Client

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

  1. Open Google Cloud Console and select the project used for JustFlows integrations.
  2. Open Google Auth Platform > Clients. In older console navigation this may appear as APIs & Services > Credentials.
  3. If a suitable OAuth client already exists, open it and confirm its application type is Web application.
  4. If one does not exist, click Create client or Create credentials > OAuth client ID, then choose Web application.
  5. Give it a clear name such as JustFlows Web OAuth.

Add callback URLs

  1. In JustFlows, open /admin/settings/integrations and use the Google OAuth tab.
  2. Copy each callback URL shown there for the Google providers you want to enable.
  3. Back in Google Cloud, open the OAuth web client and find Authorized redirect URIs.
  4. Click Add URI and paste each JustFlows callback URL exactly as shown.
  5. 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

  1. After creating the OAuth web client, copy its Client ID and Client secret from Google Cloud.
  2. Paste them into /admin/settings/integrations under the Google OAuth tab.
  3. Save the settings.
  4. 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.

Slack

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.

  1. Create a Slack app at api.slack.com/apps.
  2. Add bot token scopes such as chat:write, channels:read, channels:join, channels:manage, groups:read and groups:write.
  3. 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.
  4. 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.
  5. Copy the signing secret from Basic Information > App Credentials. Slack approvals and verified incoming events use this secret to validate Slack callbacks.
  6. 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.
  7. 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.

Discord

Setup

  1. Open the Discord Developer Portal and click New Application.
  2. Give the app a name that will make sense to your team, such as JustFlows or JustFlows Bot.
  3. Open the Bot tab and click Add Bot.
  4. In the bot settings, copy the Token. This is the value you will paste into the JustFlows Discord integration as the bot token.
  5. Open General Information and copy the Public Key. You will paste it into the JustFlows Discord integration as the application public key.
  6. Still in the developer portal, open OAuth2 > URL Generator.
  7. Under scopes, select bot.
  8. 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
  9. Copy the generated invite URL, open it, and add the bot to the Discord server you want to use with JustFlows.
  10. In Discord itself, turn on Developer Mode from User Settings > Advanced.
  11. After Developer Mode is enabled, right-click the target server and choose Copy Server ID.
  12. If you want a default posting channel, right-click the target text channel and choose Copy Channel ID.
  13. Open /my/integrations?integration=discord in JustFlows.
  14. Paste the bot token, application public key, optionally add the server ID and channel ID, then save the connection.
  15. 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://jfl101.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.

Telegram

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.

  1. Open Telegram and start a conversation with @BotFather.
  2. Run /newbot, choose a display name and username, then copy the generated bot token.
  3. Add the bot to the target chat, group or channel. For groups and channels, make sure the bot has permission to send messages.
  4. 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.
  5. Open /my/integrations?integration=telegram in JustFlows.
  6. Paste the bot token, add a default chat ID, and optionally restrict inbound events with the allowed chat IDs list.
  7. 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.
  8. 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.

WhatsApp

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.

  1. Create or select a Meta app with the WhatsApp product enabled and connect a WhatsApp Business Account.
  2. Copy the phone number ID, WhatsApp Business Account ID, access token, and Meta app secret.
  3. Create a private webhook verification token of at least 16 characters. This is your own value, not a token supplied by Meta.
  4. Open /my/integrations?integration=whatsapp, enter those values, and save the connection.
  5. For the Meta test number, add your own phone as a permitted recipient before using the send-message test.
  6. Create and publish a workflow with a WhatsApp message trigger, then copy its callback URL.
  7. In Meta App Dashboard → WhatsApp → Configuration, enter the callback URL and the same verification token, then subscribe to the messages field.
  8. 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.

Postiz

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.

  1. Create or open your Postiz workspace.
  2. Connect the social channels you want to publish to inside Postiz first, such as LinkedIn, X, Facebook or Instagram.
  3. In Postiz, open Settings > Developers > Public API.
  4. Create or copy a Public API key. Paste that key into /my/integrations?integration=postiz in JustFlows.
  5. For Postiz Cloud, keep the default Public API base URL: https://api.postiz.com/public/v1.
  6. For self-hosted Postiz, paste your self-hosted Public API base URL, ending at the public API version path.
  7. Save the connection, then run List social channels from the JustFlows action test.
  8. 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

  1. Launch the AI Social Campaign Draft Builder or Long-form Content Repurposer template.
  2. In the workflow test form, select any combination of Facebook, Instagram, LinkedIn, X, Threads, and Bluesky.
  3. 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.
  4. Choose Upload files to attach media per selected platform, or Generate with image agent to create a separate image for every selected platform.
  5. Instagram requires an image or MP4. Media is optional for the other five supported campaign channels.
  6. 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

  1. Open /my/integrations?integration=postiz and find Postiz action test.
  2. Select Upload default social media, choose Facebook or Instagram, select an image or MP4 file, then run the action.
  3. JustFlows uploads the file through POST /public/v1/upload and saves the returned media as the default for that platform.
  4. Retry the failed Postiz workflow step. Empty media_by_platform arrays now fall back to this saved platform media.
  5. Keep the returned id and path. An external URL or local filename is not a valid replacement for an uploaded Postiz media record.
  6. 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.
  7. 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

  1. Update the saved Postiz connection once so JustFlows creates the new Postiz Upload Media tool definition.
  2. Add a Tool node before the social Agent and select Postiz Upload Media.
  3. 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.
  4. Optionally set filename, for example {{ input.media_filename }}.
  5. 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

  1. Open /my/integrations?integration=postiz.
  2. Paste the Public API key and save the connection.
  3. Run List social channels. If this succeeds, the API key and base URL are valid.
  4. Copy one returned channel ID into Default social channel ID, confirm the platform value, and update the connection.
  5. Choose Create draft/scheduled post, leave Post type as Draft, add harmless content, and run the action.
  6. 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.

LinkedIn

Setup

  1. Create an application in the LinkedIn Developer Portal and add the callback URL shown in the admin integration settings.
  2. Enable Sign In with LinkedIn using OpenID Connect and Share on LinkedIn for personal profile publishing.
  3. For Company Page publishing, request LinkedIn Community Management access and the organization permissions used by your app.
  4. Add the LinkedIn client ID and client secret in the platform integration settings.
  5. Open /my/integrations?integration=linkedin, choose a personal profile or Company Page target, and continue through LinkedIn OAuth.
  6. 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.

Instagram

Setup

  1. Create a Meta application and add the Instagram API product using Instagram Login.
  2. Add the callback URL shown in the admin integration settings to the app's allowed OAuth redirect URLs.
  3. Request instagram_business_basic, instagram_business_content_publish, and instagram_business_manage_comments.
  4. Add the Instagram app ID and app secret in the platform integration settings.
  5. Open /my/integrations?integration=instagram and authorize an Instagram Business or Creator account.
  6. 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.

SMTP

Setup

  1. Collect the SMTP host, port, encryption mode, username and password from your mail provider.
  2. Confirm the sender address is allowed by the provider. Many relays only allow verified domains or verified mailbox addresses.
  3. Open /my/integrations?integration=email_smtp in JustFlows.
  4. Enter the SMTP connection details, sender email and optional sender name.
  5. Save the connection. JustFlows opens an SMTP session before storing the workspace connection.
  6. 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.

Brevo

Setup

  1. Open Brevo and go to SMTP & API.
  2. Create or copy an API key for the workspace automation account.
  3. Confirm the sender email or sending domain you plan to use is verified in Brevo.
  4. Open /my/integrations?integration=brevo in JustFlows.
  5. Paste the API key, optionally add a default sender and default list ID, then save the connection.
  6. 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.

Mailgun

Setup

  1. In Mailgun, create or choose the sending domain workflows should use.
  2. Confirm whether the domain belongs to the US or EU Mailgun API region.
  3. Create or copy a private API key.
  4. Open /my/integrations?integration=mailgun in JustFlows.
  5. Paste the API key, domain, region and default sender, then save the connection.
  6. 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.

Mailchimp

Setup

  1. In Mailchimp, create or copy a Marketing API key.
  2. Note the server prefix. It is usually the suffix after the dash in the key, such as us21.
  3. Copy the audience ID you want workflows to use by default, if you already know it.
  4. Open /my/integrations?integration=mailchimp in JustFlows.
  5. Paste the API key, optionally add the server prefix and default audience ID, then save the connection.
  6. 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.

Gmail

Setup

  1. Configure the app-level Google OAuth client from the admin Integrations settings page, or with GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET.
  2. 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.
  3. Add the Gmail callback URL in Google Cloud: /my/integrations/gmail/oauth/callback.
  4. Enable Gmail API access for the Google project.
  5. Open /my/integrations?integration=gmail and start the OAuth flow.
  6. 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.

Outlook

Setup

  1. 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.
  2. 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.
  3. Add the Outlook callback URL in the app registration: /my/integrations/outlook/oauth/callback.
  4. Allow delegated Microsoft Graph permissions for offline_access, User.Read, Mail.Send and Mail.ReadWrite.
  5. Open /my/integrations?integration=outlook and start the Microsoft OAuth flow.
  6. 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.

Microsoft Teams

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.
  1. Open Microsoft Entra admin center, go to Identity > Applications > App registrations, and create or open the web application used by the platform.
  2. Copy its Application (client) ID. Under Certificates & secrets, create a client secret and copy its value immediately.
  3. 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.
  4. 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.
  5. 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.
  6. Select Grant admin consent, or ask a Microsoft 365 administrator to do it. Channel message read access commonly requires administrator approval.
  7. 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.
  8. 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.
  9. 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

  1. 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.
  2. After connecting, review the Connection snapshot to see the selected team and channel.
  3. To target a different destination, open that channel in Microsoft Teams, select More options > Get link to channel, and copy the link.
  4. 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.
  5. 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.

GitHub

Setup

  1. Create a fine-grained personal access token from GitHub tokens.
  2. Select only the repositories this workspace should be able to automate.
  3. Grant Issues: read and write for issue creation, comments and labels.
  4. Grant Pull requests: read for PR lookup. PR conversation comments use the issue comment endpoint, so issue write access is also needed.
  5. Open /my/integrations?integration=github in JustFlows.
  6. Paste the token, optionally add a default repository in owner/repo format, then save the connection.
  7. 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.

Jira

Setup

  1. Create an Atlassian API token from Atlassian account security.
  2. Copy your Jira Cloud site URL, for example https://your-team.atlassian.net.
  3. Use the email address for the Atlassian account that owns the API token.
  4. Confirm that account can access the Jira project you want workflows to use.
  5. Open /my/integrations?integration=jira in JustFlows.
  6. 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.

Bitbucket

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.

  1. 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.
  2. Open the workspace and confirm the Atlassian account you will use for the token can access the repositories JustFlows should automate.
  3. Open Bitbucket Cloud and click your avatar in the top-right corner.
  4. Choose Account settings. This opens your Atlassian account page.
  5. Open the Security tab.
  6. Click Create and manage API tokens.
  7. Click Create API token with scopes. Do not use the older unscoped token option for this integration.
  8. Give the token a clear name such as JustFlows Bitbucket, choose an expiry date, then click Next.
  9. Select Bitbucket as the app.
  10. Select the scopes listed below, review the token, then click Create token.
  11. Copy the generated token immediately. Atlassian only shows the token value once.
  12. Open /my/integrations?integration=bitbucket in JustFlows.
  13. Paste your Atlassian account email and the copied API token.
  14. 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.

Notion

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.

  1. For the simplest backend automation setup, create an internal integration at Notion integrations.
  2. Copy the internal integration token.
  3. Open the Notion page or database you want JustFlows to use, choose Connections, and add the integration.
  4. Open /my/integrations?integration=notion in JustFlows.
  5. Select Use internal integration token, paste the token, and optionally add default page/database IDs.

OAuth app setup

  1. Create or open a public Notion integration from Notion integrations.
  2. Enable OAuth for the integration and copy the OAuth client ID and client secret.
  3. Add this redirect URI in Notion exactly as shown in JustFlows admin: /my/integrations/notion/oauth/callback.
  4. In JustFlows admin, open /admin/settings/integrations and use the Notion OAuth tab.
  5. Paste the Notion client ID and client secret, then save.
  6. 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.

Airtable

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.

  1. Open /admin/settings/integrations in JustFlows and use the Airtable OAuth tab.
  2. Copy the exact callback URL shown there. It should end with /my/integrations/airtable/oauth/callback.
  3. In Airtable, open Builder Hub and register or edit your OAuth integration.
  4. Add the callback URL exactly as shown in JustFlows admin.
  5. Copy the Airtable OAuth client ID and client secret into the JustFlows admin tab, then save.
  6. 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.

HubSpot

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.

  1. Create or open a HubSpot developer account from HubSpot Developers.
  2. Create a HubSpot app and open its Auth settings.
  3. In JustFlows admin, open /admin/settings/integrations and use the HubSpot OAuth tab.
  4. Copy the callback URL shown there. It should end with /my/integrations/hubspot/oauth/callback.
  5. Add that URL to the HubSpot app redirect URLs.
  6. Copy the HubSpot app client ID and client secret into the JustFlows admin tab, then save.
  7. Return to /my/integrations?integration=hubspot, choose the default CRM object, and click Continue with HubSpot.
  8. 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.

Typeform

Setup

Typeform connects through OAuth in JustFlows. Use it to list forms, inspect responses, and manage Typeform webhooks that can call workflow webhook trigger URLs.

  1. Open Typeform admin and go to Developer apps.
  2. Create an app or open an existing app that belongs to the Typeform account you want users to authorize.
  3. Open /admin/settings/integrations in JustFlows, then use the Typeform OAuth tab.
  4. Copy the callback URL shown by JustFlows and paste it into the Typeform app redirect URLs.
  5. Copy the Typeform client ID and client secret into the same JustFlows admin tab and save.
  6. Open /my/integrations?integration=typeform and click Continue with Typeform.

OAuth app scopes

Configure the Typeform app with these scopes:

  • offline so JustFlows receives a refresh token.
  • accounts:read to validate the authorized Typeform account.
  • forms:read to list and inspect forms.
  • responses:read to read submitted responses.
  • webhooks:read and webhooks:write to list, create, update and delete form webhooks.

Typeform requires HTTPS for new webhook URLs. For local testing, use a public HTTPS tunnel and make sure the callback URL generated by JustFlows uses the same public host.

Capabilities

  • List forms available to the authorized account.
  • Fetch a specific form by ID.
  • List recent form responses.
  • List Typeform webhooks for a form.
  • Create or update a webhook for a form.
  • Delete a webhook when a workflow no longer needs it.

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.

Zendesk

Setup

Zendesk connects through OAuth in JustFlows and is useful for support triage, ticket creation, AI reply drafts, escalation workflows and daily support summaries.

  1. In Zendesk Admin Center, open Apps and integrations > APIs > Zendesk API > OAuth Clients.
  2. Create an OAuth client for JustFlows.
  3. Open /admin/settings/integrations in JustFlows and use the Zendesk OAuth tab.
  4. Copy the callback URL shown there into the Zendesk OAuth client redirect URLs.
  5. Copy the Zendesk unique identifier/client ID and secret into JustFlows and save.
  6. 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.

Sentry

Setup

Sentry connects to JustFlows through OAuth. It is useful for error triage, incident summaries, support handoff, engineering alerts and release-quality workflows.

  1. Open Sentry, select the organization you want to connect, then open Settings.
  2. Create a Sentry OAuth application with the scopes needed by your workflow.
  3. For read-only triage, use org:read, project:read and event:read.
  4. If workflows should resolve, ignore, assign or prioritize issues, also add event:write.
  5. Open /admin/settings/integrations in JustFlows, use the Sentry OAuth tab, and copy the callback URL into the Sentry OAuth app redirect URL.
  6. Copy the Sentry OAuth client ID and client secret into the same admin tab and save.
  7. 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

  1. Create a Calendly OAuth app from the Calendly developer portal.
  2. Open /admin/settings/integrations, then open the Calendly OAuth tab and copy the callback URL.
  3. Paste the callback URL into Calendly. It must match exactly, including protocol, host and path.
  4. Copy the Calendly app Client ID, Client secret, and one-time Webhook signing key into the admin tab, then save.
  5. 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.

Shopify

Setup

Shopify connects to JustFlows through OAuth and is useful for ecommerce order triage, fulfillment handoff, customer follow-up and inventory-aware workflows.

  1. Open the Shopify Partner Dashboard. If you do not have a partner account yet, create one first.
  2. Go to Apps, then choose Create app. For this integration, create a public/custom-distribution style app that can use OAuth with merchant stores.
  3. Open the app configuration page and find the app setup fields for App URL and Allowed redirection URL(s).
  4. 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.
  5. Open /admin/settings/integrations in JustFlows, then open the Shopify OAuth tab and copy the callback URL.
  6. Paste that callback URL into Shopify under Allowed redirection URL(s). It must match exactly, including protocol, host and path.
  7. Configure Admin API access scopes in Shopify. The default integration needs read_products, read_orders, read_customers and write_draft_orders.
  8. Copy the app Client ID and Client secret from Shopify, paste them into the JustFlows Shopify OAuth admin tab, then save.
  9. 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.

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.

WordPress

Setup

  1. Sign in to WordPress as the Author, Editor, or Administrator that workflows should use.
  2. Open Users → Profile → Application Passwords and create a password named for JustFlows.
  3. Open /my/integrations?integration=wordpress, then enter the public site URL, username, and generated Application Password.
  4. Keep the default post status on Draft unless the workflow has an explicit publishing review.
  5. Save the connection. JustFlows verifies the current user through the WordPress REST API before syncing tools.

Current capabilities

Posts

List, inspect, create, and update WordPress posts with explicit status, categories, tags, and featured-media references.

Taxonomy

List or create categories and tags before a reviewed content workflow creates its post.

Media

Upload bounded base64-encoded media with filename, MIME type, title, caption, and alternative text.

Reusable credentials

The WordPress site and Application Password stay in the workspace connection instead of appearing in every run payload.

Twilio

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.

  1. Open Twilio Console and select the account you want JustFlows to use.
  2. Copy the Account SID from the account dashboard. It starts with AC.
  3. Go to Account > API keys & tokens and create a new API key.
  4. 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.
  5. 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.
  6. 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

  1. Open the Email Reputation service in your Abstract API account.
  2. Copy its API key into the required Email Reputation field.
  3. Set Email requests per second to the limit included with your plan. Keep it at 1 for free plans.
  4. If you connect Phone Intelligence or IP Intelligence, set each service’s separate requests-per-second limit as well.
  5. Optionally add the separate Phone Intelligence and IP Intelligence keys.
  6. Choose a test email. Connecting uses one reputation request and shows whether the address is deliverable, undeliverable, or unknown.

Available workflow tools

Abstract API Validate Email

Inspect one address and return deliverability, quality, formatting, authentication, domain, risk, breach, and correction signals.

Abstract API Validate Email List

Validate up to 100 rows, deduplicate repeated addresses, and return valid, review, invalid, and complete result lists.

Abstract API Inspect Phone

Inspect a number and return validity, carrier, location, messaging, registration, risk, and breach signals. Available when a Phone Intelligence key is configured.

Abstract API Inspect IP

Return VPN, proxy, Tor, abuse, network, company, location, timezone, and currency details. Available when an IP Intelligence key is configured.

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.

NewsAPI

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.

  1. Create or open a NewsAPI account at newsapi.org.
  2. Open the account/API key area and copy your API key.
  3. Open /my/integrations?integration=newsapi in JustFlows.
  4. Paste the API key, choose a default two-letter language such as en, and set a harmless test query such as technology.
  5. 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.

HTTP API

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.

  1. Open /my/integrations?integration=http_api in JustFlows.
  2. Enter the API base URL, for example https://api.vendor.com.
  3. Choose the authentication mode: none, bearer token, API key header, or basic auth.
  4. Optionally add default headers as a JSON object, for example {"Accept":"application/json"}.
  5. Configure a safe test method and path. Prefer read-only endpoints such as GET /me, GET /health, or GET /v1/account.
  6. 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.

Postgres

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.

  1. Create a dedicated Postgres user for JustFlows.
  2. Grant read-only permissions for reporting workflows, or narrowly scoped write permissions for workflows that insert, update, upsert, or delete rows.
  3. Confirm the database host, port, database name, username, password, and SSL mode.
  4. Open /my/integrations?integration=postgres in JustFlows.
  5. Enter the connection details, choose a returned-row limit, and save the connection.
  6. 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.

MySQL

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.

  1. Create a dedicated MySQL user for JustFlows.
  2. Grant only the database and table permissions needed by the workflow.
  3. Confirm the database host, port, database name, username, password, and SSL preference.
  4. Open /my/integrations?integration=mysql in JustFlows.
  5. Enter the connection details, choose a returned-row limit, and save the connection.
  6. 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.

SSH

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.

  1. Create or choose a dedicated OS user for JustFlows. Avoid using root unless there is no safer alternative.
  2. Grant that user only the server permissions your workflows actually need.
  3. Prefer key-based auth. Generate a dedicated SSH key pair and add the public key to the server user's ~/.ssh/authorized_keys.
  4. Open /my/integrations?integration=ssh in JustFlows.
  5. Enter the server host, port, username and authentication method.
  6. For private-key auth, paste the private key and optional passphrase. For password auth, paste the password.
  7. Set a harmless test command such as whoami, pwd, or hostname.
  8. 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.

FTP

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.

  1. Create or choose an FTP user on the target server. Prefer a restricted user scoped to one folder.
  2. Confirm the server host, port, protocol, username and password.
  3. Use FTPS when the server supports encrypted FTP sessions. Plain FTP sends credentials and file contents without transport encryption.
  4. Open /my/integrations?integration=ftp in JustFlows.
  5. Enter the connection details. Leave Passive mode enabled unless your FTP server requires active mode.
  6. Optionally set a root path such as uploads. Workflow paths are resolved under this root.
  7. 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.

AWS S3

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.

  1. Open the AWS Console and select the AWS account that owns the S3 bucket.
  2. Open S3, create or choose a bucket, and copy the exact bucket name.
  3. Open the bucket Properties tab and confirm the AWS region, for example eu-west-1 or us-east-1.
  4. Open IAM and create a dedicated IAM user for JustFlows, or use temporary STS credentials generated from a restricted role.
  5. Grant the IAM identity only the S3 actions needed by your workflows.
  6. Create an access key for the IAM user. Copy both Access key ID and Secret access key; AWS only shows the secret once.
  7. Open /my/integrations?integration=aws_s3 in JustFlows.
  8. 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.

AWS CloudFront

Setup

  1. Open AWS Console, then open CloudFront.
  2. Open the distribution that serves your S3 bucket or generated assets.
  3. Copy the Distribution ID, for example E1234567890ABC.
  4. Copy the Distribution domain name, for example d111111abcdef8.cloudfront.net, or use your custom CDN domain.
  5. Create or choose an IAM identity with cloudfront:GetDistribution, cloudfront:CreateInvalidation and cloudfront:GetInvalidation.
  6. 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.

Cloudflare

Setup

  1. In Cloudflare, create a scoped API token instead of using the Global API Key.
  2. Add Zone Read for zone inspection, DNS Write for DNS mutations, and Cache Purge for deployment refreshes as needed.
  3. Copy the zone ID from the Cloudflare dashboard if most workflows use one default zone.
  4. Open /my/integrations?integration=cloudflare, paste the token, and optionally save the default zone ID.
  5. Save the connection. JustFlows verifies the token and validates the default zone when supplied.

Current capabilities

Zones

List accessible zones or inspect the exact default zone configured for a workflow.

DNS

List, create, replace, and delete DNS records. Mutation tools are marked as approval-sensitive actions.

Targeted cache purge

Purge complete public URLs after deployment without clearing unrelated cached content.

Full cache purge

Clear the entire zone cache when explicitly required; this tool is marked as approval-sensitive.

Google Sheets

Setup

  1. Open Google Cloud Console and create or select a project.
  2. Enable the Google Sheets API for that project.
  3. Create a Service Account under IAM & Admin.
  4. Create a JSON key for that service account and download the credentials file.
  5. Open the target spreadsheet and share it with the service account email as an editor.
  6. Copy the spreadsheet ID from the Google Sheets URL.
  7. Open /my/integrations?integration=google_sheets in JustFlows.
  8. 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.

Google Docs

Setup

  1. Open Google Cloud Console and create or select a project.
  2. Enable the Google Docs API for that project.
  3. Create a Service Account under IAM & Admin.
  4. Create a JSON key for that service account and download the credentials file.
  5. Open the target Google Doc and share it with the service account email as an editor.
  6. Copy the document ID from the Google Docs URL.
  7. Open /my/integrations?integration=google_docs in JustFlows.
  8. 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.

Google Translation

Setup

  1. Open Google Cloud Console and create or select a project.
  2. Enable the Cloud Translation API for that project.
  3. Create a service account under IAM & Admin.
  4. 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.
  5. Create and download a JSON key for that service account.
  6. Open /my/integrations?integration=google_translate in JustFlows.
  7. Paste the JSON credentials. The project ID can be left empty when the JSON contains project_id.
  8. Use global as the location unless you need a regional Translation endpoint.
  9. 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.

Google Drive

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.

  1. Open Google Cloud Console and create or select a project.
  2. Enable the Google Drive API for that project.
  3. For OAuth, follow the shared Google OAuth Web Client setup above.
  4. In Google Cloud, add the Google Drive callback URL from /admin/settings/integrations to the OAuth web client's Authorized redirect URIs.
  5. For service-account setup, create a Service Account under IAM & Admin.
  6. Create a JSON key for that service account and download the credentials file.
  7. 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.
  8. Copy the folder ID from the Google Drive URL if you want a default folder in JustFlows.
  9. Open /my/integrations?integration=google_drive in JustFlows.
  10. 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

  1. Enable the Google Analytics Data API and Google Analytics Admin API in the Google Cloud project used by {{ platformName() }}.
  2. Add the Google Analytics callback URL from /admin/settings/integrations to the OAuth client.
  3. Open /my/integrations?integration=google_analytics and continue with Google.
  4. Grant read-only Analytics access and enter a GA4 property ID visible to that account.
  5. 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.

Google Photos

Setup

  1. Open Google Cloud Console and create or select a project.
  2. Enable the Google Photos Library API for that project.
  3. Follow the shared Google OAuth Web Client setup above.
  4. In JustFlows admin, open /admin/settings/integrations and use the Google OAuth tab.
  5. Copy the Google Photos callback URL from that tab into the OAuth web client's Authorized redirect URIs in Google Cloud.
  6. Save the Google client ID and client secret in the same JustFlows admin tab.
  7. If you want a stable target, create or choose one Google Photos album and copy its album ID.
  8. Open /my/integrations?integration=google_photos in JustFlows.
  9. Enter a connection name and optionally a default album ID.
  10. 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.

  1. Open the Google Photos integration page inside JustFlows.
  2. Fill in the connection name and optional default album ID.
  3. Click Continue with Google.
  4. Sign in to the Google account you want to connect.
  5. Review the requested Google Photos permissions and approve the consent screen.
  6. After Google redirects back to JustFlows, the workspace integration record is created or updated automatically.
  7. 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.

Google Calendar

Setup

  1. Open Google Cloud Console and create or select a project.
  2. Enable the Google Calendar API for that project.
  3. Follow the shared Google OAuth Web Client setup above.
  4. In JustFlows admin, open /admin/settings/integrations and use the Google OAuth tab.
  5. Copy the Google Calendar callback URL from that tab into the OAuth web client's Authorized redirect URIs in Google Cloud.
  6. Save the Google client ID and client secret in the same JustFlows admin tab.
  7. If you want a stable target, copy the Google Calendar ID you want this workspace to reuse by default.
  8. Open /my/integrations?integration=google_calendar in JustFlows.
  9. Enter a connection name and optionally a default calendar ID.
  10. 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

  1. Open the Google Calendar integration page inside JustFlows.
  2. Fill in the connection name and optional default calendar ID.
  3. Click Continue with Google.
  4. Sign in to the Google account you want to connect.
  5. Review the requested Google Calendar permissions and approve the consent screen.
  6. After Google redirects back to JustFlows, the workspace integration record is created or updated automatically.
  7. 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.