> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Connections

> Connect external services and APIs to your agents.

Connections let your agents interact with external services like WhatsApp, GitHub, Google Workspace, Notion, and more.

## What Are Connections?

A connection is a set of credentials (OAuth tokens or API keys) that allow agents to use external services. Once configured, agents can send messages, read data, create documents, and more.

## Supported Services

<CardGroup cols={3}>
  <Card title="WhatsApp" icon="whatsapp" iconType="brand">
    Send and receive messages via Evolution API
  </Card>

  <Card title="GitHub" icon="github" iconType="brand">
    Manage repos, issues, PRs, and code
  </Card>

  <Card title="Google" icon="google" iconType="brand">
    Gmail, Calendar, Drive, Docs, Sheets
  </Card>

  <Card title="Notion" icon="n" iconType="brand">
    Read and write pages and databases
  </Card>

  <Card title="Slack" icon="slack" iconType="brand">
    Send messages and manage channels
  </Card>

  <Card title="HubSpot" icon="hubspot" iconType="brand">
    CRM contacts, deals, and tickets
  </Card>
</CardGroup>

## Adding a Connection

<Steps>
  <Step title="Go to Settings">
    Navigate to **Settings** and select **Connections**.
  </Step>

  <Step title="Choose a service">
    Click **Add Connection** and select the service you want to connect.
  </Step>

  <Step title="Authenticate">
    For **OAuth services** (Google, GitHub, Slack): Click "Connect" and authorize in the popup.

    For **API key services** (WhatsApp, HubSpot): Enter your API key and endpoint URL.
  </Step>

  <Step title="Test the connection">
    Click **Test** to verify the connection works correctly.
  </Step>
</Steps>

## Using Connections in Chat

Once configured, agents automatically have access to connected services. Just ask naturally:

* "Send a WhatsApp message to John saying the meeting is at 3pm"
* "Create a GitHub issue for the login bug"
* "Add this to my Google Calendar for next Tuesday"

The agent identifies which connection to use based on your request.

## Managing Connections

* **Edit** credentials or settings for existing connections
* **Disable** a connection temporarily without removing it
* **Delete** to permanently remove a connection and its credentials

<Warning>
  Credentials are encrypted at rest. Never share your connection settings publicly.
</Warning>
