# Connectors


This page is a connector **dictionary**: which data sources are available and what to enter in each connection field. For workflows covering creation, testing, permissions, deletion, and import/export tasks, see [Guide · Connectors](../../guides/ai-studio/data-sources/connectors.md).

Required fields are indicated by a red asterisk on the creation page. Leaving a field with a default value blank uses that default. If UI field names differ slightly, follow the console.

## What They Are

A connector encapsulates the following for a particular data source type:

- **Connectivity**: Addresses, credentials, authentication, timeouts, and similar settings, with support for connection testing.
- **Read and write capabilities**: How to read and, where the intended use permits, write data, for reuse by imports, exports, queries, knowledge bases, and other features.

**Configure once, use everywhere**: The same instance can be referenced by multiple import tasks, export tasks, and queries.

## Uses

When creating a connector, select **Import** and/or **Export** as its intended use (bidirectional by default; select at least one):

| Use | Flow | Description |
| --- | --- | --- |
| Import | External → MOI | Read scenarios such as import tasks, queries, and knowledge bases |
| Export | MOI → External | Export tasks |
| Import + Export | Bidirectional | Use the same connection as both source and destination |

## Supported Data Sources (9 Categories · 41 Types)

| Category | Data sources |
| --- | --- |
| Object storage | Alibaba Cloud OSS, Huawei Cloud OBS, standard S3 / MinIO, Tencent Cloud COS |
| Distributed file systems | HDFS |
| File protocols | FTP, SFTP, SharePoint, SMB / NAS |
| Databases | MySQL, PostgreSQL, MatrixOne, MongoDB, Oracle, SQL Server, ClickHouse, Doris, Hive |
| Message queues | Kafka, RabbitMQ, MQTT |
| Enterprise applications | Kingdee K/3, Oracle ERP, Yonyou U8, SAP S/4HANA, Salesforce |
| Email | Gmail, Outlook, IMAP / SMTP, Microsoft 365 Graph, QQ Mail, WeCom Mail, custom email API |
| Collaboration | DingTalk, Feishu, WeCom API, Yuque, GitHub, Slack |
| APIs | REST API, GraphQL |

You can work backward from the form of your data when choosing a connector: where files reside (object storage / file protocols / HDFS) → where records reside (databases / enterprise applications / collaboration) → where streams originate (message queues) → use REST / GraphQL when no dedicated type is available.

## General Rules

1. **A connector defines only the connection**: Database connectors generally do not require a fixed database name in the connector. Select the specific database, table, or Collection **when importing or querying**.
2. **Oracle is an exception**: Service Name / SID identifies the connection target itself and is **required**. A Schema within the database remains optional.
3. **Email**: The connector manages authorization and connectivity. Configure the time range, folders, and similar options in the import task.
4. **Sensitive credentials**: Use a least-privilege account. A successful connection test only confirms connectivity; before running a production task, validate the data path and permissions with a small sample of data.

---

## Object Storage

Common requirements: **credentials + bucket / path**.

### Alibaba Cloud OSS

| Field | Required | Description |
| --- | --- | --- |
| Region | Yes | Options include East China 1 (Hangzhou), East China 2 (Shanghai), North China 2 (Beijing), South China 1 (Shenzhen), and others |
| AccessKey ID / AccessKey Secret | Yes | Alibaba Cloud access credentials; enter the Secret in the password field |
| File Path | Yes | `<bucket-name>/<folder-path>` or just `<bucket-name>` |

### Standard S3 / MinIO

| Field | Required | Description |
| --- | --- | --- |
| Endpoint | Yes | For example, `https://s3.amazonaws.com`; for MinIO, enter the address of your self-hosted service |
| Access Key / Secret Key | Yes | Access credentials |
| Bucket | Yes | Bucket name |
| Region | Yes | For example, `us-east-1` |

### Tencent Cloud COS

| Field | Required | Description |
| --- | --- | --- |
| Region | Yes | Options include South China (Guangzhou), East China (Shanghai), North China (Beijing), Southwest China (Chengdu), Asia Pacific (Hong Kong), and others |
| SecretId / SecretKey | Yes | Tencent Cloud access credentials |
| Bucket | Yes | Must include the appid suffix: `<bucket-name>-<appid>` |
| File Path | Yes | `<bucket>/<folder-path>` or just `<bucket>` |

### Huawei Cloud OBS

| Field | Required | Description |
| --- | --- | --- |
| Region | Yes | Options include CN North-Beijing4, CN East-Shanghai1, CN South-Guangzhou, AP-Hong Kong, and others |
| AK / SK | Yes | Huawei Cloud access credentials |
| Bucket | Yes | Bucket name |
| File Path | Yes | `<bucket>/<folder-path>` |

---

## Distributed File Systems

### HDFS

