最終更新日: 2025年9月11日
以下でイベントタイプのスキーマ、イベントタイムライン表示テンプレート、イベントオカレンスのフィールドなど、アプリイベントの使用に関する参照情報を紹介します。
プロジェクトの構成
プロジェクトのコンテキストで、イベントタイプの定義をapp/
内のapp-events
ディレクトリーに配置します。app-events
ディレクトリーには、各イベントタイプのJSONスキーマ定義ファイル(*-hsmeta.json
)が含まれている必要があります。
- アプリがOAuth認証を使用しており、アプリマーケットプレイスでの配布用に設定されている必要があります。また、アプリの
requiredScopes
にtimeline
が含まれている必要があります。アプリの設定についての詳細をご確認ください。 - アプリ イベント コンポーネントを含めるには、その前にプロジェクトが正常にデプロイされている必要があります。
イベント タイプ スキーマ
イベント タイプ スキーマで使用できる設定オプションを以下に示します(*-hsmeta.json
)。以下の属性の一部は、イベントタイプが作成された後に変更することはできません。
各アプリで使用できるイベントタイプは750個に制限されています。
*でマークされたフィールドは必須です。
フィールド | 型 | 説明 |
---|---|---|
uid * | 文字列 | イベントタイプの内部固有ID。 |
type * | 文字列 | コンポーネントのタイプ。app-event でなければなりません。 |
name * | 文字列 | HubSpotに表示されるラベル(最大50文字)。この値を作成後に更新することはできません。 |
objectType * | 文字列 | イベントオカレンスを関連付けることができるCRMオブジェクトタイプの完全修飾名。この値を作成後に変更することはできません。COMPANY 、CONTACT 、CUSTOM_OBJECT 、DEAL 、TICKET 、APP_OBJECT のいずれかを指定できます。 |
headerTemplate | 文字列 | CRMタイムライン アクティビティー カードのヘッダーの表示テンプレート。使用できる文字数は最大1,000文字です。 |
detailTemplate | 文字列 | CRMタイムライン アクティビティー カードの本文の表示テンプレート。使用できる文字数は最大10,000文字です。 |
properties | 配列 | イベント オカレンス データを格納する、イベントタイプ用に定義されたプロパティー。イベントタイプごとに最大500個のプロパティーを設定できます。イベントプロパティーの詳細については、以下をご確認ください。 |
イベントプロパティー
イベントスキーマを定義するときには、properties
配列を使用して、イベント オカレンス データの送信先フィールドを定義します。イベントタイプごとに最大500個のプロパティーを設定できます。
*でマークされたフィールドは必須です。
フィールド | 型 | 説明 |
---|---|---|
name * | 文字列 | プロパティーの内部名。小文字で1~500文字にする必要があります。プロパティーはイベントタイプで重複しない名前にする必要がありますこの値は正規表現"[A-Za-z0-9_\\-.]+" と一致させることはできません。またhs_ で始まる値にはできません。 |
label * | 文字列 | HubSpotに表示されるラベル。小文字で1~500文字にする必要があります。 |
type * | 文字列 | プロパティーで取得されるデータのタイプ。STRING 、NUMBER 、DATE 、ENUMERATION のいずれかを指定できます。 |
options | 配列 | ENUMERATION タイプのプロパティーの場合、このフィールドは使用可能なオプションを示します。1つ以上のオプションを含める必要があります。各オプションは、以下を含むオブジェクトです。
name とlabel はイベントタイプ内で重複しないものである必要があります。 |
objectPropertyName | 文字列 | このフィールドが含まれている場合、イベントデータがHubSpotに送信される時点で更新されるCRMオブジェクトのプロパティーの名前です。このプロパティーの値によって、そのプロパティーの既存の値が上書きされます。CRMレコードのプロパティーにデータを付加する方法については、以下をご覧ください。 |
プロパティーへのデータの付加
場合によっては、アプリ イベント オカレンス データに基づいてCRMレコードのプロパティー値を変更することがあります。例えば、コンタクトの姓名を、オカレンス(例:フォーム送信)によって設定された新しい値に更新することがあります。 イベントオカレンスによってCRMレコードプロパティーを更新するには、イベントプロパティーをイベント タイプ スキーマ内のCRMプロパティーにリンクします。特定のイベントプロパティーの定義フィールドに、objectPropertyName
フィールドを含め、リンクするCRMプロパティーを指定します。プロパティーがリンクされると、HubSpotは常にtimestamp
フィールドに基づく最新のオカレンスの値を使用して、CRMレコードのプロパティー値を更新します。
例えば以下のイベント タイプ スキーマは、イベントプロパティーcustomerName
をカスタム コンタクト プロパティーcustom_property_name
にリンクします。イベント オカレンス データにcustomerName
の値が含まれている場合、関連付けられているCRMレコードのcustom_property_name
が更新されます。
表示テンプレート
イベント タイプ スキーマにはheaderTemplate
フィールドとdetailTemplate
フィールドを含めることができます。これらのフィールドにより、イベントオカレンスがCRMレコードタイムラインにどのように表示されるかを設定できます。
headerTemplate
:アクティビティーカードの上部に、イベントに関する1行の説明(最大1,000文字)として表示する。detailTemplate
:アクティビティカードの本文に、イベントの詳細(最大10,000文字)として表示する。
- どちらのテンプレートでも、構文
{{propertyName}}
を使用して、イベントオカレンスによって渡されるproperty
データにアクセスできます。 detailTemplate
では、構文{{extraData.fieldName}}
を使用して、イベントオカレンスによって渡されるextraData
値にもアクセスできます。ドット表記(例:{{extraData.person1.preferredName}}
)を使用して、extraData
の任意の属性ティアにアクセスできます。
extraData
オブジェクトには有効なJSONのみを含めることができます。JSONの形式が正しくない場合、オカレンスは却下され、エラーレスポンスが返されます。customerName
プロパティーとloginLocation
プロパティーのデータと、イベントオカレンスにより送信されたextraData
のsurveyData
フィールドが使用されています。

