事例7_フォームで回答された音声データを文字起こしおよび要約し、Notionのデータベースに追加後、対象ページに文字起こしした元の文章を入れ込む

■概要
・フォーム回答された音声データの文字起こしと要約を行い、Notionに追加します。
・今回、音声文字起こしした原文もNotionに追加する想定ですが、Notionのページ追加字数制限が2000文字となるため以下のようにルートを分けます。
 ・2000字以内:そのままNotionの対象レコードのページ内に文章を追加
 ・2000字超過:一度Googleドキュメントに文章を貼り付けて、ドキュメントが格納されたGoogleDriveのURLをNotionのレコードに追加

■事前準備
・フォームや文字起こしした情報を入れるためのNotionデータベースを事前に用意します。
・文字数カウントを行うための関数を入れたスプレッドシートを用意します。
・文字起こしした文章を入力するためのGoogleドキュメントを用意します。

■実際のスプレッドシート(閲覧権限のみのため使用する場合はコピーしてください)
https://docs.google.com/spreadsheets/d/19DZlna2atAIM6Liw_0Gk9fNniPPUiE7KvmlwCoJSfhg/edit#gid=91835269

■文字起こし情報を貼り付けるために実際に使用しているGoogleドキュメント(閲覧権限のみのため使用する場合はコピーしてください)
https://docs.google.com/document/d/1dhiTjXJgnEZIqgBPKRYK4Jtb49hcU1Rh3JFPJyfOUHY/edit?usp=sharing

■作成方法
①フォームトリガーを選択し以下の設定を行い、保存します。
・各種質問項目:各種情報および音声データファイル含め、Notion追加に必要な質問をテキストやファイル形式で設定します。
・取得した値:各種質問項目でデモの値を入力・添付します。
※フォームの設定詳細はこちらをご参照ください。 https://intercom.help/yoom/ja/articles/8009267

②トリガー下の+マークを押し、音声データを文字起こしするオペレーションを選択して、以下の設定を行いテスト・保存します。
・アクション:日本語音声文字起こし(20タスク)
・ファイルの添付方法:取得した値を使用を選択し、候補から①で添付されているファイルを選びます。

③+マークを押し、要約するオペレーションを選択し、以下設定を行ってテスト・保存します。
・アクション:3,500文字または15,000文字以内の文章の要約
・対象のテキスト:欄をクリックし、表示されたメニューから②で取得した解析結果のアウトプットを{{解析結果}}のように埋め込みます。
・文字数:要約したい文字数を入力します。
・要約の条件:任意の条件を指定します。
※アウトプットを埋め込む設定についてはこちらをご参照ください。 https://intercom.help/yoom/ja/articles/8223528

④+マークを押し、データベースを操作するオペレーションからNotionを選択して、以下の設定を行いテスト・保存します。
・実行アクション:レコードを追加する
・データベースID:対象のNotionデータベースのURLからデータベースIDをコピーまたは、欄をクリックして表示された候補から対象Notionを選択します。
・追加するレコード値:表示されたプロパティに対応するアウトプットを①や③から選択し埋め込みます。
※アウトプットを埋め込む設定についてはこちらをご参照ください。 https://intercom.help/yoom/ja/articles/8223528

⑤+マークを押し、アプリ連携するオペレーションからスプレッドシートを選択し、以下の設定後テスト・保存します。
・アクション:セルに値を入力
・スプレッドシートID:事前準備したスプレッドシートを候補から選択します。
・シート名:対象のシートを候補から選択します。
・対象のセル:値を入れたいセルを指定します。今回はA2と指定しています。
・値:②で文字起こしした結果を{{解析結果}}のように埋め込みます。

⑥+マークを押し、アプリ連携するオペレーションからスプレッドシートを選択し、以下の設定後テスト・保存します。
・アクション:値を取得する
・スプレッドシートID:事前準備したスプレッドシートを候補から選択します。
・シート名:対象のシートを候補から選択します。
・範囲:取得したいセルの範囲を指定します。今回はB2と指定しています。
・方向:列方向とします。