| Field | Required | Description |
| --- | --- | --- |
| NameNode Address | Yes | For example, `hdfs://namenode:8020` |
| Username | Yes | User with access to HDFS |

---

## File Protocols

### FTP

| Field | Required | Description |
| --- | --- | --- |
| Host / Port | Yes | Default port: 21 |
| Username | Yes | Enter `anonymous` for anonymous access |
| Password | No | — |
| Base Path | No | Root path for reads and writes; leave blank to use the default login directory |
| Transfer Mode | Yes | Passive PASV (recommended) / Active PORT |

### SFTP

| Field | Required | Description |
| --- | --- | --- |
| Host / Port | Yes | Default port: 22 |
| Username | Yes | — |
| Authentication Method | Yes | Password, or private key (PEM; for an encrypted private key, also enter its passphrase) |
| Base Path | No | For example, `/home/user/data` |

### SharePoint

| Field | Required | Description |
| --- | --- | --- |
| Site URL | Yes | Online site address containing `/sites/<name>` |
| Tenant ID | Yes | Microsoft Entra tenant identifier |
| Client ID / Client Secret | Yes | Entra application credentials; requires permissions such as Sites.Read.All |
| Document Library Name | No | Default: Documents |
| Subfolder | No | Further restricts the scope |

### SMB / NAS

| Field | Required | Description |
| --- | --- | --- |
| Host | Yes | Domain name or IP address |
| Share Name | Yes | SMB/CIFS share name without leading backslashes |
| AD Domain | No | Workgroup or domain name; leave blank when not using a domain |
| Username / Password | Yes | — |
| SMB Version | No | Auto-negotiate (recommended) / SMB 3.0+ / 2.x / 1.0 (legacy devices only; not recommended) |

---

## Databases

General principle: **the connector defines the connection; select the database and table when importing / querying**. “Database (database name)” is **optional** for most types. All types support connection testing.

### MySQL / PostgreSQL / MatrixOne

| Field | Required | Description |
| --- | --- | --- |
| Host / Port | Yes | Defaults: MySQL 3306, PostgreSQL 5432, MatrixOne 6001 |
| Username / Password | Yes | — |
| Database | No | Leave blank to select it when importing / querying |
| Schema (PostgreSQL only) | No | Default: `public` |

### MongoDB

| Field | Required | Description |
| --- | --- | --- |
| Host / Port | Yes | Default: 27017 |
| Authentication Method | Yes | Username and password (an authentication database may be specified; default: `admin`) / No authentication |
| Replica Set | No | For example, `rs0` |
| Read Preference | No | primary / primaryPreferred / secondary / secondaryPreferred (commonly used) / nearest |

Select the database and Collection during import.

### Oracle

Service Name / SID identifies the connection target and is **required**.

| Field | Required | Description |
| --- | --- | --- |
| Host / Port | Yes | Default: 1521 |
| Connection Method | Yes | Service Name (recommended for 12c+) / SID (11g and earlier) |
| Service / SID | Yes | For example, `ORCLPDB1` or `orcl` |
| Username / Password | Yes | — |
| Schema | No | Leave blank to use the user's default schema |

### SQL Server

| Field | Required | Description |
| --- | --- | --- |
| Host / Port | Yes | Default: 1433 |
| Instance Name | No | For a named instance, for example `SQLEXPRESS`; leave blank for the default instance |
| Username / Password | Yes | — |
| Database | No | Leave blank to select it when importing / querying |
| Encrypted Connection | No | Enabled (recommended) / Disabled |

### ClickHouse

| Field | Required | Description |
| --- | --- | --- |
| Host / Port | Yes | HTTP default: 8123; Native default: 9000 |
| Protocol | Yes | HTTP / HTTPS / Native TCP |
| Username | Yes | Default: `default` |
| Password | No | Leave blank if there is no password |
| Database | No | If left blank, `default` is commonly used |

### Doris

| Field | Required | Description |
| --- | --- | --- |
| FE Host | Yes | Frontend address; if there are multiple FEs, enter the preferred one |
| Query Port | Yes | Default: 9030 |
| HTTP Port | No | Default: 8030 (Stream Load); may be left blank for read-only use |
| Username / Password | Yes / No | Default username: `root` |
| Database | No | Leave blank to select it when importing / querying |

### Hive

Purpose is **Load** only (Export is disabled in the UI). Supports multiple HiveServer2 host/port pairs (“Add Host and Port”, up to 10). Default port: `10000`. Authentication is **LDAP** or **Kerberos**; the two modes are mutually exclusive.

| Field | Required | Description |
| --- | --- | --- |
| Host | Yes | HiveServer2 address |
| Port | Yes | Default: `10000` |
| Authentication Method | Yes | `LDAP` or `Kerberos` (default: LDAP) |

#### LDAP

| Field | Required | Description |
| --- | --- | --- |
| Username | Yes | Hive username |
| Password | Yes | Hive password |

