• ホーム
  • 開発者ブログ
  • コラボフローで出力した帳票PDFを「Box」に書き出す

開発者ブログ

コラボフローで出力した帳票PDFを「Box」に書き出す

はじめに

こんにちは。

最近、家庭用脱毛器を使ってムダ毛の処理にチャレンジ中の内村です。いまのところの、肌にやけど痕ができたくらいで、脱毛の効果はありません。人生甘くないですね!

さて、早速ですが今回はコラボフローの産みの親である「弊社CIO波多野」の書いたブログ、コラボフロー申請書の添付ファイルを「Box」に書き出すを参考にして、コラボフローで出力した帳票PDFを「Box」に保存する連携を作ってみようと思います。

前回との違い

前回:申請書に添付されたファイルを保存する
今回:申請書そのものを保存するイメージ

コラボフローの帳票出力機能を利用しています。
帳票出力機能を利用すると、1つの申請書データから複数の帳票をPDFやExcel形式で出力することができます。
連携の起点となるのはコラボフローのWebhook機能、中継サービスにはMicrosoft Power Automateを使います。

やりたいこと & イメージ図

  1. コラボフローのWebhookで送られたデータをPower Automateが受信
  2. コラボフローで出力した帳票PDFをPower Automateが取得

コラボフローのフォーム

連携にあたり、あらかじめ次のような稟議書フォームを作成しました。同様に経路もシンプルなものを作成済みです。この稟議書をPDFで帳票出力し、Box上のフォルダに書き出すよう設定を行っていきます。

Power Automateの設定

Power Automateにログインし、左メニューの「作成」をクリックすると、フローを作成するための方法を選択する画面が表示されますので「インスタントクラウドフロー」を選択します。

「このフローをトリガーする方法を選択します」から「HTTP要求の受信時」を選択し、「作成」をクリックします。

フロー作成の画面が表示されますので「新しいステップ」をクリックします。

アクションを選択する画面が表示されるので「組み込み」タブを開いて「HTTP」アクションを選択します。
※「HTTP」アクションを使うには「プレミアム コネクタ」を利用可能なライセンスが必要です。

HTTPアクションの設定画面が表示されますので、コラボフローの帳票を取得するための各種設定を行います。
帳票の取得にはコラボフローREST APIの帳票出力を使用します。

  1. 方法
    帳票出力のAPIで使用するHTTPメソッドです。ここでは「POST」を指定します。
  2. URI
    帳票出力APIのURIを指定します。
    URIには文書IDと帳票IDを指定する必要がありますので、Power AutomateのtriggerBody()関数を使って、Webhookで送られてきたデータから帳票の文書IDを取得します。帳票IDはコラボフロー側で確認した帳票IDを利用します。
https://cloud.collaboflow.com/example/api/index.cfm/v1/documents/@{triggerBody()['document_id']}/prints/0

※今回は指定したキーが存在しない場合はエラーとしたいので、疑問符演算子は使用していません。

  1. ヘッダー
    APIに接続するためのHTTPヘッダーを指定します。
    コラボフローのAPI認証に必要な「X-Collaboflow-Authorization」ヘッダーを指定します。

これでコラボフローの帳票PDFを取得する処理を作成できました。次にBoxにデータを保存するためのステップを作成します。

アクションを選択する画面が表示されるので「Box」の「ファイル作成」アクションを選択します。

Boxファイル作成アクションの設定画面が表示されますので、各種設定を行います。
※Power Automate にまだBoxアカウントを接続していない場合は、Boxへのサインインが要求されますので、資格情報を入力して接続を作成します。

  1. フォルダーのパス
    [Box上の任意のフォルダパスを指定します。
    ここではルート直下の「//Collaboflow/」を指定します。
  2. ファイル名
    任意のファイル名を指定します。今回のファイル名は申請書名と文書IDを利用したいので、次のように指定を行います。
@{triggerBody()['document_title']}(@{triggerBody()['document_id']}).pdf

※コラボフローの帳票設定に合わせて、拡張子を「PDF」に指定しています。
5. ファイルコンテンツ
先ほどHTTPアクションで取得したファイルコンテンツをセットします。取得したファイルコンテンツは次のようにbodyを使用して指定できます。「’HTTP’」部分は先ほど作成したHTTPアクションのステップ名です。

@{body('HTTP')}

以上を踏まえて設定値を入力した「ファイルの作成」アクションが下記となります。

上記の操作が全て終わったら「保存」をクリックします。

最後に、コラボフローからのWebhook送信先となる「HTTP 要求の受信時」アイコンを開いて、「HTTP POSTのURL」をコピーし、記録しておきます。

これでPower Automateの設定は完了です。

コラボフローWebhookの設定

次にコラボフロー側のWebhook設定を行います。
あらかじめ用意しておいた「稟議書」の経路を開き「(1)Webhook」タブを選択し、(2)新規登録ボタンをクリックします。

Webhookの設定画面が表示されますので、(1)Webhook名に任意の名前を入力し、(2)通知先のWebhook URLにPower Automateで控えておいた「HTTP POSTのURL」を入力します。通知条件には「申請書の経路終了時」を指定して、最後に「保存」ボタンをクリックして設定を保存します。

以上で、全ての設定が完了しました。

実際の動作

それでは稟議書を申請してみます。
稟議書にデータを入力して申請を行い、承認を行って稟議書を「決裁」の状態にします。

決裁後にBoxを確認すると、この通り指定した「/Collaboflow」フォルダにファイルが書き出されている事を確認できました。

Box上でクリックすると、Box上でファイルのコンテンツを見る事ができます。
データも正常に出力されているようですね。

まとめ

以上のようにWebhookを利用する事で、簡単なステップでBox上に帳票PDFを出力する事ができました。
今回参考にしたブログの内容と組み合わせることで、以下のファイルを同時に「Box」に保存することも可能になります。

  • コラボフローの帳票PDF
  • 帳票に添付されたファイル

今回はBoxとの連携を行いましたが、Webhookを応用すると他のさまざまなサービスと連携を行うことができるので、興味のある方は、ぜひ他の連携記事もチェックしてみてください。

まずは無料で
体験
してみませんか?

30日間の無料お試し
30日間の無料お試し

とりあえず自分で試してみたい方は、
無料お試しをお申し込みください

オンラインデモ
オンラインデモ

操作手順や設定の流れを、
30分程度のお時間で簡単にご説明致します

お試しハンズオン
お試しハンズオン

コラボフローを実際に体験していただける
オンラインセミナーを開催しています