FileMakerからChatworkにメッセージを送る


# はじめに
FileMakerからChatworkにメッセージを送るのが簡単にできたのでめもめも。
Claris Connectっていうやつを使うと、いろんなアプリが連携して動かせるようになる。例えば、FileMakerと、ChatworkやGoogle Calendar、メールが簡単に連携できちゃうらしい。なんかすごそう！Claris Connectの無料利用枠もできたみたいなのでやってみよー！ 
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/7b26901a-12ff-708e-f577-667d05844353.png">



[参考にしたURL]
https://note.com/fukkyfukky/n/naebc5f7b92a3
https://ywc.com/filemaker/?p=14518

# 持ち物
Claris FileMaker 2023がインストールされたパソコン
Claris Connectのアカウント
Chatworkのアカウント

https://www.claris.com/ja/trial/
https://store.claris.com/claris-connect/free
https://go.chatwork.com/ja/

# 手順
1. Chatworkで必要な情報を集める
2. Webhookを作成
3. FileMakerのスクリプト作成
4. Claris Connectのフロー作成 (1/2)
5. Claris Connectのフロー作成 (2/2)

### Chatworkで必要な情報を集める
Chatworkにログインして、ルームIDとAPIトークンを調べておく。
<details><summary>ルームIDとAPIトークンの確認方法</summary>

ルームIDはチャットルームの設定(歯車マーク) > グループチャットの設定から。

<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/547c1b06-18f0-b5bd-b1e9-0574f000acf6.png">

APIトークンは、
右上メニュー >サービス連携 > APIトークンから。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/311dd9c6-4912-792a-a07e-1570321a3544.png)

</details>

### Webhookを作成
今回は、FileMakerでボタンを押すと、Claris Connectのフローが動いてChatworkにメッセージが送れるというものを作りたい。このうち、FileMakerとClaris Connectは違うサービス？なので、それをなんとか繋がないといけないのだが、それにWebhookという仕組みを使うらしい。WebhookはHTTPプロトコルを使った信号っぽいものらしい。

Claris Connectにサインインして 新しいプロジェクトを作る。
https://connect.claris.com/login



<img width="250" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/0c4c45e1-3986-8d76-424a-72629f4fd5e4.png">


Webhooksを選んで、Create a webhook
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/a0c55a0c-867a-bcd7-ddbc-779560d57fa8.png">



なんか適当なテキストを入れてCreate押す

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/6031d4b1-f517-a207-a221-cee0f765a7b7.png">
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/862beed0-9d45-c40a-c521-8277e5338295.png">


わーいなんかURLができたぞ。
「Use authentication」の設定をOnにして、WebhookURL、API Key、AppIDの3箇所をコピーしとこう。

### FileMakerのスクリプトを作成
FileMaker Proを起動して、スクリプトを作成する。
<img width="650" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/40862aae-8d0f-0360-034c-068c12e18533.png">

※ $resultには正常終了やエラーの情報が入る 

メッセージやルームIDをJson形式で入れておこう。そして、スクリプトを1回実行しておく。これでwebhookが開通してるって認証してもらえるみたいだ。しかも、Jsonで指定した変数がClarisConnectで使えるようになる。すごい。




### Claris Connectのフロー作成 (1/2)
Claris Connectにもどって、次はフローを作る。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/0d888255-7cce-9067-3af7-c8a50a95a5aa.png">

最初はHTTPってのを選ぶ。Continueを押すしかないので押す。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/00c344ed-951e-cfd7-4b46-6239b594a5dc.png">

さっき作成したWebhookを選択する。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/c897ae28-796a-c273-d156-638d2a0c6d2e.png">
Save Triggerを押すしかないので押す。


### Claris Connectのフロー作成 (2/2)
次はChatworkにメッセージを出すフローを作る。

［+］アイコンをクリックして、Actionをさらにクリック。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/5a571835-479f-5404-e21f-075a4ea0d338.png">
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/190ec319-000a-f7b0-17fb-f08d7b871322.png">

新しいメッセージを投稿、を選んでContinue
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/42905df8-84b0-b215-2559-e66a3b6e4b72.png">

Chatworkへのサインインを求められたのでクリックすると、APIトークンを入れてって言われた。ChatworkのAPI設定からもらってきたやつを入れる。これでアカウントを判別してるんだな
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/035a5457-df70-2110-12ad-67f15e058aac.png">

続いてルームIDとメッセージを指定。さっきwebhookを開通させたので、FileMakerで設定した変数がClaris Connectでも変数みたいに選べる～！Connectしてる～！すごーい
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/dbf28146-62c9-2525-0d67-1f528a1f2021.png">
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/4716a8c3-218c-4fcf-b7bd-41d70ad82dc1.png">

できた。Saveしよう
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/264e316a-cfac-d5e9-fcd0-843d146d5785.png">



デフォルトではフローは無効になってるみたい。
Enebledってとこを押すとフローが有効になる。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/7a026f56-8fce-349f-6168-04c16336b551.png">

# テスト
さて、FileMakerに戻って、スクリプトを実行してみよう。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/7ccff629-bc9f-d785-8460-e01746229a81.png">
おーできたできた！



# 感想
へーめっちゃ簡単やった。前にやったとき、一度cURLっていう設定でつまづいた。cURL調べてたら、FileMaker 2023なら簡単にできるらしいと書いてあったので、やってみたらできた。FileMakerの変数がClaris Connectでも変数みたいに使える仕組みが便利。メッセージ内容やルームIDもさくさく設定できた。すごい。

アカウントマスタにChatworkID入れとけば、◯◯さん、◯◯の期限が近づいてます、みたいな通知にも使いやすそー。どんなことに使おうかな。

※ ふわふわ知識で書いているので、間違っているとこあればご指摘くださいませ！