#### Kerberos

Before you start: have the client principal from the keytab, the HiveServer2 service principal, and the cluster `krb5.conf` (or equivalent).

| Field | Required | Description |
| --- | --- | --- |
| Client Principal | Yes | Principal in the keytab, for example `user@REALM` |
| Service Principal | Yes | HiveServer2 principal, for example `hive/host@REALM` |
| Keytab file | Yes | Upload the keytab that matches the client principal (one file per connector) |
| Krb5 configuration file | Yes | Upload the cluster Krb5 config; contents are sent only with test/create/update requests and are not shown on the page |

**Kerberos setup steps**

1. Go to **Data Connection > Connectors**, create a connector, and select **Hive**.
2. Keep purpose as **Load**.
3. Enter one or more HiveServer2 hosts and ports; for HA, use **Add Host and Port**.
4. Set Authentication Method to **Kerberos**.
5. Enter the client and service principals, then upload the Keytab and Krb5 files.
6. Click **Test connection**, then save after it succeeds.

A successful test means the current parameters can connect. With multiple addresses, the test succeeds if any HiveServer2 endpoint connects; later reads typically use the first address. When editing, re-upload Keytab / Krb5 if the form requires them, then test and save again.

---

## Message Queues

### Kafka

| Field | Required | Description |
| --- | --- | --- |
| Bootstrap Brokers | Yes | Comma-separated, for example `broker1:9092,broker2:9092` |
| Security Protocol | Yes | PLAINTEXT / SSL / SASL_PLAINTEXT / SASL_SSL (commonly used in production) |
| SASL Mechanism | Depends on protocol | Required for SASL_*: PLAIN / SCRAM-SHA-256 / SCRAM-SHA-512 / GSSAPI |
| SASL Username / Password | Depends on protocol | Enter when SASL is enabled |
| Consumer Group | Yes | Consumers in the same group load-balance by partition |
| Topic Pattern | Yes | Wildcards are supported, for example `sensor.*` |
| Starting Offset | Yes | latest / earliest |

### MQTT

| Field | Required | Description |
| --- | --- | --- |
| Broker URL | Yes | `mqtt://` or `mqtts://`, for example `mqtt://broker:1883` |
| Client ID | Yes | Must be unique; a duplicate connection disconnects the existing client |
| Username / Password | No | Leave blank for anonymous access |
| Topic Subscription | Yes | `+` is a single-level wildcard; `#` is a multi-level wildcard |
| QoS | Yes | 0 / 1 (commonly used) / 2 |

### RabbitMQ

| Field | Required | Description |
| --- | --- | --- |
| Host / Port | Yes | AMQP 5672 / AMQPS 5671 |
| Virtual Host | Yes | Default: `/` |
| Username / Password | Yes | — |
| Queue Name | Yes | — |
| Exchange / Routing Key | No | Leave blank to use the default exchange |

---

## Enterprise Applications

### SAP S/4HANA

| Field | Required | Description |
| --- | --- | --- |
| OData Service Root | Yes | OData V2/V4 root address (BASIS must enable the allowlisted services) |
| Client | Yes | Three-digit client number, for example 100 / 200 |
| Authentication Method | Yes | Basic or OAuth 2.0 (Client ID / Secret / Token URL) |
| CSRF Protection | Yes | Fetch automatically (default) / Disabled (read-only use only) |

### Oracle ERP

| Field | Required | Description |
| --- | --- | --- |
| Service URL | Yes | ERP Cloud instance root address |
| Username / Password | Yes | — |
| REST API Version | Yes | For example, v11 / v10 / v9 |

### Yonyou U8

| Field | Required | Description |
| --- | --- | --- |
| Server Address | Yes | Application server address, including the port |
| Account Set Number | Yes | Three-digit account set number |
| Fiscal Year | Yes | For example, 2026 |
| Username / Password | Yes | — |

### Kingdee K/3

| Field | Required | Description |
| --- | --- | --- |
| Server Address | Yes | K/3 Cloud site address |
| Account Set ID | Yes | Find it under Data Center in the Management Center |
| Username / Password | Yes | — |
| Language | No | Simplified Chinese (default) / English |

### Salesforce

| Field | Required | Description |
| --- | --- | --- |
| Instance URL | Yes | Organization instance domain (Setup → My Domain) |
| Consumer Key / Consumer Secret | Yes | Connected App credentials |
| Salesforce Username | Yes | — |
| Password + Security Token | Yes | **Concatenate** the password and Security Token directly |
| API Version | Yes | For example, `v60.0` |

---

## Email

The connector handles authorization and connectivity. Configure which messages to read, including the time range, in the import task.

### Gmail

