Skip to content

Integrations and OAuth connections

Some services (Google, Microsoft, Slack…) are not accessed with a username and password but with OAuth: you authorize Zoan Automation to act on your behalf from the provider’s own consent screen, and it hands back an access token. Zoan Cloud OAuth connections store and manage those tokens for you.

Centro › Recursos › Integraciones (Center › Resources › Integrations) gathers everything Zoan Cloud connects to your systems in that environment, so robots, flows and assistants can use it by name. With Añadir integración (Add integration) you pick what to connect:

IntegrationWhat for
Microsoft 365 and Google WorkspaceMail, calendar, files and spreadsheets with the company account, authorized through OAuth (this page).
Mosend (WhatsApp)Send messages and templates, and connect assistants to WhatsApp. One account per environment, with Iniciar sesión en Mosend (Sign in to Mosend) or an API key. See Mosend.
AI models (Anthropic, OpenAI, Azure OpenAI, OpenRouter)Use your own model account instead of the AI included in the plan; spend goes to your account. See AI usage.
API HTTP (JSON)Call any API with its OpenAPI or Swagger specification from flows and assistants. See API actions.
Store (WooCommerce)Look up products and orders in your online store.

The Cuentas conectadas, Tiendas, Mensajería, Modelos de IA and API y datos tabs filter the list.

Stores, AI models, HTTP APIs and Mosend accounts can live in the folder of the area that uses them, just like credentials: pick the folder in the tree on the left and click Añadir integración. Each area connects its own systems, and its robots and assistants use them with no extra setup.

  • In a folder you see its integrations, its subfolders’ and those linked from other folders (Vinculada desde …, Linked from …). To share an integration between areas, use Vincular desde otra carpeta (Link from another folder) in the folder that will use it.
  • Permissions are the credential ones (credential:list, read, create, update and delete) and add up the same way: roles at the organization or environment root plus those on the integration’s folder.
  • Names are unique across the environment.
  • Who uses what: a robot, based on its process’s folder; an assistant (model, catalogs, API actions and WhatsApp channel), based on the assistant’s folder; an extraction project, based on the project’s folder. Each looks in its folder, in what’s linked to it and at the environment root. See Which credential each robot uses.
  • Flow steps use the environment root’s integrations or the global ones; publishing a flow asks for one of those.

Accounts connected through OAuth (Microsoft 365 and Google Workspace) and WhatsApp channels with an assistant’s own keys are managed at the environment root and serve all its folders.

1. You create the connection → status: pending
2. You click "Authorize" → the provider's consent screen opens
3. You approve access → status: connected (token stored)
4. The bot uses it by name → Zoan Cloud hands back a valid token (auto-refreshed)

The provider (Google, Microsoft, etc.) is set up once by the platform administrator. In your tenant you only create connections over the available providers.

  1. Open Centro › Recursos › Integraciones (Center › Resources › Integrations) and click Administrar cuentas OAuth y permisos (Manage OAuth accounts and permissions) at the bottom of the page.
  2. Click Nueva conexión (New connection).
  3. Pick the provider (e.g. Google).
  4. Define two names:
    • Code name: lowercase letters, numbers and hyphens only (e.g. google-clinic-calendar). This is the name you reference in the playbook.
    • Display name: shown in the portal (e.g. Google Clinic Calendar).
  5. Check the permissions (scopes) the bot needs.
  6. Click Create and Authorize: the provider opens so you can approve access.

New OAuth connection modal with the provider, key name and display name.

In activities you always reference by the code name (the lowercase-hyphen one), not the display name:

Google Sheets — Open credential = "google-clinic-calendar"

Using the display name gives the error “credential does not exist”.

Each provider offers a catalog of scopes (what the bot may do: read Gmail, write Sheets…). Pick only what you need — least privilege. If the provider has no scopes configured, you cannot create connections with it; ask the platform administrator to add at least one.

Like credentials, a connection belongs to an environment (or is global for all). This way the same playbook uses the test account in Test and the real one in Production, referencing the same code name in both. See Environments.

StateMeaning
PendingCreated but not authorized. Cannot be used yet.
ConnectedAuthorized and ready. Zoan Cloud refreshes the token automatically.
ExpiredThe refresh failed (e.g. access revoked at the provider). Click Reconnect.
ErrorProblem refreshing. Re-authorize with Reconnect.
  • Reconnect: repeat the consent to renew the authorization (after expiry or to switch accounts).
  • Delete: revokes the token at the provider (best effort) and removes the connection.