> ## Documentation Index
> Fetch the complete documentation index at: https://openmetadata-add-ontology-explorer-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Set Up Bots | OpenMetadata Developer Guide

> Create and manage bots for task automation, data notifications, and metadata workflows.

# How to Set Up Bots

<Note>
  **Note**: The **Bots** tile under **Settings** is only visible to users with Admin privileges. If you don't see it, ask your organization's OpenMetadata Admin to generate a bot token for you or grant you Admin access.
</Note>

The default account for any ingestion pipeline deployed from the UI is `ingestion-bot`. To configure `ingestion-bot` from the UI, go to the settings page and access the `Bots` tile.

<img src="https://mintcdn.com/openmetadata-add-ontology-explorer-docs/2BAzm-sDbNjsVWHy/public/images/developers/settings-bot.png?fit=max&auto=format&n=2BAzm-sDbNjsVWHy&q=85&s=7ea5fd3351506f19f180306331a87b0b" alt="settings-bot" width="2943" height="1413" data-path="public/images/developers/settings-bot.png" />

<img src="https://mintcdn.com/openmetadata-add-ontology-explorer-docs/BMFswgsYdPhHo6eK/public/images/developers/bot-listing.png?fit=max&auto=format&n=BMFswgsYdPhHo6eK&q=85&s=e84d31563d45bebcc6d410af86703c4d" alt="bot-listing" width="2943" height="1413" data-path="public/images/developers/bot-listing.png" />

You can either create a new bot or update the existing `ingestion-bot`.

### Update `ingestion-bot`

Click on `ingestion-bot` and you will be redirected to it's details page, there you can

* Revoke the token if already present
* Copy the generated token

<img src="https://mintcdn.com/openmetadata-add-ontology-explorer-docs/BMFswgsYdPhHo6eK/public/images/developers/bot-token-page.png?fit=max&auto=format&n=BMFswgsYdPhHo6eK&q=85&s=e4817602e1f198e568cc079953ac5f94" alt="bot-listing" width="2943" height="1413" data-path="public/images/developers/bot-token-page.png" />

* Generate new token

<img src="https://mintcdn.com/openmetadata-add-ontology-explorer-docs/BMFswgsYdPhHo6eK/public/images/developers/generate-new-token.png?fit=max&auto=format&n=BMFswgsYdPhHo6eK&q=85&s=177c2c1b5ba31e3d7626362ba92a35ae" alt="generate new token" width="2733" height="536" data-path="public/images/developers/generate-new-token.png" />

<img src="https://mintcdn.com/openmetadata-add-ontology-explorer-docs/BMFswgsYdPhHo6eK/public/images/developers/bot-token-generate.png?fit=max&auto=format&n=BMFswgsYdPhHo6eK&q=85&s=2ce1999cd3045714c54f0773cdcec9fc" alt="token generate page" width="2733" height="1271" data-path="public/images/developers/bot-token-generate.png" />

### Create a new bot

Click the `Add bot` button, and you will be directed to the bot creation page. Fill in the required details and then click on the `Create` button.

<img src="https://mintcdn.com/openmetadata-add-ontology-explorer-docs/BMFswgsYdPhHo6eK/public/images/developers/create-bot.png?fit=max&auto=format&n=BMFswgsYdPhHo6eK&q=85&s=cac3e32d98587b0f8b660a12ce2bafb0" alt="create bot" width="2733" height="1271" data-path="public/images/developers/create-bot.png" />

### Notes:

**1. `ingestion-bot`**

The `ingestion-bot` bot is created (or updated if it already exists) as a system bot that cannot be deleted, and
the credentials used for this bot, if they did not exist before, will be the ones present in the OpenMetadata configuration.
Otherwise, a JWT Token will be generated to be the default authentication mechanism of the `ingestion-bot`.

**2. JWT Token auth mechanism**

If you decide to configure a JWT Token for the authentication mechanism ensure that you have also the value `http://localhost:8585/api/v1/system/config/jwks`
in your `publicKeyUrls` list:

* For **bare metal** configuration:

```yaml theme={null}
authenticationConfiguration:
  provider: "google"
  publicKeyUrls:
    - "https://www.googleapis.com/oauth2/v3/certs"
    - "http://localhost:8585/api/v1/system/config/jwks"
```

* For **docker** configuration, the value to be updated is `AUTHENTICATION_PUBLIC_KEYS`:

```bash theme={null}
AUTHENTICATION_PUBLIC_KEYS=[https://www.googleapis.com/oauth2/v3/certs, http://localhost:8585/api/v1/system/config/jwks]
```

* In the case of **kubernetes**, you have to update `publicKeys` values:

```yaml theme={null}
openmetadata:
  config:
    authentication:
      publicKeys:
        - "https://www.googleapis.com/oauth2/v3/certs"
        - "http://localhost:8585/api/v1/system/config/jwks"
```

**3. Redeploying ingestion pipelines**

When the `ingestion-bot` is updated, we must redeploy our ingestion pipelines since the credentials used by the bot have been updated,
and they will no longer be valid.