| Field | Required | Description |
| --- | --- | --- |
| Email Address | Yes | Gmail / Google Workspace mailbox |
| Client ID / Client Secret | Yes | Google Cloud OAuth application credentials |
| Refresh Token | Yes | Generate it through authorization or paste an existing token; used for continuous reading |

### Outlook

| Field | Required | Description |
| --- | --- | --- |
| Tenant ID | Yes | Microsoft 365 tenant |
| Email Address | Yes | Mailbox or shared mailbox |
| Client ID / Client Secret | Yes | Entra application credentials |

### Microsoft 365 Graph

| Field | Required | Description |
| --- | --- | --- |
| Tenant ID | Yes | Find it in the Entra admin center |
| Client ID / Client Secret | Yes | Application credentials |
| Mailbox Allowlist | No | Blank = all mailboxes; separate multiple entries with commas |
| Scope | Yes | Must include required scopes such as `Mail.Read` |

### QQ Mail / WeCom Mail

| Field | Required | Description |
| --- | --- | --- |
| Email Account | Yes | Full email address |
| Authorization Code | Yes | **Client authorization code** generated after enabling IMAP/SMTP (not the login password) |

### Generic IMAP / SMTP

| Field | Required | Description |
| --- | --- | --- |
| IMAP Host / Port | Yes | Default port: 993 |
| SMTP Host / Port | No | Default port: 465 |
| Encryption Method | Yes | SSL/TLS / STARTTLS / No encryption |
| Authentication Method | Yes | Username and password (or app-specific authorization code), or OAuth 2.0 |

### Custom Email API

| Field | Required | Description |
| --- | --- | --- |
| Base URL | Yes | Enterprise email API root address |
| Authentication Method | Yes | API Key / Bearer / OAuth 2.0 |
| Message List Endpoint | Yes | For example, `/messages` |
| Message Details / Send Endpoint | No | For example, `/messages/{id}` and `/messages/send` |
| Data Path | No | Path to the list in JSON, for example `data.items` |

---

## Collaboration

### Feishu

| Field | Required | Description |
| --- | --- | --- |
| App ID / App Secret | Yes | “Credentials & Basic Info” on the Open Platform |
| Application Type | Yes | Custom enterprise app / Marketplace app (ISV) |
| Permission Scope | Yes | Space-separated scopes; grant the minimum permissions |

### DingTalk

| Field | Required | Description |
| --- | --- | --- |
| AppKey / AppSecret | Yes | Application details on the Open Platform |
| CorpId | Yes | Enterprise ID |
| AgentId | No | Enter for a micro-app; may be left blank for a third-party enterprise app |

### WeCom API

| Field | Required | Description |
| --- | --- | --- |
| CorpId | Yes | “My Enterprise” in the admin console |
| AgentId / Secret | Yes | Application identifier and secret |
| Callback Token / EncodingAESKey | No | Enter when using message callbacks |

### Slack

| Field | Required | Description |
| --- | --- | --- |
| Workspace URL | Yes | For example, `https://yourteam.slack.com` |
| Authentication Method | Yes | Bot Token (`xoxb-...`; for Socket Mode, also enter `xapp-...`) or User Token (`xoxp-...`) |
| Signing Secret | No | Used to verify event callback signatures |

### GitHub

| Field | Required | Description |
| --- | --- | --- |
| GitHub URL | Yes | Public cloud: `https://api.github.com`; Enterprise: `https://<host>/api/v3` |
| Authentication Method | Yes | PAT (fine-grained recommended) or GitHub App (App ID / Installation ID / PEM) |
| Organization / Repository Scope | No | Comma-separated; blank = everything accessible |

### Yuque

| Field | Required | Description |
| --- | --- | --- |
| Service Address | Yes | Public cloud `https://www.yuque.com` or a private deployment |
| Token | Yes | Issued in personal settings or by an administrator |
| Knowledge Base Namespace | No | For example, `your-name/your-book`; blank = everything accessible |

---

## APIs

### REST API

| Field | Required | Description |
| --- | --- | --- |
| Base URL | Yes | API root address |
| Authentication Method | Yes | API Key (name / Header or Query / value), Bearer, OAuth 2.0, or no authentication |
| Timeout | No | Maximum wait per request in seconds; default is approximately 30 |
| Pagination Strategy | No | offset+limit / cursor / page+per_page / no pagination |
| Data Path | No | For example, `data.items`; leave blank when the root is the array |
| Default Request Headers | No | Sent with every request; separate multiple headers with newlines |

Configure the specific endpoint, method, parameters, and sample preview in the **import task**.

### GraphQL

| Field | Required | Description |
| --- | --- | --- |
| GraphQL Endpoint | Yes | For example, `https://api.example.com/graphql` |
| Authentication Method | Yes | Bearer / API Key (Header) / No authentication |
| Schema Introspection | No | Enabled (recommended) / Disabled |
| Default Request Headers | No | For example, `Content-Type: application/json` |
