Share via

How can I integrate Microsoft Teams with my external booking website for customer workflow management?

Restaurant to Customer 20 Reputation points
2026-05-18T08:48:11.5433333+00:00

I am working on a project where we use an external restaurant booking and customer management website

The goal is to connect this system with Microsoft Teams so that staff can receive notifications, manage customer inquiries, and handle booking updates directly inside Teams.

I want to understand:

What is the best way to integrate an external website with Microsoft Teams?

Can Microsoft Teams connect with such systems using APIs, webhooks, or Power Automate?

What are the recommended methods to send booking or customer updates from an external system into Teams channels?

Any guidance or best practices for this type of integration would be helpful.

Microsoft Teams | Development
Microsoft Teams | Development

Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs

0 comments No comments

Answer accepted by question author

Jayden-P 22,645 Reputation points Microsoft External Staff Moderator
2026-05-18T09:36:57.9933333+00:00

Hi Restaurant to Customer

Yes, Teams does support integration via APIs, webhooks, and Power Automate.

The most recommended way is Power Automate and Teams Workflow. You can read here for more details: Create Webhooks using Workflows

The flow should be something like this: External system → HTTP POST → Power Automate (Teams Webhook Trigger) → Teams channel.

Another option would be using Custom Teams App (Bot + APIs). If you are familiar with coding, you can consider using this option. Build a Teams app using Bot Framework + Teams SDK, the backend connects to your booking system API.

Ref: Introduction to Bots in Teams Apps - Teams | Microsoft Learn

In conclusion, Power Automate is best for notifications and simple logic, while a Teams bot is required when staff need real-time interaction, chat commands, and full booking management workflows inside Teams.

I hope this information helps


If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment". 

Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

1 additional answer

Sort by: Most helpful
  1. AI answer

    2026-05-18T08:48:54.48+00:00

    Integration of an external booking website with Microsoft Teams is best done using Power Automate–based workflows and webhooks, combined with Microsoft Graph where deeper integration with Microsoft Bookings is required.

    1. Best way to integrate an external website with Microsoft Teams

    The recommended approach is to use:

    • Power Automate (Workflows app in Teams) to receive events from the external system and post into Teams.
    • Webhooks to send HTTP POST requests from the external booking site into Teams via those workflows.
    • Optionally, Microsoft Graph Bookings APIs if using Microsoft Bookings as part of the solution.

    This pattern lets the external site act as the event source and Teams as the collaboration surface, while Power Automate handles routing, transformation, and posting of messages or cards into Teams.

    1. Using APIs, webhooks, and Power Automate

    Power Automate and Teams Workflows provide:

    • A trigger When a Teams webhook request is received that exposes an HTTP endpoint.
    • Actions such as Post card in chat or channel to send messages or Adaptive Cards into Teams.

    High-level flow:

    1. In Teams, open the Workflows app.
    2. Create a flow from blank and choose the trigger When a Teams webhook request is received.
    3. Configure authentication for the webhook (e.g., anyone, any user in tenant, or specific users in tenant).
    4. Add an action Post card in chat or channel from the Teams connector.
    5. Choose the target: specific channel, group chat, or chat with the flow bot, and map fields from the webhook payload (e.g., booking ID, customer name, time, status).
    6. Save the workflow and copy the generated HTTP POST URL.
    7. From the external booking website, send HTTP POST requests with JSON payloads to that URL whenever bookings are created, updated, or canceled.

    This uses standard HTTP APIs from the external system and Power Automate’s Teams connector to deliver messages into Teams.

    1. Recommended methods to send booking/customer updates into Teams channels

    Use Workflows-based incoming webhooks:

    • Create a webhook workflow from a Teams channel using a template such as Send webhook alerts to a channel:
      • In the target channel, select More options (…) → Workflows.
      • Choose a template like Send webhook alerts to a channel.
      • Configure parameters and save.
      • Copy the generated webhook URL.
    • From the external booking site, send HTTP POST requests:
    POST <WEBHOOK_URL>
    Content-Type: application/json
    
    {
      "text": "New booking: Customer John Doe at 7:00 PM",
      "bookingId": "12345",
      "status": "Created"
    }
    
    • The workflow can:
      • Post a simple text message.
      • Post an Adaptive Card with booking details and buttons for staff actions.
      • Optionally call other connectors (email, SMS, CRM) to extend the workflow.

    When to use this approach:

    • To receive booking events from external services.
    • To post Message Cards or Adaptive Cards to Teams channels or chats.
    • To transform or process webhook payloads (e.g., format messages, route based on restaurant location or booking type).
    • To integrate with other services supported by Power Automate.
    1. Integrating with Microsoft Bookings and broader customer workflows

    If the restaurant uses Microsoft Bookings or wants to centralize bookings in Microsoft 365:

    • Use Microsoft Graph Bookings APIs to manage bookings programmatically (create, update, cancel, reschedule, manage customers).
    • Combine this with Power Automate:
      • Use Bookings-related triggers (for example, booking created or canceled) to start flows.
      • Use Teams actions to post booking updates into channels.
      • Use other connectors (e.g., Dynamics 365, email, SMS) to extend the customer journey before and after appointments.

    Power Automate and Logic Apps can orchestrate the full customer journey around appointments (pre-visit notifications, post-visit follow-ups) while Teams serves as the collaboration hub for staff.

    1. Best practices
    • Use Workflows (Power Automate) instead of legacy Microsoft 365 Connectors, as new connector creation is being deprecated.
    • Design webhook payloads with clear fields (bookingId, customerName, time, status, location) so flows can route and format messages easily.
    • Use authentication options on the When a Teams webhook request is received trigger to control who or what can call the webhook.
    • Prefer Adaptive Cards for richer booking messages (actions, status updates) in Teams.
    • For complex scenarios (multi-branch restaurants, CRM integration), use Power Automate to connect Teams, Microsoft Bookings (via Graph), and other systems.

    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.