> For the complete documentation index, see [llms.txt](https://developer.kizen.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.kizen.com/docs/integrations-and-plugins/integrations/mysql/enable-mysql-in-kizen.md).

# Enable MySQL in Kizen

{% hint style="success" %}
**Audience:** Admins, Developers, Solution Architects

**Purpose:** Explains how to configure the MySQL integration to use live MySQL data in <code class="expression">space.vars.automations</code>
{% endhint %}

## Overview

{% hint style="warning" %}
**Caution:** This setup reflects Kizen's default configuration. Your administrator may have customized your layout, so columns or navigation may appear differently. Trial accounts may have limited features.
{% endhint %}

To use MySQL data in <code class="expression">space.vars.automations</code>, you must first enable the MySQL integration in <code class="expression">space.vars.Kizen\_company\_name</code>.

***

## Before You Begin

Before you enable the MySQL integration, ensure you have:

* Any MySQL instance, whether self-hosted or managed through Amazon RDS, Google Cloud SQL, or a similar service
* A MySQL database, version 5.7 or later, that is network-reachable from <code class="expression">space.vars.Kizen\_company\_name</code>'s egress IP addresses
* A MySQL user account with the necessary read or write privileges on the target database tables
* Org Admin access in <code class="expression">space.vars.Kizen\_company\_name</code>

***

## Enable MySQL in Kizen

To enable MySQL in <code class="expression">space.vars.Kizen\_company\_name</code>:

{% stepper %}
{% step %}

#### Configure your MySQL network

To configure your MySQL network to work with <code class="expression">space.vars.Kizen\_company\_name</code>:

* **Add Kizen's egress IP addresses to the allowlist on your MySQL database or proxy.** For the current list of egress IPs, contact your <code class="expression">space.vars.Kizen\_company\_name</code> representative.
* **Set your firewall to allow inbound TCP traffic on the MySQL port.** This port is usually but not necessarily `3306`. If you aren't sure of the correct port number, check your MySQL configuration.
* **Optionally turn on SSL for your MySQL instance.** To maintain security, we recommend that you use SSL unless you connect to the instance through a trusted private network or VPN.
  {% endstep %}

{% step %}

#### Go to the App Marketplace

In the global navigation of <code class="expression">space.vars.Kizen\_company\_name</code>, select **Platform** > **App Marketplace**.

<div data-with-frame="true"><figure><img src="/files/asI3LF0OrS7v30JgkrfG" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Turn on the MySQL connection

Find the MySQL Connection card, and turn on the slider.

<div data-with-frame="true"><figure><img src="/files/1dXYCRW1e6JzihGAVv3T" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Note:** If the Update Integration Secret modal appears after you turn on the slider, skip ahead to [Step 6](#enter-your-mysql-connection-credentials).
{% endhint %}
{% endstep %}

{% step %}

#### Go to your Integration Secrets Manager

Select **Manage Secrets** on the MySQL Connection card. A settings page appears with your integration secrets.

<div data-with-frame="true"><figure><img src="/files/HsnXOSAyDcCnRqPHHSXT" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Edit the MySQL Connection Integration Secret

Open the Actions menu for the MySQL Connection plugin app, and select **Edit**.

<div data-with-frame="true"><figure><img src="/files/2wz4uXsMreudB3rW4d8q" alt="" width="563"><figcaption></figcaption></figure></div>

The Update Integration Secret modal appears.

<div data-with-frame="true"><figure><img src="/files/qiwiQWjHNeuQIOjNzKiK" alt="" width="357"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Enter your MySQL connection credentials

In the Integration Secret field of the modal, enter your MySQL connection credentials as a JSON object. The JSON object must contain `host`, `port`, `user-name`, and `password` keys, like this:

```json
{
  "host": "db.company.com",
  "port": 3306,
  "user_name": "kizen_ro_user",
  "password": "secret"
}
```

Store multiple environments as nested JSON objects:

```json
{
  "production_db": {
    "host": "db.company.com",
    "port": 3306,
    "user_name": "kizen_ro_user",
    "password": "secret"
  },
  "staging_db": {
    "host": "staging.db.company.com",
    "port": 3306,
    "user_name": "kizen_ro_user",
    "password": "secret"
  }
}
```

For descriptions of the keys, see the following table:

| Key         | Type      | Description                                     |
| ----------- | --------- | ----------------------------------------------- |
| `host`      | `String`  | The host name or IP address of the MySQL server |
| `port`      | `Integer` | The MySQL server port                           |
| `user_name` | `String`  | The user name of the connecting MySQL account   |
| `password`  | `String`  | The password of the connecting MySQL account    |

{% hint style="info" %}
**Note:** <code class="expression">space.vars.Kizen\_company\_name</code> hides your secret once you submit it, so you can't append a new environment to an existing secret. You must re-enter the credentials for all your environments along with the new one. Consider keeping a secure record of each environment's connection details outside of <code class="expression">space.vars.Kizen\_company\_name</code> so you can refer to the full set whenever you add a new environment.
{% endhint %}
{% endstep %}

{% step %}

#### Save the Integration Secret

Select **Save**.
{% endstep %}
{% endstepper %}

***

## What's Next

Now that you've set up the MySQL integration, you're ready to use the Read Data and Write Data actions in <code class="expression">space.vars.automations</code>. Continue to [Add MySQL Data to an Agentic Workflow](/docs/integrations-and-plugins/integrations/mysql/add-mysql-data-to-an-agentic-workflow.md) to learn how.

<details>

<summary><strong>Related Topics</strong></summary>

* [MySQL](/docs/integrations-and-plugins/integrations/mysql.md)
* [Add MySQL Data to an Agentic Workflow](/docs/integrations-and-plugins/integrations/mysql/add-mysql-data-to-an-agentic-workflow.md)
* [Troubleshoot MySQL](/docs/integrations-and-plugins/integrations/mysql/troubleshoot-mysql.md)

</details>

***

*Oracle, Java, MySQL, and NetSuite are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.kizen.com/docs/integrations-and-plugins/integrations/mysql/enable-mysql-in-kizen.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
