LangBot Docs
DeepSeek

Build a DingTalk AI Bot with DeepSeek

Step-by-step guide to running a DeepSeek-powered AI bot on DingTalk with LangBot: model setup, bot credentials, networking, testing and troubleshooting.

This recipe puts a DeepSeek model behind a DingTalk bot. LangBot receives messages from DingTalk, runs them through a pipeline, and sends the answer back, so you do not write any platform code.

Use DeepSeek models directly with LangBot's built-in Agent: no separate agent platform needed, with optional knowledge bases, MCP tools and Skills.

What you need

  • A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or uvx langbot.
  • A DeepSeek account or server you can call from LangBot.
  • A DingTalk app robot (Client ID and Client Secret). The one-click setup fills both after you authorize on your phone.

Networking

In Stream Mode LangBot connects out to DingTalk, so no public callback URL is needed.

1. Add the DeepSeek model

  1. Create an API key in the DeepSeek console.
  2. In LangBot, open Models, add an LLM model with the provider set to DeepSeek and request URL https://api.deepseek.com, then paste the API key and the model ID.
  3. Enable Tool Use if the model supports function calling; MCP tools, Skills and the sandbox need it.
  4. Typical model IDs are deepseek-chat and deepseek-reasoner; check DeepSeek's documentation for the current list.

2. Create a pipeline

Open Pipelines in the LangBot WebUI, create a pipeline (or edit the default one) and set AI as follows.

FieldValue
RunnerLocal Agent (built-in Agent)
ModelThe model you just added. You can add fallback models.
PromptInstructions: who the bot is, tone, what it must not do.
Knowledge BasesOptional. Attach a knowledge base so answers come from your documents.

3. Create the DingTalk bot

  1. Create a bot with the DingTalk adapter and use One-Click Setup, or create the robot manually and enter its credentials.
  2. Use Stream Mode for event delivery. For streaming replies, import LangBot's dingtalk_stream_card.json card template, enable Use Card Replies and paste the Card Template ID.

4. Bind and test

Open the bot, select the pipeline you created, save and make sure the bot is enabled.

Message the robot directly, then add it to a group and @mention it.

Troubleshooting

  • 401 errors: the API key is wrong or has no balance in the DeepSeek console.
  • Replies arrive as plain text instead of streaming: the card template is not imported or Use Card Replies is off.
  • Messages do not arrive: publish the app version and check that Stream Mode is selected under event subscriptions.
  • Check Monitoring in the WebUI: every message, pipeline run and error is recorded there.

FAQ

Do I need a server with a public IP for DingTalk?

No. In Stream Mode LangBot connects out to DingTalk, so no public callback URL is needed.

Does the DingTalk bot support streaming replies?

Yes. Enable streaming on the bot; the AI back end must also stream. See the platform feature matrix for details.

Can the same DeepSeek setup serve other platforms too?

Yes. A pipeline can be bound to many bots, so one configuration can answer on several platforms at once.

On this page