12
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

kintone 2Advent Calendar 2019

Day 17

メールなんてもう見たくない~kintone API更新情報をkintoneで共有~

Last updated at Posted at 2019-12-17

はじめに

業務でkintoneの活用が進んでくると、お客様とのやりとりもゲストスペースを活用したりして、メールを見る必要性が低くなってきますね。

ところが、技術者にとって大事な情報ってメールで送られてくることがほとんどです。
cybozu developer network のAPI更新情報、Tips公開の情報もまたメール…。
(メンバー登録してフォローするとメールで届くようになります)

大事な情報だからこそ、kintoneで見たい!
技術情報をチームでも共有したい!

ということで、メールで受信した情報をkintoneに自動登録してみました。

実現したこと

cybozu developer networkから届く新着情報を、kintoneアプリに登録!
メール本文をそのまま登録ではなく、必要な情報は適切なフィールドに入れます。
kintone_record.png

(この画像では同じメールだけになっていますが)
レコードが溜まれば、メンテナンス日ごとに情報を探したりできるようになります!
list.png

利用するサービス

Zapierは複数ステップのZap(Multi-step Zaps)を作成するため、有料プランが必要です。
https://zapier.com/app/billing/plans
無料の範囲で使いたい場合、Zapier設定のStep2,3を割愛してください。
ただし、メンテナンス日をkintoneの日付フィールドに入れることができません…。
※無料アカウントでも設定を進めることが出来ますが、自動実行をオンにすることができません。

実現方法

更新情報メールを眺めてみる

API更新情報のメールは、このような形で送られてきます。
mail_api.png

  • 「メール受信日=APIリリース日」ではない(定期メンテの日より先に送られてくる)
  • メンテナンス日は件名に書かれている
  • 更新情報の掲載された記事URLは、メール末尾の「記事を表示」のリンク先に載る

ちなみにAPI更新情報は、メンバー登録してからこのページにアクセスすると、フォローボタンが表示されます。
apiUpdateSection.png
APIの障害情報もここに情報が載るので、kintone開発に携わる人はフォローしておくと安心です!
※サイト更新情報とイベント情報も、同じように新着情報をメールで受け取ることが出来ます。

さて、このメールの情報をkintoneに自動で取り込めるよう設定していきましょう!

処理の流れ

  1. メールをEmail Parser by Zapier で発行したメールアドレスに転送する
  2. Email Parserでメールの内容を分解
  3. Zapier で2のメール受信をトリガーに、kintoneへレコード登録する

※ 1のメール転送は、メールサービス側やメーラーの転送設定を使います。

設定

kintoneアプリの準備

kintone01.png

アプリに用意するフィールドは以下の通りです。

フィールドタイプ  フィールド名   フィールドコード
日付 メンテナンス日 メンテナンス日
文字列(1行)   タイトル タイトル
文字列(1行)   URL URL
リッチエディター 詳細 詳細
作成日時 メール受信日時 メール受信日時
文字列(複数行) メール本文 メール本文

一番最後の「メール本文」は、メールの分割に失敗したときに内容を確認するためのフィールドです。
普段は使わないので、グループフィールドの中に入れて閉じておきましょう。
(グループフィールドの名前、フィールドコードはなんでも構いません)

APIトークン発行

kintone_token.png
APIトークンは「レコード追加」の権限を付けたものを用意してください。
APIトークンをコピーしておき、アプリの設定を保存、公開します。

Zapier のユーザー登録

Zapierのトップページ「Sign Up」ボタンからメンバー登録してください。

Email Parser by Zapier の設定

Emailで受け取った情報をParseすることができる、Zapierのサービスです。
ここにメールボックスを作成すると、専用のメールアドレスを取得することができます。

Zapier のメンバー登録が終わったら、Email Parser by Zapier にZapierのアカウントでログインします。
Parser01.png

「Create Mailbox」から新規メールボックスを作成します。
Parser02.png

「Skip wating」で次へ進みます。
Parser03.png

転送用メールアドレスを設定して、「Save Address and Template」ボタンで保存します。
Parser04.png
※ テンプレートの設定は後でおこないます。

メールの転送設定

転送設定をする

