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 の設定

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で動作を確認しています。