PipedreamHQ/pipedream

[ACTION] Microsoft Teams Bot - Reply to Message

Aperta

#14.758 aperta il 27 nov 2024

 (10 commenti) (0 reazioni) (1 assegnatario)JavaScript (5305 fork)batch import
actionenhancementgood first issuehelp wantedtriaged

Metriche repository

Star
 (7438 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Is there a specific app this action is for? Microsoft Teams Bot

Example workflow for testing: https://pipedream.com/@pd-component-dev/projects/proj_mJs6Ybr/ms-teams-bot-p_WxCWqBN/build

API Documentation: https://learn.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-connector-quickstart?view=azure-bot-service-4.0#reply-to-the-users-message

Example working code:

import { axios } from "@pipedream/platform"

export default {
  props: {
    microsoft_teams_bot: {
      type: "app",
      app: "microsoft_teams_bot",
    }
  },
  async run({steps, $}) {
    // Get the incoming message data
    const incomingMessage = steps.trigger.event.body;
    
    const data = {
      type: "message",
      from: {
        id: incomingMessage.recipient.id,
        name: incomingMessage.recipient.name
      },
      conversation: {
        id: incomingMessage.conversation.id
      },
      recipient: {
        id: incomingMessage.from.id,
        name: incomingMessage.from.name
      },
      text: "Hello! I received your message: " + incomingMessage.text,
      replyToId: incomingMessage.id
    };

    return await axios($, {
      url: `${incomingMessage.serviceUrl}/v3/conversations/${incomingMessage.conversation.id}/activities/${incomingMessage.id}`,
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${this.microsoft_teams_bot.$auth.oauth_access_token}`,
        'Content-Type': 'application/json'
      },
      data,
    });
  },
}

Guida contributor