Garoon 通知一覧で Office365 Outlook の新着メール通知を受け取ろう

目次

はじめに

スケジュールや掲示板は Garoon を利用しているけれど、メールだけは Office365 の Outlook を使っている方はいらっしゃいませんか?
その場合、新着メールの確認には Office365 にログインしてチェックする必要があります。

今回は、Garoon の 通知を登録する API を使って、Outlook に新着メールが届いたら Garoon で通知を受け取るカスタマイズを紹介します。
Outlook にログインしなくても、Garoon の画面で新着メールをチェックできるようになるので、業務がちょっとだけ楽になるかもしれません。

必要なもの

  • Garoon アカウント(クラウド版)
  • Outlook と Power Automate を利用できる Office 365 アカウント

完成イメージ

ユーザーは、Office 365 Outlook で受信した新着メールを、Garoon 通知一覧で確認できます。

動作イメージは次のとおりです。

  1. Office365 Outlook で新着メールを受信したら、Microsoft Power Automate のトリガーが発行します。
  2. Microsoft Power Automate のアクションで、Garoon の 通知を登録する API を実行し、Garoon 通知を登録します。

Garoon と Microsoft Power Automate の設定

Garoon の設定

Garoon の 通知を登録する API を利用するには、API の外部通知の設定が必要です。

  1. [Garoon システム管理]を開き、[各アプリケーションの管理]タブから[通知一覧]を選択します。
  2. [外部通知の設定]を選択し、[外部通知を追加する]をクリックします。
  3. 「外部通知の追加」画面で、次のように入力します。外部通知設定の詳細は、「 API の外部通知の設定 (External link) 」を参照してください。

    項目名
    ステータス 「有効」を選択します。
    許可する外部通知 「API」を選択します。
    外部通知コード 外部通知を識別するためのコードです。
    今回は「office365-mail-notifier」と入力します。
    表示名 「通知一覧」ポートレットおよび「通知一覧」画面に表示されるアプリケーション名として表示されます。
    今回は、「Outlook 新着メール」と入力します。
    許可するURL 次の2つの URL を指定します。
    • https://outlook.live.com/mail/inbox/id/*
      通知のリンクをクリックしたときに、メールを表示するためのURLです。
    • https://cdnjs.cloudflare.com/ajax/libs/simple-icons/3.0.1/microsoftoutlook.svg
      通知アイコンのURLです。
  4. [追加する]ボタンをクリックします。

手順は以上です。

Microsoft Power Automate の設定

Microsoft Power Automate で、Outlook でメールを受信したら Garoon の通知を登録する API を実行するフローを作成します。

  1. フローを作成します。
    Microsoft Power Automate (External link) を開き、左サイドバーより[マイフロー]を選択します。
  2. [+新規]ボタンをクリックします。[ゼロから作成]を選択します。
  3. トリガーを作成します。
    ページ下部の[多数のコネクタやトリガーを検索する]をボタンをクリックします。
  4. [コネクタやトリガーを検索する]欄に「Office 365 Outlook」と入力して検索します。
  5. 「Office 365 Outlook」の「新しいメールが届いたとき」トリガーを追加します。
    [フォルダー]は「Inbox」のままとします。

  6. トリガーが発行したときのアクション(今回は Garoon の 通知を登録する API を実行する HTTP アクション)を作成します。
    [新しいステップ]ボタンをクリックします。
  7. [コネクタとアクションを検索する]欄に、「HTTP」を入力して検索します。
    [アクション]タブの「HTTP」を選択します。
  8. 次のように設定します。

    項目名
    方法 「POST」を選択します。
    URL 実行するAPIのURLを指定します。
    今回は次のURLを入力します。
    https://{subdomain}.cybozu.com/g/api/v1/notification/items
    {subdomain} は、ご利用のGaroon環境に合わせて書き換えてください。
    ヘッダー
    • X-Cybozu-Authorization
      • Garoon のログイン名とパスワードを「:」でつないで BASE64エンコードを行った値です。
        たとえば、ログイン名が「Administrator」、パスワードが「cybozu」の場合、「QWRtaW5pc3RyYXRvcjpjeWJvenU=」です。
    • Content-Type
      • application/json
    クエリ 設定しません。
    本文 実行する API のリクエストパラメーターを設定します。
    指定する値の詳細は、 リクエストパラメーターの詳細 を参照してください。
    環境に合わせて書き換えが必要な箇所があります。
  9. [保存]ボタンをクリックし、フローを保存します。

