Connecting external services

How Floot apps talk to third-party APIs, webhooks, and email providers.

Floot apps can connect to almost any external service over its API. This page covers how that works, and where the edges are.

API integrations

Describe the integration you want to your AI assistant, and the endpoints, database tables, and screens get built for you. Anything reachable over HTTPS from a serverless backend is fair game.

Works best with:

  • Well-documented APIs
  • APIs with clear authentication (API keys, OAuth)
  • Established APIs that have been around a while

For newer or niche APIs: if the documentation is public, your assistant can read it — Claude, ChatGPT, and other clients research on their own before calling Floot's tools. If it is not public, paste the relevant pages into the chat so the endpoints and data shapes are known.

Never paste API keys into the chat

Your assistant never needs the key itself, and it should never see one. When your app needs a credential, your assistant creates a request and hands you a floot.com link — you type the key into Floot's secure dialog in your browser, not into Claude, ChatGPT, or whichever chat you are building in. There is no in-chat dialog, by design. Your assistant only ever learns the environment variable name; the value is stored server-side, never returned to any client, never included in what the AI can read about an integration, and injected into your backend at runtime. If a key does end up in a chat transcript, treat it as exposed and rotate it with the provider.

Example

Implement the product checkout flow using Stripe.

What happens:

  1. The API connection is set up
  2. You get a link to open in your browser, enter the key in Floot's dialog, and it is stored server-side — or, if your Floot account already holds a matching key from another project, it is connected silently and you are not asked at all
  3. The endpoints and screens your app needs get built

The key request does not block the build

Your assistant knows the environment variable name as soon as it makes the request, so it can keep building against that name while you fill the key in.

Webhooks

Webhooks let external services push data into your Floot app when something happens — a payment succeeds, a form is submitted, a delivery status changes.

  1. 1

    Ask for an endpoint

    Create a webhook endpoint that handles payment events.
  2. 2

    Publish your app

    The webhook URL is a real, public URL on your published app.

  3. 3

    Register the URL with the service

    Paste it into the external service's webhook settings and send a test event.

Email

Floot apps can send and receive email with no third-party account — see What's built in. If you would rather use your own provider, Floot integrates with Resend, SendGrid, Mailgun, Postmark, Amazon SES, and Mailchimp:

Set up SendGrid to send welcome emails when users sign up.

Things to know

Floot backends are serverless, which shapes a few design decisions:

No local filesystem or in-memory state
Anything that has to survive between requests belongs in the database or in Floot Storage — not on disk or in a variable.
No always-on custom server process
Long-running or recurring work runs as a scheduled or background job instead of a daemon you keep alive.
Heavy scraping belongs elsewhere
For large-scale web scraping, use a dedicated service such as ScrapingBee and have your app call it.

Background work and realtime are supported

Long-running and recurring work is covered: scheduled cron jobs, background and queued jobs, and WebSocket realtime are all built in. See What's built in.

If an integration is not behaving, the fastest fix is usually to have your assistant read the backend logs before changing code.