Azure Bot Service で宛先やCC追加などEmailの返信をカスタマイズする

掲題の件、 channelData のプロパティ調整すれば可能です。

つまりはこんな感じです。

enum Importance {
    High = "high",
    Normal = "normal",
    Low = "low",
}

const sendMail = async (context: TurnContext, toRecipients: string[], ccRecipients: string[], bccRecipients: string[], htmlBody: string, importance: Importance) => {
    await context.sendActivity({
        channelData: {
            toRecipients: toRecipients.join(";"),
            ccRecipients: ccRecipients.join(";"),
            bccRecipients: bccRecipients.join(";"),
            htmlBody,
            importance,
        },
    });
};

本文をHTML形式をMarkdown形式にできる

channelDataではなく、Activityのプロパティの text を利用します。これで text に設定した値が Markdown形式で反映されます。

        await context.sendActivity({
            text: body,
            channelData: {
              toRecipients: toRecipients.join(";"),
              ccRecipients: ccRecipients.join(";"),
              bccRecipients: bccRecipients.join(";"),
              importance,
            },
       });

本当は textFormat プロパティがあって、そこには markdownplainxml が利用可能で、そのデフォルトが markdown みたいなので plain とか使えそうなのですが、設定しても使えない。何かわかったら追記します。

参考

ボットを Office 365 の電子メールに接続する - Bot Service | Microsoft Docs