Zendeskリクエストフォームのカスタマイズ方法:2026年完全ガイド

Stevia Putri
Written by

Stevia Putri

Reviewed by

Stanley Nicholas

Last edited 2026 2月 25

Expert Verified

Zendeskリクエストフォームのカスタマイズ方法:2026年完全ガイドのバナー画像

顧客がサポートを求めて連絡を取るとき、彼らが使用するフォームは彼らの経験全体を形作ります。適切に設計されたリクエストフォームは、適切な情報を事前に収集し、チケットを適切なチームに自動的にルーティングし、顧客とエージェントの両方をイライラさせるやり取りを減らします。

Zendeskは、リクエストフォームをカスタマイズするいくつかの方法を提供していますが、オプションはプランレベルと技術リソースによって大きく異なります。このガイドでは、簡単な管理設定から完全なAPI開発まで、あらゆるアプローチを説明し、ニーズに合った適切な方法を選択できるようにします。

Zendeskリクエストフォームとは?

Zendeskは、顧客リクエストを収集するための3つの異なるタイプのフォームを提供します。

  • チケットフォームは、ヘルプセンターに表示され、顧客が構造化されたサポートリクエストを送信できるようにします。これらは最も一般的であり、対象となるプランではアカウントごとに最大300種類のフォームをサポートします。

  • プレチャットフォームは、ライブチャットセッションが開始される前に表示され、名前、メールアドレス、部署の希望などの訪問者情報を収集します。これらは、新しいMessaging(メッセージング)ウィジェットではなく、Web Widget (Classic)でのみ機能します。

  • カスタムAPIフォームは、Zendesk Ticketing APIを使用して自分で構築するフォームであり、外観と動作を完全に制御できます。

各フォームタイプは異なるユースケースに対応し、それぞれに独自のカスタマイズオプションがあります。始める前に必要なものを分解してみましょう。

開始するために必要なもの

フォームをカスタマイズする前に、以下を確認してください。

  • 管理者アクセス権を持つZendeskアカウント
  • 必要な機能に適したプラン(複数のチケットフォームにはSuite Growth+またはSupport Enterpriseが必要)
  • APIカスタマイズの場合:Node.js 16.15.1+またはPython 3.10.11+の開発環境
  • ユースケースに一致するフォームタイプの明確な理解

前提条件が整ったら、最も簡単なカスタマイズ方法から始めましょう。

Zendesk管理センターでチケットフォームをカスタマイズする

管理ダッシュボードでは、コードなしでポイントアンドクリックのカスタマイズが可能です。これは最も一般的なユースケースをカバーし、すべてのプランレベルで機能します。

ステップ1:チケットフォームの設定にアクセスする

管理センター > オブジェクトとルール > チケット > フォームに移動します。

既存のフォームのリストが表示されます。「フォームを追加」をクリックして新しいフォームを作成するか、既存のフォームを選択して編集します。

ステップ2:チケットフォームを作成または編集する

新しいフォームを作成するときは、いくつかの重要な設定を構成します。

  • **フォーム名:**これはエージェントがチケットインターフェースのドロップダウンに表示されるものです。
  • エンドユーザーの可視性:「エンドユーザーが編集可能」をチェックして、ヘルプセンターでフォームを利用できるようにします。
  • **エンドユーザー名:**オプションで、顧客に異なる名前を表示します(たとえば、「営業へのお問い合わせ」を「営業リクエストフォーム」の代わりに表示します)。
  • **ブランドの制限:**複数のブランドがある場合は、このフォームを使用するブランドを制限します。

「エンドユーザーが編集可能」や「エンドユーザーに表示されるタイトル」などのオプションを示すフォームフィールド構成パネル。
「エンドユーザーが編集可能」や「エンドユーザーに表示されるタイトル」などのオプションを示すフォームフィールド構成パネル。

ステップ3:カスタムフィールドを追加および配置する

フォームエディタには、右側に利用可能なフィールドが表示され、左側にフォームレイアウトが表示されます。右側のパネルからフォームにフィールドをドラッグし、フォーム領域内でドラッグして並べ替えます。

利用可能なカスタムフィールドタイプは次のとおりです。

  • テキスト(1行および複数行)
  • ドロップダウンメニュー
  • チェックボックス
  • 日付ピッカー
  • 数値フィールド(整数および10進数)
  • 正規表現検証フィールド
  • 複数選択フィールド
  • ルックアップリレーションシップフィールド

**重要な制限:**フィールドプロパティは、フォームレベルではなくフィールドレベルで設定されます。フィールドを必須にすると、そのフィールドが表示されるすべてのフォームで必須になります。同じフィールドをあるフォームでは必須にし、別のフォームではオプションにすることはできません。

