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

著者名:竹内 能彦(サイボウズ株式会社)

目次

概要

この記事では、Microsoft Power Automate を使って、kintone のデータから Outlook の予定表にイベントを自動登録するカスタマイズを紹介します。
kintone で案件情報を管理しながら、データから直接 Outlook に商談の予定などを登録できるので、とても便利なカスタマイズです。

はじめに

最近 kintone と Microsoft 365 は連携できないの?とよく聞かれます。
両サービスとも API があるので連携はできますが、開発が必要になり、なかなかのハードルです。
そこで、今回は Microsoft Power Automate (External link) を使って、 kintone に登録したスケジュール情報を Microsoft 365 Outook の予定表に登録します。
Microsoft Power Automate の kintone コネクタを利用するのでプログラムを書かずに連携できます。

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

注意点

  • kintone コネクタの注意点

  • ログイン名(kintone, Microsoft 365)の注意点

    • 本記事をそのまま利用する場合、両サービスのログイン名が一致もしくは部分一致する環境を前提としています。
      例)kintone のログイン名が「XXXX」、Microsoft 365 のログイン名が「XXXX@cybozu.co.jp」

kintone 環境をお持ちでない方は、1 年間無料の kintone 開発者ライセンス を利用できるので、ぜひ利用してください。

結果

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

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

kintone の設定

アプリの準備

フィールドの設定

今回のカスタマイズで必要なフィールドのみを抜粋しています。

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

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

Microsoft Power Automate の設定

kintoneコネクタの設定

Microsoft 365 (External link) にログインし、Power Automate アプリを選択します。
こんな画面が表示されていれば OK です。

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

画面下の「レコードがアプリに追加されたとき」をクリックします。

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

このとき、下記エラーが表示された場合は ユーザーに外部サービスとの連携を許可する (External link) を参考に外部サービス連携から Microsoft Power Automate を有効にしてください。
外部サービス連携を設定するには、cybozu.com 共通管理のシステム管理者権限が必要です。

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

App ID には先ほどメモしたアプリ ID を入力します。
次に「新しいステップ」をクリックします。

ログイン名の整形

kintone のユーザー情報は配列で保持し、配列配下に code プロパティ(ログイン名)と name プロパティ(表示名)を持っています。
今回のサンプルでは kintone のログイン名が「XXXX」、Microsoft 365 のログイン名が「XXXX@cybozu.co.jp」という環境で試しました。
ここではユーザー情報の code プロパティのみを取得するため、本処理が必要になります。
また、kintone のログイン名を Microsoft 365 のログイン名と合わせるため、kintone のログイン名「XXXX」に「@cybozu.co.jp」を追加する処理を実装します。
ログイン名がまったく異なる場合は、条件分岐したりログイン名を紐づけるデータベースを別途用意したりといった対応が必要です。

「変数」で検索し、アクション「変数を初期化する」を追加します。


名前は「mailaddress」と入力、種類は「アレイ」を選択します。

次は「Apply to Each」で検索し、組込みタブにある「Apply to Each」を追加します。


繰り返しの対象には「参加者」を選択します。

Apply to Each の中へ「配列変数に追加」アクションを追加します。
配列変数の名前は「mailaddress」を選択し、値には concat(item().code, '@cybozu.co.jp') と入力します。
ログイン名が共通の場合は、値に item().code と入力します。

Outlook に予定を登録

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

フローの全体構成

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

動作確認

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

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

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

cybozu.com 共通管理で以下のエラーが出力される場合は、kintone アプリの Webhook 設定と Microsoft Power Automate の kintone 接続が合っていないかもしれません。

1
error type: SERVER_ERROR, status code: 404

kintone アプリの Webhook 設定を削除して、Microsoft Power Automate の kintone 接続を再設定してください。

終わりに

ノーコーディングでデータベースを作れる kintone とノーコーディングで各種サービスをつなげる Microsoft Power Automate、すごく相性がよいと思いませんか?

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

information

この Tips は、2020 年 5 月版 kintone で動作を確認しています。