フォーム
登録フォーム、それに記入する人、そしてその数値。
フォームのツール
| ツール | 機能 |
|---|---|
| listForms | ワークスペースの登録フォームを、最近変更されたものから順に、ステータス、登録数、表示回数とともに返します。 |
| getForm | 1 つのフォームの全体を返します。フィールド、文面、オーディエンス、ダブルオプトイン、通知です。公開済みのフォームでは、リンク、埋め込みコード、プレーンな HTML フォームの送信先となるアドレスも加わり、includeDesign を指定すると下書きを JSON で返します。 |
| listFormStarters | 新しいフォームの出発点にできるひな形を、それぞれが求めるフィールドとともに返します。 |
| createForm | ひな形から、document として書いたデザインから、またはひな形に変更を加えたものからフォームを作成し、任意の設定を付けられます。publish が true でない限り、下書きのままです。 |
| updateForm | フォームの名前と設定を変更してすぐに適用するか、document を通じて下書きのデザインを変更します。文面とスタイルはキーごとにマージされ、fields はリスト全体を置き換えます。 |
| publishForm | 現在の下書きを訪問者に見える内容にして、フォームが登録を受け付けるようにします。 |
| setFormStatus | 公開済みのフォームを一時停止するか、受付を再開します。 |
| duplicateForm | フォームを、その登録を含めずに新しい下書きとしてコピーします。 |
| deleteForm | フォームとその登録を完全に削除します。リンクと埋め込みは機能しなくなり、フォームが追加した人は連絡先に残ります。 |
| getFormAnalytics | 期間内の表示回数、登録数、追加された人数とまだ確認待ちの人数、コンバージョン率を、合計と、分、時間、日ごとに返します。表示回数は 1 時間単位で保持されます。 |
| listFormSubmissions | フォームに記入した人を、回答内容とステータスとともに新しい順に 1 ページずつ返します。メールアドレスでの検索と、ステータスでの絞り込みができます。 |
| getFormSubmission | 1 件の登録の全体を返します。すべての回答内容、ステータス、届いた日時と本人が追加された日時、登録元のページ、オーディエンスです。 |
| approveFormSubmission | 確認待ちの登録を、メールでの確認なしで追加します。contacts:write も必要です。 |
| resendFormConfirmation | まだ確認待ちの登録に、新しい確認リンクをメールで送ります。直近 10 分以内にこのフォームがそのアドレスにメールを送っている場合や、そのアドレスが直近 1 日にこのワークスペースからすでに 5 通受け取っている場合は、何も送信されません。emails:send も必要です。 |
| removeFormSubmissions | フォームの登録を id で最大 200 件削除します。連絡先とオーディエンスはそのまま残ります。 |
読み取りには forms:read、すべての変更には forms:write が必要です。フォームにメールを送信させる操作には、emails:send も必要です。ダブルオプトインをオンにすること、送信元や確認メールを設定すること、ダブルオプトインのフォームを公開するか受付を再開すること、確認メールを再送信することがこれにあたります。メンバーの代わりに動くクライアントにはそのメンバーが作成したフォームだけが見え、一部のアドレスに限定されたクライアントは、自分が届くアドレスからしか確認メールを送れず、通知先にもそうしたアドレスしか指定できません。
文章で書いた依頼からフォームをデザインするのは、アプリのチャットで行います。MCP では、クライアントがデザイナーです。フィールド、文面、スタイルを document として createForm か updateForm に渡すと、ツールがデザインを整え、何を変更したかを伝えます。
このサーバーの 7 つのツールは、REST API が確認コードで保護している変更を行うため、同じコードを求めます。createRule、setRuleEnabled、removeDomain、removeDomainAddress、removeAppHost、deleteForm、そして自分で作成したオーディエンスに対する deleteAudience です。クライアントが直近 60 分以内にコードを確認しておらず、本人がアカウント → 接続済みアプリでそのクライアントに「60分間、変更を許可」を選んでもいない間、これらのツールは Refused (step_up_required): で始まる結果を返し、何も変更しません。emptyAudience がコードを求めることはありません。コードの要求と確認の方法は API の認証ページにあります。
ツールは REST API と同じルールと拒否を適用し、API リファレンスの /forms ページにすべてのフィールドの説明があります。listForms は最後に変更された順に並べ、createForm と updateForm は部分的な document を整えますが、API はそれを丸ごと受け取ります。