Creating chatbot in Microsoft Teams with Webhooks and connectors

Webhooks are user defined HTTP callbacks that are used for triggering automated messages, notifications and transfer of data from one web application to another via specific URL(webhook endpoint)

For example, some source application sends an HTTP POST request to a specific URL or endpoint defined by the recipient application and then recipient application processes the request, takes action and send back response once action that is required to be taken by recipient application is completed. It helps multiple applications to communicate and transfer data in real time without delays.

Webhooks are becoming increasingly popular as a way for web applications to integrate with each other in a more streamlined and efficient way. They are often used in conjunction with APIs (Application Programming Interfaces) to allow different systems to work together seamlessly.

APIs are required to be triggered manually every time you want to perform certain task or get certain information. And webhooks are triggered automatically based on some event without any request.

If we consider the Microsoft teams webhooks for creating chatbots then we have two types of webhooks:

Outgoing Webhooks:

  • Outgoing webhooks are used to send data from an application to an external service
  • Outgoing webhooks are triggered by events or actions that occur within a web application or service.
  • When a specific event or action takes place, the application initiates an HTTP request to send data (payload) to a predefined URL (webhook endpoint).
  • The receiving application or service then processes the data sent by the outgoing webhook and takes appropriate actions based on the received payload.
  • Outgoing webhooks are often used to push data or notifications to external systems or services, such as sending updates to a chat platform, triggering actions in another application, or delivering data to a remote server.
Image 1

Incoming Webhooks:

  • Incoming webhooks are used to receive data from external sources into an application.
  • Incoming webhooks are endpoints that are provided by a web application or service to accept and process incoming HTTP requests.
  • External systems or services can send HTTP requests to the webhook endpoint, typically with a payload containing relevant data or information.
  • The receiving application or service processes the incoming webhook request, extracts the payload data, and performs actions based on the received information.
  • Incoming webhooks are commonly used to receive data or notifications from external sources and trigger actions within the receiving application or service. For example, an application might use an incoming webhook to receive data from an external form submission, process it, and store it in a database.

Go to more apps in Image 1 and then search incoming webhook:

Image 2

Apart from this, we also have connectors in Microsoft teams:


Connectors are a feature that allows you to integrate external services and receive updates or notifications directly within Teams. Connectors enable you to bring information from various sources into your Teams channels, improving collaboration and keeping your team informed. Here are some key points about connectors in Microsoft Teams:

  • Integration with External Services: Microsoft Teams provides a wide range of pre-built connectors that allow you to connect with external services and applications. These connectors enable you to bring information and updates from external systems directly into Teams channels.
  • Connector Cards: When a connector is configured, it can send messages or updates in the form of Connector Cards. Connector Cards are richly formatted messages that provide information, images, links, and actions related to the external service or system. These cards are displayed in the Teams channel, providing a clear and consistent way to present information from different sources.
  • Connector Configuration: To use a connector in Microsoft Teams, you need to configure it for a specific channel. This configuration involves selecting the desired connector from the available options and specifying the necessary settings or credentials to connect to the external service.
  • Available Connectors: Microsoft Teams offers a wide range of connectors, including connectors for popular services such as GitHub, Trello, SharePoint, Azure DevOps, Salesforce, Jira, and more. These connectors enable you to receive updates, notifications, or specific events from these services directly within Teams.
  • Custom Connectors: In addition to the pre-built connectors, Microsoft Teams also provides the capability to create custom connectors. With custom connectors, you can integrate your own applications or services with Teams, allowing you to send updates, notifications, or information specific to your organization or business processes.
  • Connector Actions: Some connectors also provide actionable buttons or options within the Connector Cards, allowing users to take specific actions directly from Teams. For example, a connector for a project management tool might include buttons to create tasks or update project status.

Go to more apps in Image 1 and search connector, you will be able to see list of connectors available in your teams account:

Image 3

Hope you like this blog!