detailTemplate
には、イベント オカレンス データのextraData
にsurveyData
フィールドが含まれているかどうかに基づいて、コンテンツを条件付きで表示する#if
ヘルパーが含まれています。
extraData
にsurveyData
が含まれている場合は、ログイン後のアンケートの回答が表示されます。- イベントオカレンスに
surveyData
がない場合は、No additional information.
が表示されます。

iframeの使用
イベント オカレンス データにtimelineIFrame
フィールドが含まれている場合、タイムライン アクティビティー カードには、ユーザーがリンク先のコンテンツをiframeで表示できるハイパーリンクが含まれます。

フィールド | 型 | 説明 |
---|---|---|
linkLabel | 文字列 | クリックするとiframeが表示されるハイパーリンクテキスト。 |
headerLabel | 文字列 | iframeコンテンツを表示するモーダルウィンドウのラベル。 |
url | 文字列 | iframeコンテンツのURL。 |
width | 整数 | iframeモーダルの幅。 |
height | 整数 | iframeモーダルの高さ。 |
イベントオカレンス
特定のイベントタイプのイベントオカレンスを送信するには、以下のエンドポイントに対するPOST
リクエストを送信します。アプリイベントAPIには、1件のイベントオカレンスを送信するためのエンドポイントと、複数のイベントオカレンスを一括送信するためのエンドポイントが含まれています。どちらのエンドポイントでも、イベント オカレンス データを既存のイベント タイプ スキーマに照らして検証する必要があります。これはリクエスト本文のeventTypeName
で指定します。
1件のイベントオカレンスを送信するには、
/integrators/timeline/v4/events
に対するPOST
リクエストを送信します。リクエスト本文に、イベントタイプの定義済みスキーマに従ってイベント オカレンス データを含めます。eventTypeName
を含める必要があります。これは、APIを使用して取得できます。
*でマークされたフィールドは必須です。
フィールド | 型 | 説明 |
---|---|---|
eventTypeName * | 文字列 | イベントタイプの完全修飾名。APIを使用してイベントを識別するときに使用します。この値はHubSpotによって自動設定され、イベントタイプの作成後に、APIを使用して取得できます。この値を作成後に変更することはできません。 |
objectId * | 文字列 | イベントオカレンスに関連付けるCRMレコードのID。このフィールドはあらゆるタイプのCRMレコードに使用でき、識別子として推奨されます。CRMレコードの関連付けについて詳細をご確認ください。 |
email | 文字列 | コンタクトの関連付けの場合、関連付けるコンタクトのEメールアドレスを指定できます。CRMレコードの関連付けについて詳細をご確認ください。 |
utk | 文字列 | コンタクトの関連付けの場合、関連付ける既存のコンタクトのユーザートークンを指定できます。CRMレコードの関連付けについて詳細をご確認ください。 |
domain | 文字列 | 会社の関連付けの場合、関連付ける既存の会社のウェブサイトのドメインを指定できます。CRMレコードの関連付けについて詳細をご確認ください。 |
timestamp | 文字列 | イベントオカレンスの時刻(ISO 8601形式)を設定します。指定しない場合、既定でイベント オカレンス データの送信時刻のタイムスタンプに設定されます。 |
properties | オブジェクト | イベントタイプで定義したプロパティーのプロパティー名と値のキーと値のペア。 |
extraData | 配列 | このフィールドが含まれている場合、タイムライン表示に関する追加情報を示します。有効なJSONである必要があります。表示テンプレートの追加データの詳細をご確認ください。 |
timelineIFrame | オブジェクト | このフィールドが含まれている場合、ユーザーがリンク先のコンテンツをiframeで表示できるハイパーリンクがタイムラインカードに組み込まれます。iframeの使用についての詳細をご確認ください。 |
id | 文字列 | イベントオカレンスの固有ID。イベントタイプ内で重複しないようにする必要があります。指定しない場合、HubSpotによりランダムなUUIDが生成されます。複数のイベントのIDが同一である場合、最初のイベントのIDが受け入れられ、その他は全て拒否されます。 |

CRMレコードの関連付け
各イベントオカレンスは、イベント タイプ スキーマで定義されたCRMオブジェクトタイプを持つCRMレコードに関連付けられている必要があります。アプリイベントAPIには、イベント オカレンス データをCRMレコードに関連付けるための複数のフィールドがあります。サポートされている全てのCRMオブジェクトでは、objectId
フィールドを使用することをお勧めします。ただし、場合によっては他のフィールドを使用することがあります。
utk
/email
:コンタクトのIDが不明な場合は、識別にutk
フィールドとemail
フィールドのいずれかまたは両方を使用します。両方の識別子を指定すると、コンタクトを作成および更新することもできます。以下に例を示します。utk
が既存のコンタクトに一致してもemail
が一致しない場合、HubSpotは新しいEメールアドレスでコンタクトを更新します。objectId
が指定されていない場合、イベントオカレンスはutk
/email
に一致する既存のコンタクトに関連付けられ、一致するコンタクトが見つからない場合はHubSpotによって新しいコンタクトが作成されます。utk
のみでは新しいコンタクトレコードを作成できないことにご注意ください。適切な関連付けを確保するために、常にutk
とemail
を含める必要があります。
domain
:会社の関連付けの場合、objectId
を指定する必要があります。また、会社のdomain
プロパティーを更新するためにdomain
を含めることもできます。