フィールド値と条件付きチケットフィールドのオプションを含む、チケットフィールドの構成パネルを示す管理インターフェース。
フィールド値と条件付きチケットフィールドのオプションを含む、チケットフィールドの構成パネルを示す管理インターフェース。

ステップ4:条件付きフィールドを構成する(オプション)

より動的なフォームの場合は、他の選択に基づいてフィールドを表示または非表示にできます。これには、ほとんどのプランで利用可能な条件付きチケットフィールド機能が必要です。

これを設定するには、最初にフィールドを作成し、次にチケットフォームエディタで条件を定義します。たとえば、「製品カテゴリ」が「ハードウェア」に設定されている場合にのみ、「製品モデル」フィールドを表示できます。

Web Widgetの問い合わせフォームをカスタマイズする

Web Widgetは、Webサイトに直接サポートを埋め込みます。その問い合わせフォームをカスタマイズする方法は次のとおりです。

ステップ1:Web Widgetの設定にアクセスする

管理センター > チャネル > Classic(クラシック) > Web Widgetに移動します。

基本タブで:

  1. 「問い合わせフォーム」チェックボックスをオンにして有効にします
  2. 「カスタムチケットフィールド」ドロップダウンを選択して、表示するフィールドを選択します
  3. ユーザーが複数のフォームから選択できるようにする場合は、「チケットフォーム」を有効にします

問い合わせフォームのカスタムチケットフィールドを構成するオプションを表示するWeb Widgetの設定。
問い合わせフォームのカスタムチケットフィールドを構成するオプションを表示するWeb Widgetの設定。

Web Widget (Classic)の主な制限事項:

  • Regex(正規表現)、Date(日付)、およびMulti-select(複数選択)フィールドはサポートされていません
  • Priority(優先度)などのシステムフィールドはウィジェットに表示されません
  • フィールドの並べ替えは、チケットフォームではサポートされていますが、デフォルトの問い合わせフォームではサポートされていません

ステップ2:ウィジェットで複数のチケットフォームを有効にする

複数のチケットフォームがある場合は、「チケットフォーム」チェックボックスをオンにします。ユーザーが「メッセージを残す」をクリックすると、最初にニーズに合ったフォームを選択し、次にそのリクエストタイプに関連するフィールドが表示されます。

JavaScript APIを使用した高度なカスタマイズ

ウィジェットの動作をより詳細に制御するには、JavaScript APIを使用します。これには、Webサイトにコードを追加する必要があります。

ステップ1:zESettingsオブジェクトを設定する

zESettingsオブジェクトは、ウィジェットの動作を構成します。**重要:**HTMLのZendeskウィジェットスクリプトの前に配置してください。そうしないと、設定は適用されません。

window.zESettings = {
  webWidget: {
    chat: {
      prechatForm: {
        greeting: { '*': 'ようこそ!今日はどのようなご用件ですか?' },
        departmentLabel: { '*': 'チームを選択してください' }
      }
    }
  }
};

ステップ2:訪問者情報を事前入力する

ログインしているユーザーの場合は、すでに持っている情報でフォームフィールドを事前に入力します。

基本的な識別(名前とメールアドレス):

zE('webWidget', 'identify', {
  name: 'John Smith',
  email: 'john@example.com'
});

読み取り専用フィールドを使用した高度な事前入力:

zE('webWidget', 'prefill', {
  name: { value: 'John Smith', readOnly: true },
  email: { value: 'john@example.com', readOnly: true },
  phone: { value: '555-1234', readOnly: false }
});

readOnly: trueを設定すると、訪問者が事前入力された値を編集できなくなります。これは、すでに身元を確認している場合に役立ちます。

ステップ3:部署をフィルタリングし、ラベルをカスタマイズする

ドロップダウンに表示される部署を制御します。

chat: {
  departments: {
    enabled: ['Sales', 'Technical Support'],
    select: 'Sales'
  }
}

部署名は完全に一致する必要があります(大文字と小文字を区別)。部署名が存在しない場合、エラーメッセージなしでドロップダウンが完全に非表示になる場合があります。

ステップ4:URLパラメータを介してチケットフォームを事前入力する

ヘルプセンターのチケットフォームの場合は、URLにパラメータを追加してフィールドを事前入力できます。これは、特定のヘルプ記事からリンクする場合にうまく機能します。

システムフィールド形式: tf_{fieldname}={value}

  • tf_subject=問題の説明
  • tf_description=詳細な問題
  • tf_priority=high

カスタムフィールド形式: tf_{fieldID}={value}

  • tf_12345=製品名

URLの例:

https://company.zendesk.com/hc/en-us/requests/new?tf_subject=故障した充電器&tf_description=交換が必要&tf_12345=USA

Zendeskの「チケットフィールド」構成パネル。システムフィールドとカスタムフィールドのリストが、それぞれのタイプとIDとともに表示されています。
Zendeskの「チケットフィールド」構成パネル。システムフィールドとカスタムフィールドのリストが、それぞれのタイプとIDとともに表示されています。