このようにすることで、関数で一度文字起こしした原文の文字数をスプレッドシートの関数で算出し、取得しています。

⑦+マークを押し、分岐するオペレーションを選択して以下の設定を行い保存します。
・オペレーション:⑥のオペレーションを選択します。
・アウトプット:取得した値を選択します。
・条件:値より小さい(<)を選択します。
・値:"2000"未満とします。※追記する場合の文字数も加味し今回は1980としています。

⑧値より小さい方のルートの+マークを押し、アプリと連携するオペレーションでNotionを選択して、以下設定をしテスト・保存します。
・アクション:ページにテキストを追加
・ページID:④で取得したページIDを{{ページID}}のように埋め込みます。
・コンテンツ:任意の文章と②で取得した音声文字起こしの原文を{{解析結果}}のように埋め込みます。

上記のルートの場合、Notionのページ内に入力できる文字数内のルートとなっています。

⑨その他のルートの+マークを押し、書類を発行するオペレーションからGoogleドキュメントを選択して、以下設定をしテスト・保存します。
・ドキュメントのファイルID:文字起こしした文章を入力するために用意したGoogleドキュメントを候補から選択します。
・格納先のGoogleDriveのフォルダID:書類発行後のPDFやドキュメントファイルを格納するフォルダを選択します。
・出力ファイル名:指定のファイル名を入力します。
・置換条件を取得する:次のページでこちらを押します。
・置換対象の文字列:対応する文字列に対して、②で取得した解析結果を埋め込みます。
※書類を発行するオペレーションの設定方法はこちら。 https://intercom.help/yoom/ja/articles/8237765

⑩+マークを押し、データを操作・変換するオペレーションを選択して以下の設定を行い、テスト・保存します。
・変換タイプ:正規表現によるデータの置換
・置換対象:⑨で発行した書類の中のファイル名を{{発行した書類}}のように埋め込みます。
・置換箇所を正規表現で指定:.pdf と記載します。
・置換後の文字列:空白にします。

このあとのGoogleDrive内の検索で拡張子があると検索できないため、このようにファイル名から.pdfを除外しています。

⑪+マークを押し、アプリと連携するオペレーションからGoogleDriveを選択して、以下の設定をしテスト・保存します。
・アクション:特定フォルダ内のファイル・フォルダを検索
・ファイル名:⑩で変換した後の値を{{置換後の値}}のように埋め込みます。

⑫+マークを押し、データベースを操作するオペレーションからNotionを選択して、以下の設定を行いテスト・保存します。
・実行アクション:レコードを更新する(ID検索)
・データベースID:対象のNotionデータベースのURLからデータベースIDをコピーまたは、欄をクリックして表示された候補から対象Notionを選択します。
・更新したいレコードの条件:レコードIDが等しいとし、値に④で取得したレコードIDを{{レコードID}}のように埋め込みます。
・更新後のレコードの値:URLを入れるプロパティに対して、⑪で取得したファイルIDを用いて以下のようにリンクを埋め込みます。
https://drive.google.com/file/d/{{ファイルID}}←このファイルIDが⑪で取得したファイルIDになります。
※GoogleDriveのリンクを埋め込む設定については、こちらをご参照ください。https://intercom.help/yoom/ja/articles/6717912

プロセス詳細

フォームトリガー ミーティングデータ送付フォーム
音声データを文字起こしする 音声データを文字起こしする
要約する 要約する
データベースを操作する レコードを追加する
アプリと連携する セルに値を入力
アプリと連携する 値を取得する
コマンドオペレーション 文字数に応じて分岐する
アプリと連携する ページにテキストを追加
書類を発行する 書類を発行する
データを操作・変換する 正規表現によるデータの置換
アプリと連携する 特定フォルダ内のファイル・フォルダを検索
データベースを操作する レコードを更新する(ID検索)