カテゴリー内の他の記事

Office365 連携! - Microsoft Flowを使ってkintoneのデータをOutlookの予定表に登録する -

フォローする

(著者:サイボウズ 竹内 能彦)

 

Index

 

1. はじめに

最近 kintone と Office 365 は連携できないの?とよく聞かれます。
両サービスとも API があるので連携はできます。が、開発が必要になり、なかなかのハードルです。

そこで、今回は Microsoft Flow を使って、 kintone に登録したスケジュール情報を Office 365 Outook の予定表に登録します。
Microsoft Flow に2018年1月に追加された kintoneコネクタを利用するのでプログラムを書かずに連携できます。

kintoneコネクタの詳しい機能は、下記注意点にてご確認いただけます。
今後のバージョンアップにご期待ください。

 

2. 注意点

  • Microsoft Flow 設定時の注意点(2018年2月時点の情報)
    • Internet Explorer や Microsoft Edge を利用してください。
      Google Chrome では設定できない箇所がありました。
  • ログイン名(kintone, Office 365)の注意点
    • 本記事をそのまま利用する場合、両サービスのログイン名が一致もしくは部分一致する環境を前提としています。
      例)kintone のログイン名が「XXXX」、Office 365 のログイン名が「XXXX@cybozu.co.jp」

 

3. 結果

いつもの通りまずは結果からお伝えします。
動作は簡単で、kintone アプリにレコードを追加すると、Outlook に予定が登録されます。

anime.gif

 

今回は予定の開始日時、終了日時、タイトル、内容、連絡先を連携しました。

00.png

 

4. kintone の設定

アプリの準備

フィールドの設定(今回のカスタマイズで必要なフィールドのみを抜粋)

フィールド名 フィールドタイプ フィールドコード
開始日時 日時 start_datetime
終了日時 日時 end_datetime
件名 文字列(1行) subject
本文 文字列(複数行) body
参加者 ユーザー選択 attendee

 

作成したアプリIDは Microsoft Flow の設定で利用するのでメモしましょう。
アプリIDはURLから確認できます。先ほど作成したアプリを開きます。
そのURLが「https://{subdomain}.cybozu.com/k/939/」の場合、「939」がアプリIDになります。

 

5. Microsoft Flow の設定

kintoneコネクタの設定

Office 365 にログインし、Flow アプリを選択します。
こんな画面が表示されていればOKです。

10.png

 

ではフローを作っていきましょう。慣れれば簡単です!
まずはメニューから「コネクタ」を選択します。「kintone」で検索し、kintone コネクタをクリックします。

01.png

 

画面下の「When a record is added to an app」をクリックします。

02.png

 

kintone のドメイン名を入力し、サインインをクリックします。
cybozu.com のログイン画面が表示されるのでログイン名とパスワードを入力し、ログインをクリックします。

03.png

 

このとき、下記エラーが表示された場合はcybozu.comヘルプの手順を参考に外部サービス連携から Microsoft Flow を有効にしてください。
(cybozu.com共通管理のシステム管理者権限が必要です)

04.png

 

外部サービス連携が許可されている場合は下記画面が表示されます。許可をクリックします。

 

_________.PNG

 

App IDには先ほどメモしたアプリIDを入力します。
次にアクションの追加をクリックします。

06.png

 

ログイン名の整形

kintone のユーザー情報は配列で保持し、配列配下にcodeプロパティ(ログイン名)とnameプロパティ(表示名)を持っています。
今回のサンプルでは kintone のログイン名が「XXXX」、Office 365 のログイン名が「XXXX@cybozu.co.jp」という環境で試しました。

そのため、ユーザー情報のcodeプロパティのみを取得するために本処理が必要になります。
また、kintone のログイン名を Office 365 のログイン名に合わせるために、kintone のログイン名「XXXX」に「@cybozu.co.jp」を追加する処理を実装します。

※ログイン名が全く異なる場合は、条件分岐する、ログイン名を紐づけるデータベースを別途用意する、などの対応が必要になります。

 

アクション「変数を初期化する」を追加します。(「変数」で検索しましょう)
名前は「mailaddress」と入力、種類は「配列」を選択します。

07.png

 

次は「Apply to Each」を追加します。(アクションではありません)
繰り返しの対象には「参加者」を選択します。

Apply to Eachの中にアクション「配列変数に追加」を追加します。
配列変数の名前は「mailaddress」を選択し、値には「concat(item().code, '@cybozu.co.jp')」と入力します。
ログイン名が共通の場合は、値に「item().code」と入力します。
※Google Chromeでは入力できなかったので Edge や IE11 での操作をお勧めします

08.png

 

Outlook に予定を登録

アクション「Office 365 Outlook - イベントの作成(V2)」を追加し、下記の通り設定します。
必須出席者には「join(variables('mailaddress'), ';')」と入力します。

09.png

 

フローの全体構成

これで完成です。フローの全体構成はこのようになっているはずです。

11.png

 

6. 動作確認

設定出来たら、フローを保存して、kintone にデータ追加してみましょう。
Outlook に予定が登録されたら成功です。

登録されない場合は以下の3か所でエラーが発生していないか確認してください。

  • Microsoft Flow の実行履歴
  • kintone アプリのWebhookログ(アプリの設定 > Webhook > Webhookログ)
  • cybozu.com共通管理の監査ログ

cybozu.com共通管理で「error type: SERVER_ERROR, status code: 404」が出力される場合は kintone アプリのWebhook設定と Microsoft Flow の kintone接続が合っていない可能性があります。
kintone アプリのWebhook設定を削除して、Microsoft Flow の kintone 接続を再設定してください。

 

7. 終わりに

ノンコーディングでデータベースを作れる kintone、ノンコーディングで各種サービスを繋げる Microsoft Flow、凄く相性が良いと思いませんか?

kintoneコネクタの機能追加が待ち遠しいです。

 

 このTipsは、2018年2月版 kintoneで確認したものになります。

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

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

Avatar
maeta-k

お世話になります。

 

トリガーは「アプリのレコード追加」のみとのことですが、

Outlook に予定を追加⇒kintone アプリにレコード登録

は可能でしょうか。

 

>>Microsoft Flow 設定時の注意点(2018年2月時点の情報)

>>Internet Explorer や Microsoft Edge を利用してください。

Firefox環境下では未検証でしょうか。

 

よろしくお願い致します。

Avatar
cybozu Development team

maeta-k 様

ご質問1について:

 注意点に『アクションは「レコード追加」、「レコード更新」』に記載のとおり、

 Outlookのコネクタで使えるトリガーに「Outlookに予定を追加」相当の機能が存在すれば、

 アクション 「kintoneアプリにレコード追加」は既に存在しますので、可能です。

 確認したところ、「新しいイベントが作成されたとき (V2)」というトリガーがありましたので、利用できそうです。

 このTipsのシナリオと異なりますので、実際の開発の際のご質問はコミュニティに投稿ください。

 

ご質問2について

 申し訳ありません。Firefox環境では未検証です。

 ただし、Flow設定時のみのブラウザになります。

 Flowの設定後は、動作にブラウザは関係ありません。

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