{
  "service": "feishu_custom_bot",
  "displayName": "Feishu Custom Bot",
  "categories": [
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Webhook Token",
      "placeholder": "token from Feishu webhook URL",
      "description": "Paste the token path segment from the Feishu webhook URL. The full webhook URL is also accepted. Create a custom bot from https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot.",
      "extraFields": [
        {
          "key": "signingSecret",
          "label": "Signing Secret",
          "inputType": "password",
          "required": false,
          "secret": true,
          "placeholder": "Optional secret from Feishu signature verification",
          "description": "Optional signing secret when signature verification is enabled for the bot. Copy it from the Feishu bot security settings."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.feishu.cn",
  "actions": [
    {
      "id": "feishu_custom_bot.send_image_message",
      "service": "feishu_custom_bot",
      "name": "send_image_message",
      "description": "Send an image message through the Feishu/Lark custom bot webhook.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Feishu image_key obtained from the image upload API."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageKey"
        ],
        "description": "Input for sending a Feishu image message."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "The Feishu response code. 0 means success."
          },
          "msg": {
            "type": "string",
            "description": "The Feishu response message."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Feishu object payload."
          },
          "statusCode": {
            "type": "integer",
            "description": "The legacy response code returned for backward compatibility."
          },
          "statusMessage": {
            "type": "string",
            "description": "The legacy response message returned for backward compatibility."
          }
        },
        "additionalProperties": false,
        "required": [
          "code",
          "msg",
          "data"
        ],
        "description": "The normalized Feishu custom bot send result."
      }
    },
    {
      "id": "feishu_custom_bot.send_interactive_message",
      "service": "feishu_custom_bot",
      "name": "send_interactive_message",
      "description": "Send an interactive card message through the Feishu/Lark custom bot webhook.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "card": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Feishu interactive card payload sent as the top-level card object."
          }
        },
        "additionalProperties": false,
        "required": [
          "card"
        ],
        "description": "Input for sending a Feishu interactive card message."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "The Feishu response code. 0 means success."
          },
          "msg": {
            "type": "string",
            "description": "The Feishu response message."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Feishu object payload."
          },
          "statusCode": {
            "type": "integer",
            "description": "The legacy response code returned for backward compatibility."
          },
          "statusMessage": {
            "type": "string",
            "description": "The legacy response message returned for backward compatibility."
          }
        },
        "additionalProperties": false,
        "required": [
          "code",
          "msg",
          "data"
        ],
        "description": "The normalized Feishu custom bot send result."
      }
    },
    {
      "id": "feishu_custom_bot.send_post_message",
      "service": "feishu_custom_bot",
      "name": "send_post_message",
      "description": "Send a post rich-text message through the Feishu/Lark custom bot webhook.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "post": {
            "type": "object",
            "properties": {
              "zh_cn": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "The rich-text title."
                  },
                  "content": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "One Feishu rich-text tag object."
                      },
                      "description": "One paragraph of Feishu rich-text tag objects.",
                      "minItems": 1
                    },
                    "description": "The rich-text paragraphs grouped by line.",
                    "minItems": 1
                  }
                },
                "additionalProperties": true,
                "required": [
                  "content"
                ],
                "description": "One language block inside the Feishu post payload."
              },
              "en_us": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "The rich-text title."
                  },
                  "content": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "One Feishu rich-text tag object."
                      },
                      "description": "One paragraph of Feishu rich-text tag objects.",
                      "minItems": 1
                    },
                    "description": "The rich-text paragraphs grouped by line.",
                    "minItems": 1
                  }
                },
                "additionalProperties": true,
                "required": [
                  "content"
                ],
                "description": "One language block inside the Feishu post payload."
              }
            },
            "additionalProperties": false,
            "description": "The Feishu post payload sent as content.post. Include at least one of zh_cn or en_us.",
            "anyOf": [
              {
                "required": [
                  "zh_cn"
                ]
              },
              {
                "required": [
                  "en_us"
                ]
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "post"
        ],
        "description": "Input for sending a Feishu post rich-text message."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "The Feishu response code. 0 means success."
          },
          "msg": {
            "type": "string",
            "description": "The Feishu response message."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Feishu object payload."
          },
          "statusCode": {
            "type": "integer",
            "description": "The legacy response code returned for backward compatibility."
          },
          "statusMessage": {
            "type": "string",
            "description": "The legacy response message returned for backward compatibility."
          }
        },
        "additionalProperties": false,
        "required": [
          "code",
          "msg",
          "data"
        ],
        "description": "The normalized Feishu custom bot send result."
      }
    },
    {
      "id": "feishu_custom_bot.send_share_chat_message",
      "service": "feishu_custom_bot",
      "name": "send_share_chat_message",
      "description": "Send a shared-chat card through the Feishu/Lark custom bot webhook.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "shareChatId": {
            "type": "string",
            "minLength": 1,
            "description": "The Feishu chat ID used in the share_chat message payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "shareChatId"
        ],
        "description": "Input for sending a Feishu shared-chat message."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "The Feishu response code. 0 means success."
          },
          "msg": {
            "type": "string",
            "description": "The Feishu response message."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Feishu object payload."
          },
          "statusCode": {
            "type": "integer",
            "description": "The legacy response code returned for backward compatibility."
          },
          "statusMessage": {
            "type": "string",
            "description": "The legacy response message returned for backward compatibility."
          }
        },
        "additionalProperties": false,
        "required": [
          "code",
          "msg",
          "data"
        ],
        "description": "The normalized Feishu custom bot send result."
      }
    },
    {
      "id": "feishu_custom_bot.send_text_message",
      "service": "feishu_custom_bot",
      "name": "send_text_message",
      "description": "Send a text message through the Feishu/Lark custom bot webhook.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "description": "The text message content. You can include Feishu <at ...> tags inline."
          }
        },
        "additionalProperties": false,
        "required": [
          "text"
        ],
        "description": "Input for sending a Feishu text message."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "The Feishu response code. 0 means success."
          },
          "msg": {
            "type": "string",
            "description": "The Feishu response message."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Feishu object payload."
          },
          "statusCode": {
            "type": "integer",
            "description": "The legacy response code returned for backward compatibility."
          },
          "statusMessage": {
            "type": "string",
            "description": "The legacy response message returned for backward compatibility."
          }
        },
        "additionalProperties": false,
        "required": [
          "code",
          "msg",
          "data"
        ],
        "description": "The normalized Feishu custom bot send result."
      }
    }
  ]
}