事前入力されたフォームの要件:

  • Guide ProfessionalまたはEnterpriseプラン
  • Templating APIバージョン2以降
  • SSO環境の場合:事前入力された値にアクセスする前に、ユーザーがログインしている必要があります

出典:事前入力されたチケットフォームの作成

Zendesk APIを使用してカスタムフォームを構築する

ネイティブオプションがニーズを満たさない場合は、Ticketing APIを使用して完全にカスタムフォームを構築します。

ステップ1:開発環境を設定する

以下が必要です。

  • 匿名リクエストが有効になっているZendeskアカウント(「リクエストとアップロードAPIの認証を必須にする」が選択されていない必要があります)
  • Node.js 16.15.1+またはPython 3.10.11+

Node.jsの依存関係:

npm install express body-parser axios express-recaptcha

Pythonの依存関係:

pip3 install flask requests google-recaptcha-flask

ステップ2:フォームHTMLを作成する

件名、説明、名前、メールアドレスのフィールドを含む標準のHTMLフォームを構築します。Zendeskは、スパムを防ぐために、Google reCAPTCHA(グーグルリキャプチャ)、hCaptcha、またはCloudflare Bot Management(クラウドフレアボットマネジメント)を使用してCAPTCHA保護を追加することを強くお勧めします。

ステップ3:API統合を実装する

エンドユーザーフォームには、Request(リクエスト)エンドポイント(Ticket(チケット)エンドポイントではない)を使用します。リクエストは、チケットのエンドユーザーの視点を表します。

APIエンドポイント:

POST https://{subdomain}.zendesk.com/api/v2/requests.json

認証:

  • ユーザー名:{your_email}/token
  • パスワード:APIトークン

リクエストボディの例:

{
  "request": {
    "subject": "助けが必要です",
    "comment": { "body": "ここに問題の説明" },
    "requester": { "name": "John Smith", "email": "john@example.com" }
  }
}

件名、説明、ユーザーの連絡先の詳細のフィールド、およびreCAPTCHA検証を備えたカスタムチケット送信フォームインターフェース。
件名、説明、ユーザーの連絡先の詳細のフィールド、およびreCAPTCHA検証を備えたカスタムチケット送信フォームインターフェース。

ステップ4:デプロイとテスト

http://localhost:3000/でフォームをローカルでテストし、本番サーバーにデプロイします。ホスティングには、Heroku(ヘロク)またはAWS Elastic Beanstalk(AWSエラスティックビーンストーク)の使用を検討してください。

公開する前に:

  • テストCAPTCHAキーを本番キーに置き換えます
  • セキュリティを強化するために、APIトークンの代わりにOAuth(オーオース)の使用を検討してください
  • 認証情報を環境変数に保存します

出典:Ticketing APIを使用したカスタムチケットフォームの構築

一般的な問題のトラブルシューティング

正しい構成であっても、いくつかの問題がよく発生します。

**設定が適用されない:**最も一般的な原因は、zESettingsをウィジェットスクリプトの後に配置することです。設定オブジェクトは、Zendeskウィジェットスニペットがロードされる前に記述されている必要があります。

**部署ドロップダウンが表示されない:**これは、その部署のすべてのエージェントがオフラインの場合に発生します。少なくとも1人のエージェントがオンラインであることを確認するか、有効な部署名でdepartments.enabled JavaScript設定を使用します。

**カスタムdepartmentLabelが適用されない:**プロパティは、chatレベルではなく、prechatFormオブジェクト内にある必要があります。ネストを確認してください。

**カスタムフィールドがウィジェットに表示されない:**Regex、Date、およびMulti-selectフィールドはWeb Widget (Classic)ではサポートされていないことに注意してください。

**事前入力されたフォームがSSOで機能しない:**事前入力された値にアクセスする前に、ユーザーがログインしている必要があります。ログインする前にフォームにアクセスすると、認証後に事前入力された値が失われます。

フォームのAI代替手段を検討する時期

Zendeskフォームの構成には、管理設定の操作、JavaScriptの記述、またはカスタムアプリケーションの開発が含まれます。専任の開発リソースがないチームにとって、この複雑さはデプロイを遅らせる可能性があります。

eesel AIは、別のアプローチを提供します。静的なフォームを構成する代わりに、次のことを行うAIエージェントをデプロイします。

  • **Zendeskデータから学習する:**過去のチケット、マクロ、ヘルプセンターの記事
  • **会話形式でコンテキストを収集する:**厳格なフォームフィールドはなく、自然な会話のみ
  • **インテリジェントにルーティングする:**会話の内容に基づいて適切な部署を決定する
  • **チケットを自律的に処理する:**人間の介入なしに一般的な問題を解決する

