(著者:サイボウズ 竹内 能彦)
概要
この記事では、Microsoft Power Automateを使って、kintone のデータからOutlookの予定表にイベントを自動登録するカスタマイズをご紹介します。
kintoneで案件情報を管理しながら、データから直接Outlookに商談の予定などを登録できるので、とても便利なカスタマイズです。
1. はじめに
最近 kintone と Office 365 は連携できないの?とよく聞かれます。
両サービスとも API があるので連携はできます。が、開発が必要になり、なかなかのハードルです。
そこで、今回は Microsoft Power Automate を使って、 kintone に登録したスケジュール情報を Office 365 Outook の予定表に登録します。
Microsoft Power Automate に2018年1月に追加された kintoneコネクタを利用するのでプログラムを書かずに連携できます。
kintoneコネクタの詳しい機能は、下記注意点にてご確認いただけます。
今後のバージョンアップにご期待ください。
2. 注意点
- kintoneコネクタの注意点
- こちらの記事(kintoneコネクタ(Microsoft Power Automate)を使う前に知っておきたいこと10選 )をご確認ください。
- Microsoft Power Automate 設定時の注意点(2018年2月時点の情報)
- Internet Explorer や Microsoft Edge を利用してください。
Google Chrome では設定できない箇所がありました。
- Internet Explorer や Microsoft Edge を利用してください。
- ログイン名(kintone, Office 365)の注意点
- 本記事をそのまま利用する場合、両サービスのログイン名が一致もしくは部分一致する環境を前提としています。
例)kintone のログイン名が「XXXX」、Office 365 のログイン名が「XXXX@cybozu.co.jp」
- 本記事をそのまま利用する場合、両サービスのログイン名が一致もしくは部分一致する環境を前提としています。
3. 結果
いつもの通りまずは結果からお伝えします。
動作は簡単で、kintone アプリにレコードを追加すると、Outlook に予定が登録されます。
今回は予定の開始日時、終了日時、タイトル、内容、連絡先を連携しました。
4. kintone の設定
アプリの準備
フィールドの設定(今回のカスタマイズで必要なフィールドのみを抜粋)
フィールド名 | フィールドタイプ | フィールドコード |
開始日時 | 日時 | start_datetime |
終了日時 | 日時 | end_datetime |
件名 | 文字列(1行) | subject |
本文 | 文字列(複数行) | body |
参加者 | ユーザー選択 | attendee |
作成したアプリIDは Microsoft Power Automate の設定で利用するのでメモしましょう。
アプリIDはURLから確認できます。先ほど作成したアプリを開きます。
そのURLが「https://{subdomain}.cybozu.com/k/939/」の場合、「939」がアプリIDになります。
5. Microsoft Power Automate の設定
kintoneコネクタの設定
Office 365 にログインし、Power Automate アプリを選択します。
こんな画面が表示されていればOKです。
ではフローを作っていきましょう。慣れれば簡単です!
まずはメニューから「コネクタ」を選択します。「kintone」で検索し、kintone コネクタをクリックします。
画面下の「レコードがアプリに追加されたとき」をクリックします。
kintone のドメイン名を入力し、サインインをクリックします。
cybozu.com のログイン画面が表示されるのでログイン名とパスワードを入力し、ログインをクリックします。
このとき、下記エラーが表示された場合はcybozu.comヘルプの手順を参考に外部サービス連携から Microsoft Power Automate を有効にしてください。
(cybozu.com共通管理のシステム管理者権限が必要です)
外部サービス連携が許可されている場合は下記画面が表示されます。許可をクリックします。
App IDには先ほどメモしたアプリIDを入力します。
次に「新しいステップ」をクリックします。
ログイン名の整形
kintone のユーザー情報は配列で保持し、配列配下にcodeプロパティ(ログイン名)とnameプロパティ(表示名)を持っています。
今回のサンプルでは kintone のログイン名が「XXXX」、Office 365 のログイン名が「XXXX@cybozu.co.jp」という環境で試しました。
そのため、ユーザー情報のcodeプロパティのみを取得するために本処理が必要になります。
また、kintone のログイン名を Office 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」と入力します。
※Google Chromeでは入力できなかったので Edge や IE11 での操作をお勧めします
Outlook に予定を登録
アクション「Office 365 Outlook - イベントの作成(V4)」を追加し、下記の通り設定します。
必須出席者には「join(variables('mailaddress'), ';')」と入力します。
フローの全体構成
これで完成です。フローの全体構成はこのようになっているはずです。
6. 動作確認
設定出来たら、フローを保存して、kintone にデータ追加してみましょう。
Outlook に予定が登録されたら成功です。
登録されない場合は以下の3か所でエラーが発生していないか確認してください。
- Microsoft Power Automate の実行履歴
- kintone アプリのWebhookログ(アプリの設定 > Webhook > Webhookログ)
- cybozu.com共通管理の監査ログ
cybozu.com共通管理で「error type: SERVER_ERROR, status code: 404」が出力される場合は kintone アプリのWebhook設定と Microsoft Power Automate の kintone接続が合っていない可能性があります。
kintone アプリのWebhook設定を削除して、Microsoft Power Automate の kintone 接続を再設定してください。
7. 終わりに
ノンコーディングでデータベースを作れる kintone、ノンコーディングで各種サービスを繋げる Microsoft Power Automate、凄く相性が良いと思いませんか?
kintoneコネクタの機能追加が待ち遠しいです。
このTipsは、2020年5月版 kintoneで確認したものになります。
お世話になります。
トリガーは「アプリのレコード追加」のみとのことですが、
Outlook に予定を追加⇒kintone アプリにレコード登録
は可能でしょうか。
>>Microsoft Flow 設定時の注意点(2018年2月時点の情報)
>>Internet Explorer や Microsoft Edge を利用してください。
Firefox環境下では未検証でしょうか。
よろしくお願い致します。
maeta-k 様
ご質問1について:
注意点に『アクションは「レコード追加」、「レコード更新」』に記載のとおり、
Outlookのコネクタで使えるトリガーに「Outlookに予定を追加」相当の機能が存在すれば、
アクション 「kintoneアプリにレコード追加」は既に存在しますので、可能です。
確認したところ、「新しいイベントが作成されたとき (V2)」というトリガーがありましたので、利用できそうです。
このTipsのシナリオと異なりますので、実際の開発の際のご質問はコミュニティに投稿ください。
ご質問2について
申し訳ありません。Firefox環境では未検証です。
ただし、Flow設定時のみのブラウザになります。
Flowの設定後は、動作にブラウザは関係ありません。