カテゴリー内の他の記事

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

フォローする

Index

はじめに

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

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

必要なもの

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

完成イメージ

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

完成イメージ

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

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

 

Garoon と Microsoft Flow の設定

Garoon の設定

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

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


    項目名
    ステータス 「有効」を選択します。
    許可する外部通知 「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 Flow の設定

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

  1. フローを作成します。
    Microsoft Flow を開き、左サイドバーより[マイフロー]を選択します。
  2. [+新規]ボタンをクリックします。[一から作成]を選択します。
  3. トリガーを作成します。
    ページ下部の[多数のコネクタやトリガーを検索する]をボタンをクリックします。
  4. [コネクタやトリガーを検索する]欄に「Office 365 Outlook」と入力します。
    検索結果の「Office 365 Outlook」を選択し、[トリガー]タブの「新しいメールが届いたとき」を選択しトリガーを追加します。
  5. 「Office 365 Outlook」の「新しいメールが届いたとき」トリガーが追加されます。
    [フォルダー]は「Inbox」のままとします。
  6. トリガーが発火したときのアクション(今回はGaroon 通知登録 API を実行するHTTPアクション)を作成します。
    [新しいステップ]ボタンをクリックします。
  7. [コネクタとアクションを検索する]欄に、「HTTP」を入力して検索します。
    [アクション]タブの「HTTP」を選択します。
  8. 次のように設定します。
    アクションの設定

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

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

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

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

プロパティ名 概要
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 Flow と Garoon 通知を組み合わせると、ノーコーディングでさまざまな Garoon への通知の仕組みを作成できます。
たとえば、「One Drive の所定フォルダーにファイルが追加されたら Garoon に通知する」フローを作ると、かんたんにチームメンバー間で、ファイルの更新情報の共有ができるようになります。
Microsoft Flow が提供しているさまざまなトリガーと組み合わせて、Garoon に通知してみましょう。

このTipsは、2019年9月版 Garoonで確認したものになります。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。