設定は以上です。
フローの全体構成は、次のようになっているはずです。

リクエストパラメーターの詳細

Microsoft Power Automate の HTTP アクションに定義するリクエストパラメーター(「本文」に設定する値)について説明します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
  "app": "office365-mail-notifier",
  "notificationKey": "@{guid()}",
  "operation": "add",
  "url": "https://outlook.live.com/mail/inbox/id/@{triggerBody()?['Id']}",
  "title": " @{if(less(length(triggerBody()?['Subject']),20),triggerBody()?['Subject'],substring(triggerBody()?['Subject'],0,20))}",
  "body": " @{if(less(length(triggerBody()?['BodyPreview']),100),triggerBody()?['BodyPreview'],substring(triggerBody()?['BodyPreview'],0,100))}",
  "icon": "https://cdnjs.cloudflare.com/ajax/libs/simple-icons/3.0.1/microsoftoutlook.svg",
  "destinations": [
    {
      "type": "USER",
      "code": "USER_LOGIN_NAME"
    }
  ]
}

プロパティ名 概要
app office365-mail-notifier Garoon の外部通知設定で指定した「外部通知コード」を利用します。
notificationKey @{guid()} Garoon の通知キーには、GUID 関数が発行した文字列を用います。
Garoon では、同じ通知キーをもつ通知を上書きします。
GUID 関数を使うとユニークな文字列を発行できるため、新規の通知として登録できます。
operation add Garoon の通知操作です。
新規に通知を登録します。
url https://outlook.live.com/mail/inbox/id/@{triggerBody()?['Id']} 通知のリンクをクリックしたときに Outlook のメールを開くようにします。
title @{if(less(length(triggerBody()?['Subject']),20),triggerBody()?['Subject'],substring(triggerBody()?['Subject'],0,20))} 通知タイトルには、メールタイトルを利用します。
リクエストパラメーターの文字数制限にかからないよう、substring 関数で先頭20文字に切り出しています。
ただし、メールタイトルが20文字より少ない場合は元のタイトルを使用します。
body @{if(less(length(triggerBody()?['BodyPreview']),100),triggerBody()?['BodyPreview'],substring(triggerBody()?['BodyPreview'],0,100))} 通知本文には、メール本文を利用します。
リクエストパラメーターの文字数制限にかからないよう、substring 関数で先頭100文字に切り出しています。
ただし、メール本文が100文字より少ない場合は元のメール本文を使用します。
icon https://cdnjs.cloudflare.com/ajax/libs/simple-icons/3.0.1/microsoftoutlook.svg 通知アイコンには、CDNで公開されている Outlook アイコンを利用します。
destinations
{
"type": "USER",
"code": "USER_LOGIN_NAME"
}
通知先のリストです。
通知者は、Garoon ユーザーとし、type には USER 、code にはGaroon のログイン名を指定します

USER_LOGIN_NAME の部分をご自身のログイン名に書き換えてください。

おわりに

今回は、Garoon の通知を登録する API を使って、Outlook に新着メールが届いたら Garoon で通知を受け取るカスタマイズを紹介しました。

Microsoft Power Automate と Garoon 通知を組み合わせると、ノーコーディングでさまざまな Garoon への通知のしくみを作成できます。
たとえば、「One Drive の所定フォルダーへファイルが追加されたら Garoon に通知する」フローを作ると、チームメンバー間で、簡単にファイルの更新情報の共有ができます。
Microsoft Power Automate が提供しているさまざまなトリガーと組み合わせて、Garoon に通知してみましょう。

information

この Tips は、2019 年 9 月版 Garoon で動作を確認しています。