# Connect other services

> How your app talks to other systems: outgoing calls to any web API, incoming webhooks, mail through your own server, files in your own bucket.

Your app is a server program, so it can talk to any service that has a web API. There is no fixed list of connectors: the agent writes the link your app needs.

## Outgoing: your app calls a service

| when | example |
|---|---|
| after a change | a delivered order is pushed to your accounting tool |
| on a schedule | each night, the day's sales go to a spreadsheet service, or exchange rates come in |
| on a button | "Send to the carrier" creates a shipment and stores its tracking number |

Ask with the service's name and what must travel: "when an invoice is paid, mark it paid in our accounting tool". The agent asks for the service's documentation when it needs it.

## Incoming: a service calls your app

Your app can have its own web addresses that another system posts to: a payment provider confirming a payment, a form on your website, a device sending a reading. Each address checks who calls it (a shared key, a signature, or a signed in account), because the address itself is the access control.

## Keys and credentials

A service's key is a setting of your app's server. It never appears in the screens, the code history or the logs.

## Mail

Your app sends mail through an SMTP server: yours, or a mail service you use. The app's own sign in mails and your mails go through it, with one footer for all. See [Files and email](https://golocomotive.fr/docs/apps/files-and-mail.md).

## Files

Files and backups can live in a storage bucket compatible with Amazon S3 that you own, instead of on our server's disk.

## Your own AI

The other direction: your AI assistant calls your app. See [Connect your AI](https://golocomotive.fr/docs/connect.md).

> **Planned.** Your app does not call other MCP servers itself, and it has no plain language endpoint for systems without an AI. See [Not available yet](https://golocomotive.fr/docs/apps/planned.md).
