Skip to content

Feishu

Four steps to connect Feishu: create an app, connect in BotDrop, set up event subscription, then get your User ID.


Step 1: Create App on Feishu Open Platform

Section titled “Step 1: Create App on Feishu Open Platform”

Go to Feishu Open Platform and click “Developer Console” in the top right.

Developer Console

Click “Create Custom App”.

Create App Button

Fill in the app name (e.g. “BotDrop”), description, and pick an icon.

Create App Form

After creation, go to “Credentials & Basic Info”. Copy the App ID and App Secret.

App Credentials

Go to “Add App Capability” and click “Add” under “Bot”.

Add Bot

Once added, “Bot” appears in the left sidebar.

Bot Added

Go to “Permissions Management” and click “Add Permissions”.

Permission Management

Search for im: and enable all IM-related permissions.

Open IM Permissions

Required permissions:

PermissionDescription
contact:user.base:readonlyRead basic user info
im:messageSend and receive messages
im:message.p2p_msg:readonlyRead direct messages
im:message.group_at_msg:readonlyReceive group @ messages
im:message:send_as_botSend messages as bot
im:resourceUpload/download images and files

Optional (recommended):

PermissionDescription
im:message.group_msgRead all group messages
im:message:readonlyAccess message history
im:message:updateEdit sent messages
im:message:recallRecall messages

Save permissions.

📋 Reference configuration (click to expand)
{
"scopes": {
"tenant": [
"aily:file:read",
"aily:file:write",
"application:application.app_message_stats.overview:readonly",
"application:bot.menu:write",
"application:application:self_manage",
"base:app:copy",
"base:app:create",
"base:app:read",
"base:app:update",
"base:collaborator:create",
"base:collaborator:delete",
"base:collaborator:read",
"base:dashboard:copy",
"base:dashboard:read",
"base:field:create",
"base:field:delete",
"base:field:read",
"base:field:update",
"base:form:read",
"base:form:update",
"base:record:create",
"base:record:delete",
"base:record:read",
"base:record:retrieve",
"base:record:update",
"base:role:create",
"base:role:delete",
"base:role:read",
"base:role:update",
"base:table:create",
"base:table:delete",
"base:table:read",
"base:table:update",
"base:view:read",
"base:view:write_only",
"base:workflow:read",
"base:workflow:write",
"cardkit:card:write",
"contact:user.base:readonly",
"contact:user.employee_id:readonly",
"corehr:file:download",
"docs:doc",
"docs:document.content:read",
"drive:drive",
"event:ip_list",
"im:chat",
"im:chat.access_event.bot_p2p_chat:read",
"im:chat.members:bot_access",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.group_msg",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot",
"im:resource",
"sheets:spreadsheet",
"wiki:wiki",
"wiki:wiki:readonly"
],
"user": [
"aily:file:read",
"aily:file:write",
"contact:contact.base:readonly",
"im:chat.access_event.bot_p2p_chat:read"
]
}
}

Save Permissions

Click “Create Version” at the top.

Create Version

Fill in version number and release notes.

Version Details

Click “Request Online Release”.

Publish Online

Open Feishu messages, find the approval notification, and tap “Approve”.

Approve

After approval, the status shows green “Published”.

Published


In BotDrop, go to the Feishu tab under “Connect IM Channels”.

Fill in:

  1. App ID — from Step 1
  2. App Secret — from Step 1

Leave the Feishu User ID field empty for now.

BotDrop Feishu setup

Tap CONNECT & START.


Go back to your app settings on the Feishu Open Platform.

Go to “Events & Callbacks” and click edit.

Event Callback

Select “Use Long Connection to Receive Events” and save.

Long Connection

After saving, the “Add Event” button becomes clickable.

Add Event Enabled

Search for “Receive Message”, check im.message.receive_v1, and confirm.

Add Receive Message

The system will prompt for contact info permission. Search for contact:contact.base:readonly and enable it.

Contact Permission

Create a new version (e.g. 1.0.1) and publish again.

Republish


Search for your bot name in Feishu and send it a message. The bot will reply with your Feishu User ID.

Search Bot

Bot replies with User ID

Copy the User ID, go back to BotDrop, and paste it into the Feishu User ID field.

BotDrop Feishu filled

Tap CONNECT & START again. Done.


ProblemSolution
Bot doesn’t replyCheck that event subscription uses long connection and im.message.receive_v1 event is added.
Permission deniedMake sure all IM permissions are enabled and a new version is published after changes.
Can’t find the botSearch by the exact bot name you set when creating the app.