Claris Connect と自社内の FileMaker Server を使って承認ワークフローを作る方法を説明します。
ワークフローの概要
今回は、Web申請のサンプルアプリケーションを作成します。
Web画面からの申し込みがあったら、承認者がメールでその内容を確認して承認可否を判断します。承認の場合は受付手続き、否認の場合は申請者へのお断りの連絡を行います。申請内容および承認結果はデータベースに記録されます。
ワークフローの流れ
業務の流れは以下のとおりです。
これをシステムの機能単位に落とし込むと、以下のような構成になります。
今回作成するClaris Connectのフローには以下の5つのステップが含まれます。
- 入力フォームからデータを取得
- データベースで新規レコード作成
- 承認処理
- 承認データをエンコード
- 承認データに基づいてスクリプトを実行
利用する部品
[wc_row] [wc_column size=”one-fourth” position=”first”]![]()
Claris Connect
FileMaker と Web サービスを連結してワークフローを構築することができます。
![]()
FileMaker Server
自社内でサーバを立てている場合と、FileMaker Cloud for AWS を利用している場合がありますが、ここでは自社内のサーバを使います。
![]()
Typeform
認証なしで誰でもアクセスできる、見た目のいいWeb画面を作成するために、Web 入力画面を提供する Web サービスを利用します。
Claris Connect で利用できる入力画面のWebサービスには、Formstack, Typeform, Wufoo がありますが、今回は月あたり 100 リクエストまで無料で使える Typeform を使います。
準備
自社内に FileMaker Server が稼働していて、Claris Connect を利用できるという前提で、サンプルアプリケーションを作成するのに必要な準備作業を説明します。
1.FileMaker Server データベース
データベースファイルをホストするFileMaker Serverは、18v3以上である必要があります。
2.Agent マシン
Firewall内にAgentというアプリケーション(あるいはサービス)を1つ立ち上げておくことで、社内にあるすべてのFileMaker ServerでホストしているデータベースとClaris Connectで通信ができるようになります。
手順に沿ってインストールを行ったあと、Configuration.ymlを編集して、接続したいデータベースの情報を入力しておきます。
3.SSL 証明書
FileMaker Server には、正式な SSL 証明書が必要です。
フローの作成
Claris Connect でフローを作成していきます。
以下のステップを、順に作成します。
- 入力フォームからデータを取得
- データベースで新規レコード作成
- 承認処理
- 承認データをエンコード
- 承認データに基づいてスクリプトを実行
最終的にできあがるフローは以下のようになります。
[wc_row] [wc_column size=”one-half” position=”first”]
1.入力フォームからデータを取得
1-1 Typeform で登録手続き
Typeform でアカウントを作成します。
https://www.typeform.com/
↓
フリープランを選択
↓
メールアドレスの検証
1-2 Typeform で Web フォームを作成
New typeform をクリック。
[wc_row]
[wc_column size=”one-half” position=”first”]

今回は、Registration の中の Sign Up Sheet Template を使います。
[wc_row]
[wc_column size=”one-half” position=”first”]

テンプレートを適宜修正(日本語化など)します。
Typeformでは、アイコンを使ったり、キーボードショートカットを設定したりなどのカスタマイズが可能です。
1-3 Claris Connect で、新規ステップを作成
(Claris Connect 側で)
App で Typeform を選択。
アカウントの認証。
Typeform 側で使用するための URL をコピー。
[wc_row]
[wc_column size=”one-half” position=”first”]

(Typeform 側で)
設計画面の Connect -> Webhooks で、
データを送信する先として、Claris Connect 側で指定されたURLを設定。

2.データベースで新規レコード作成
On-Premise FileMaker Server という App を使います。
(FileMaker 側)
Web フォームに入力されたデータと、承認結果のデータ、レコード ID を保持するフィールドを準備し、レイアウトに配置します。

(Claris Connect 側)
Agent Key と Agent の configuration.yml で定義したデータベース名を入力します。

入力フォームのレスポンスとFileMakerのフィールドを紐付けます。
[wc_row] [wc_column size=”one-half” position=”first”]
3.承認処理
このステップでは、Utility Appの一つ、Approvalを使います。
Approvalは、指定したメールアドレスに、Reject/AcceptのボタンがついたHTMLメールを送信し、その結果を受け取る機能を提供します。

設定画面で以下を設定します。
Title – 承認メールの表題
Description – 承認メールに含まれる説明文
Approver email – 承認依頼メールの送信先アドレス
Approver name – 承認者の名前
Requester name – 申請者の名前
Attachment link – 添付ファイルの URL
Due date – 承認処理を行える期限
それぞれ、前工程のステップのレスポンスから選択するか、文字列を直接入力します。
Due date については、1, 3, 5 days, 1, 2, 3, 4 weeks, 1, 2, 3, 6 months から選択できます。
あるいは計算で日数を求めたい場合は、前工程のステップのレスポンスなどを Dates utility を使って加工します。
Approvalから送信される承認依頼メールのイメージ
[wc_row] [wc_column size=”one-half” position=”first”]
承認ボタンを押した後の画面
[wc_row] [wc_column size=”one-half” position=”first”]
[備考]
一度承認したメールで再度承認を行うと、以下の画面が表示されます。
[wc_row]
[wc_column size=”one-half” position=”first”]

a. Claris ConnectのIf-Then Utilityを使う。
b. FileMakerのIfスクリプトステップを使う。
承認か否認かによって起動するWebサービスが変わる場合は、Claris Connect内で分岐をさせるaの方法がいいですが、後工程がすべてFileMaker内で完結する場合は、bの方法も可能です。この場合は、承認結果の値を、呼び出すスクリプト名と共にFileMakerに渡す必要があります。
今回はbの方法を採用します。
4.承認データをエンコード
承認結果に基づいて、FileMaker Server にスクリプトを実行させるのですが、
- レコードID
- 承認ステータス(Accepted か Rejected の文字列)
- コメント(承認メールで入力された任意の文字列)
の3つのデータを、スクリプト引数として渡す必要があります。しかし、FileMaker のスクリプトに渡す引数は1つしか指定できません。
そこで、3つのデータを JSON 形式にまとめます。
また、コメント欄に日本語が入力される場合があるので、エンコードも行います。
この2つの処理を、Text Utility という App で行います。

5.承認データに基づいてスクリプトを実行
On-Premise FileMaker Server で、Action として Execute Script を選択します。
レイアウト、スクリプト、スクリプト引数を指定しますが、レイアウトとスクリプトの名称、スクリプト引数の内容に日本語を使うことはできません。(設計画面で設定はできますが、フローの実行時にエラーになります。)

承認結果を申請レコードに書き戻すため、FileMaker側のスクリプトには以下のステップを含めます。
[wc_row] [wc_column size=”one-half” position=”first”] [/wc_column] [wc_column size=”one-half” position=”last”] [/wc_column] [/wc_row] ※画像クリックで拡大します
以上でフローの作成は終了です。
