# Step 1: Create and configure the application

You need to create a self-built application, enable bot capabilities, and configure the application permissions required to call the API.
<!--
You need to create an enterprise self-built application and configure application permissions and event subscriptions.
-->

## Procedure

1. Log in to [Developer Console](https://open.feishu.cn/app).

2. On the homepage of the developer background, click **Create custom app**, fill in the application name, description and icon information, and click **Create**.

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/c39d15cf5a5b21d767fe18f6b8fac1c6_EWYMGtwoz9.png?height=1668&lazyload=true&maxWidth=600&width=2502)

3. Associate the test company to generate a test version of the application.

1. On the left navigation bar of the application details page, enter the **Test Company and Users** page, and click **Create Test Company** in the upper right corner of the page.

In order to meet the needs of frequent configuration changes during the development and testing phase, the Feishu Open Platform provides [Testing Enterprise and Personnel Function](https://open.feishu.cn/document/home/introduction-to-custom-app-development/testing-enterprise-and-personnel-functions). During the development phase, it is recommended that developers use the beta version of the application. Permissions and configuration changes involved in this **version will take effect directly without administrator review**, and client testing will also be performed in the test tenant. After all the development tests are completed, switch and manually synchronize to the official version of the application, and only submit one review, which greatly speeds up the development efficiency and reduces the disturbance to the administrator.

2. In the **Create Test Company** dialog box, fill in **Test Company Name**, **Phone number**, **Verification code**, and click **Confirm**.

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/e13ff5220e699bba260574defc6df085_t2LLSZxMoP.png?height=986&lazyload=true&maxWidth=600&width=2954)

3. After the test enterprise is created, in the **Actions** column, click **install this app**.

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/8249a45a5effdb6ea331cfaa4a757f97_lRWa4K33pk.png?height=592&lazyload=true&maxWidth=600&width=2936)

4. After testing the enterprise-related application, switch the enterprise application to the beta application at the top of the page.

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/ff3e4c280cea08ec0bd16125c9cb634d_rxIH6gfmXt.png?height=480&lazyload=true&maxWidth=600&width=3570)

4. On the **Features** > **Add Features** page, on the **By Feature** tab, find the **Bot** card, and click **Add**.

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/389c666b7b2286be09c3f48728cac138_K6163UNfpW.png?height=1240&lazyload=true&maxWidth=600&width=2838)

5. On the **Development Configuration** > **Permissions & Scopes** page, add the following permissions to the app.

- Obtain user ID

- Update calendar and event information

- Obtain calendar, event, and availability information

- Obtain meeting room information

You can directly paste the following permission Keys into the permission search box, and click **Add in bulk** permissions.

```
    contact:user.employee_id:readonly,calendar:calendar,calendar:calendar:readonly,calendar:room:readonly
     ```

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/4a649197a926a8fca6257f35438e9085_yKcfeXxuOk.png?height=1226&lazyload=true&maxWidth=600&width=2828)
<!--
6. Configure event subscription and subscribe to **schedule reply** event.

1. On the **Development Configuration** > **Event Subscription** page, fill in **Request URL configuration**.

The request address is used to receive event messages pushed by the open platform to the application. When the event subscribed by the application occurs, the open platform will send a corresponding HTTP POST request to the request address. For a detailed description of the configuration request address, see [Configuration Request Address](https://open.feishu.cn/document/ukTMukTMukTM/uYDNxYjL2QTM24iN0EjN/event-subscription-configure-/request-url-configuration-case).

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/462e28b32ad3210aa4a6f0270b695b78_tSC5mwTNT0.png?height=1124&lazyload=true&maxWidth=600&width=2844)

2. On the **Event Subscription** page, click **Add Event** to search for and add **Schedule responded** events.

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/c189e74e511a52d0b2481ae2f5b3ad63_s0ysrHYFkk.png?height=1184&lazyload=true&maxWidth=600&width=1642)
-->