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