メーラーやメールサービスの設定で、「ルールに合致したものを指定したメールアドレスに転送」という設定を入れます。
転送先のメールアドレスは、先ほどEmail Parserで設定したものを使います。

Outlookの場合:
Outlook.png

設定&動作確認用に1件メールを転送

Email Parserの設定を行うために、メールを1件転送しておきます。
(転送されるまで待てない!)

Email Parser by Zapier の設定(テンプレート)

メールの内容を、kintoneのフィールドに登録したい情報で分割するための設定を行います。

Email Parser の Mailboxes を開き、先ほど設定したメールアドレスの横の歯車マークをクリックします。
Parser05.png

先ほどテスト転送したメールがこのように表示されています。
Parser06.png
「Initial Template」内でメールの内容をドラッグすると、その箇所に名前を付けることができます。
Parser07.png

kintoneアプリのフィールド項目として取り出したいところをドラッグして名前を付けていきましょう。

メンテナンス日:mentenancedate
parse01.png

タイトル:title
parse02.png

本文:body
※フッタはいらないと思うので、選択範囲からはずしておいてください。
parse03.png

更新記事のURL:articleurl
parse04.png

名前付けが終わったら保存します。
parse05.png

Zapierの設定

ZapierのDashboardを開き、Make a Zap!から新規Zapを作成していきます。

左上の「Name your zap」をクリックして、Zapの名前をつけておきましょう。
zapier00.png

Step1

まずはトリガーです!
検索窓で「Email」と入力して、「Email Parser by Zapier」を検索します。
zapier01.png

Trigger Eventは「New Email」です。
zapier02.png

Email Parserのアカウントは、初回は「Add a New Account」から追加します。
zapier03.png

次にMailboxを選択します。
zapier04.png

トリガーの設定は以上です。

Step2

「+」マークをクリックして、次のステップを追加しましょう。

Email Parserで、件名から日付(メンテナンス日)を抽出しましたが、この日付は「YYYY/MM/DD」という形式になっています。
このままだとkintoneの日付フィールドに入れられないため、フォーマットを行います。

Built-In Appsから、Formatterを選択します。
zapier05.png

Action Eventは「Date/Time」を選んでください。
zapier06.png

Valuesは「Parse Output Mentenancedate」を選びます。
※「Parse Output 〇〇」というのが、EmailParserでParseした文字列です。
zapier07.png

To Formatで、kintoneで扱いたい形式を選びます。
ここでは日付のみ(時間不要)なので、YYYY-MM-DDです。
Timezoneは「Asia/Tokyo」を選んでください。
zapier08.png
※Email Parserで受け取ったメールの送信日時は、タイムゾーンがUTCになっています。
今回はメール件名からの抽出なので意識する必要はあまりありませんが、メールの受信日を利用するときはフォーマット前後のタイムゾーンに注意する必要があります。

From Formatに「YYYY/MM/DD」が見当たらないので、「Use a Custom Value(advanced)」を選び、「YYYY/MM/DD」を入力します。
zapier09.png
zapier10.png
From Timezoneは「Asia/Tokyo」です。

設定が終わったら、「TEST & REVIEW」で値がどのように変わるか確認することができます。
zapier11.png
zapier12.png
YYYY-MM-DD形式になっていれば成功です。

Step3

Email Parserで選択した本文は、そのまま使うとMarkdown形式で少し読みにくい状態になってしまいます。
body_image.png

そこで、Markdown形式からHTML形式にフォーマットを行って、リッチテキストフィールドに入れてみます。
body_image2.png
少し見やすくなりますね。

ということで、3つめのステップではMarkdownからHTMLへのコンバートを行います!

HELPERSから「Formatter」を選択します。(先ほどの日付フォーマットで使ったのと同じアプリです)
zapier13.png

ここではテキストのフォーマットをしたいので、Action Eventは「Text」を選びます。
zapier14.png

Transformは「Convert Markdown to HTML」です。
zapier15.png

次に、コンバートする対象を選びます。
ステップが増えてくると、扱うデータがステップごとに表示されるようになります。
zapier16.png

取り込んだメールの「Body」と名付けたアウトプットを扱いたいので、「New Email」の中から「Parse Output Body」を選びます。
zapier17.png