さまざまなサブエージェントツールを使用するメインのAIエージェントを設定するためのノーコードインターフェースを示すeesel AIプラットフォームのスクリーンショット。
さまざまなサブエージェントツールを使用するメインのAIエージェントを設定するためのノーコードインターフェースを示すeesel AIプラットフォームのスクリーンショット。

セットアップには数時間ではなく数分かかります。Zendeskアカウントを接続し、既存の知識に基づいてトレーニングし、デプロイします。エージェントがレビューするための応答をAIが作成することから始め、自信が高まるにつれて自律的な処理にレベルアップできます。

すでにZendeskを使用しているチームの場合、eesel AIは既存のセットアップと連携します。何も置き換える必要はなく、ルーチンな会話を処理するインテリジェントなレイヤーを追加するだけです。

適切なフォームカスタマイズアプローチの選択

決定を支援するための簡単なリファレンスを次に示します。

アプローチ最適技術レベルプラン要件
管理センター基本的なフィールドのカスタマイズ、複数のフォームなし機能によって異なる
JavaScript APIデータの事前入力、部署のフィルタリング、ローカリゼーション低(コードのコピーアンドペースト)任意
カスタムAPIフォームフォーム設計の完全な制御高(開発)任意
サードパーティツール (Formcrafts)高度な条件付きロジック、マルチステップフォームなし任意 + ツールコスト
AI代替手段 (eesel AI)フォームの完全な排除、会話型サポートなし任意

この比較は、チームの技術スキルとZendeskプランに基づいて、最も効率的なカスタマイズ方法を選択するのに役立ちます。
この比較は、チームの技術スキルとZendeskプランに基づいて、最も効率的なカスタマイズ方法を選択するのに役立ちます。

**結論:**ニーズを満たす最も簡単なオプションから始めてください。ほとんどのチームは、管理センターと基本的なJavaScript APIのカスタマイズを通じて目標を達成できます。ネイティブオプションでは対応できない固有の要件のために、カスタムAPI開発を予約してください。

フォームの構成に数週間を費やしても、目的の顧客体験を実現できない場合は、会話型AIアプローチがチームと顧客により適しているかどうかを検討してください。

よくある質問

はい。Zendesk管理センターでは、カスタムフィールド、複数のチケットフォーム、Web Widget(ウェブウィジェット)の設定など、基本的なフォームオプションを設定できます。訪問者データの事前入力や部署のフィルタリングなど、より高度なZendeskリクエストフォームのカスタマイズには、JavaScript API(ジャバスクリプトAPI)が必要です。
最も一般的な原因は、zESettingsオブジェクトをウィジェットスクリプトのロード後に配置していることです。Zendeskリクエストフォームのカスタマイズを機能させるには、設定がHTMLのウィジェットスニペットの前に記述されている必要があります。また、departmentLabelなどのプロパティがprechatFormオブジェクト内にネストされていることを確認してください。
JavaScript APIのdepartments.enabledプロパティを使用して、特定の部署をホワイトリストに登録します。たとえば、enabled: ['Sales', 'Support']を設定すると、これら2つのオプションのみが表示されます。部署名は完全に一致する必要があります(大文字と小文字を区別)。
複数のチケットフォームには、Suite Growth+(スイートグロース+)またはSupport Enterprise(サポートエンタープライズ)が必要です。カスタムフィールドはほとんどのプランで利用できます。事前入力されたフォームには、Guide Professional(ガイドプロフェッショナル)またはEnterprise(エンタープライズ)が必要です。Web Widgetのカスタマイズはすべてのプランで利用できますが、一部のフィールドタイプはサポートされていません。
はい。identifyコマンドを使用して名前とメールアドレスを設定するか、prefillコマンドを使用して読み取り専用フィールドを含むより詳細な制御を行います。ヘルプセンターのチケットフォームの場合は、tf_fieldname=valueの形式でURLパラメータを使用します。
はい。eesel AI(イーゼルAI)のようなAI搭載ソリューションは、静的なフォームではなく、会話形式で訪問者のコンテキストを収集します。フォームフィールドやJavaScriptを設定する代わりに、AIが訪問者と自然に関わり、必要な情報を抽出します。これにより、名前、メールアドレス、ルーティング要件をキャプチャしながら、複雑なZendeskリクエストフォームのカスタマイズを排除できます。
チケットフォームは、ヘルプセンターを通じてサポートリクエストを送信するためのものです。プレチャットフォームは、ライブチャットセッションが開始される前に表示され、訪問者の情報を収集します。チケットフォームは多くのフィールドタイプをサポートし、最大300種類のフォームを持つことができます。プレチャットフォームはWeb Widget (Classic)(ウェブウィジェット(クラシック))でのみ機能し、カスタマイズオプションはより制限されています。

この記事を共有

Stevia undefined

Article by

Stevia Putri

Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.