「TEST & REVIEW」で変換結果を見てみましょう。
※この時点での「Input」が変換前のデータです。
zapier18.png

outputに変換結果が表示されます。HTML形式になっていますね。
zapier19.png

Step4

いよいよ、kintoneアプリへのレコード登録の設定です!

検索窓から「kintone」を検索して選びます。
zapier20.png

Action Eventは「Create Record」です。
zapier21.png

「Add a New Account」から、アプリへの接続設定を行います。
zapier22.png

表示された画面で必要事項を入力してください。
接続に成功すると、元の画面に戻ります。
この接続設定には、デフォルトでは「Kintone」「Kintone #2」と自動で名前がつけられます。
複数のZapを扱うようになるとこのまま増えてしまうので、区別できる名前をつけておくと便利です。
名前の変更は、「Edit Accounts」から接続設定の一覧を開くと変更できます。
zapier23.png

デフォルトから変更しないままでいると、このように「どのアプリの接続設定か」わからなくなってしまいます…。
接続設定はアプリごとなので、アプリ名(+環境名)をぜひつけておきましょう!
zapier24.png

では、Zapの設定に戻ります。
アプリの接続設定を行うと、次の画面ではレコードのフィールド情報が表示されます。
zapier25.png
ここで表示されるのはフィールドコードです。
日本語でもローマ字でも大丈夫ですが、kintoneアプリを作る時点で判別しやすい名前にしておく必要がありますね。

kintoneの各フィールドに入れたい値を選択していきます。
メール受信日時は、作成日時フィールド(自動で値が入る)ので未選択にしておきます。

メンテナンス日は、Step2の「Date/Time」から、「Parse Output Mentenancedate」を選んでください。
変換前のデータを選んでしまうと、日付形式が不正でkintoneへ書き込むことが出来ないので間違わないよう気を付けてください。
zapier26.png

「詳細」も、Step3で変換後のBody(Parse Output Body)を選択してください。
zapier28.png

「メール本文」には、切り出す前のメール本文全体を入れておきます。
本文の切り出し(Email Parserでヘッダ/フッタを除くとき)に失敗したとき、メールの全文が確認できるようにするためです。
Step1から、「Email Body Plain」を選んでください。
zapier27.png

全体の設定はこのようになります!
zapier29.png

どの項目にどんな内容が入るのか確認し、問題なければ「TEST & REVIEW」!
※TESTボタン押した時点でkintoneにレコード登録されます
zapier30.png

kintoneアプリにレコードが追加されれば成功です!
zapier32.png

自動実行されるようにするには、ZapをONにしてください。
※冒頭に記載したとおり、無料アカウントの場合オンにすることができません。
zapier31.png

おまけ

メールの内容分割で、ずれが生じてしまったら

developer networkからのメールは最近テンプレートが変わったようで、新テンプレートでのAPI情報がまだ1件しか受信できていません。
今後メールをたくさん受信していく中で、メール本文から分割して取り出す内容が適切でない、ということが起きる可能性があります。
その際は、Email Parserで「extra template」を設定することで、ずれを調整していくことができます。

Email parserのMailboxesで、ずれが発生してしまったメールの「View Emails」をクリックします。
parser_ex01.png

受信したメールが表示されます。(ContentのHide/Showで表示を切り替えられます)
parser_ex02.png

テンプレートを調整したいメールの下部に表示されている「Edit Extra template」をクリックします。
parser_ex03.png

メインのテンプレート作成時と同様に、切り出したい項目へ名前を付けていくことが出来ます。
parser_ex04.png
ここで登録した内容は、メインのテンプレートの追加情報(Extra Template)として保存することができます。
ずれが気になるときはExtra Templateを追加することで解消できる可能性があります。

おわりに

様々なサービスから届く技術情報メールたち。
フォルダ分けはしているけれど情報を探しにくいし、チームメンバーとも気軽に共有できたらいいな、と思って設定をしてみました。
Email Parserのところはお手入れしつつ使っていく必要がありそうですが、これで気軽にkintoneで見ることが出来ます。
kintoneや他サービスと気軽に連携できないWebフォームを使っている(登録内容がメールで届く)という場合にも有効活用できそうです。

12
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?