---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# ProactiveTriggerAPI - 범위 지정됨

# ProactiveTriggerAPI - 범위 지정됨 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 10분

ProactiveTriggerAPI를 사용하면 지정된 사용자에게 컨텍스트별 메시지를 보내는 서버 측 트리거를 만들 수 있습니다.

이 API는 규칙과 해당 규칙을 기반으로 하는 관련 작업을 사용하여 사용자에게 메시지를 보냅니다. 이러한 규칙과 작업은 상황에 따라 다르며 사용자가 포털 페이지를 탐색할 때 수집된 실시간 데이터를 기반으로 합니다. 자세한 내용은 [Proactive Triggers](https://www.servicenow.com/docs/access?context=proactive-triggers-landing-page&version=australia&pubname=australia-conversational-interfaces&ft:locale=en-US) 문서를 참조하십시오.

이 API를 사용하기 전에 인스턴스에서 트리거 유형, 규칙 및 작업을 구성해야 합니다. 구성 사전 예방적 트리거방법에 대한 자세한 내용은 다음 문서를 참조하십시오 [Configuring Proactive Triggers](https://www.servicenow.com/docs/access?context=configuring-proactive-triggers&version=australia&pubname=australia-conversational-interfaces&ft:locale=en-US).

이 API를 사용하여 특정 사용자 또는 특정 세션의 사용자에게 메시지를 보낼 수 있습니다.

예를 들어 고객이 카트에 항목을 추가하는 경우 비즈니스 규칙 내에 지정된 시간 후에 체크아웃을 완료하라는 미리 알림을 사용자에게 보내는 이벤트를 만들 사전 예방적 트리거 수 있습니다.

마찬가지로, 사용자가 에서 서비스 포털 작업을 AI 검색 수행하고 결과가 반환되지 않는 경우, 사전 예방적 팝오버 메시지 웹 클라이언트를 통해 사용자에게 대체 오퍼링을 보내는 것을 만드는 비즈니스 사전 예방적 트리거 규칙의 논리를 가질 수 있습니다.

ProactiveTriggerAPI를 호출할 때 메서드를 호출해야 하는 특정 시퀀스가 있습니다. 이 API는 `sn_pt` 네임스페이스에서 실행됩니다.

먼저 메서드를 [ProactiveTriggerAPI - createTrigger(문자열 triggerTypeId)](https://servicenow-prod.fluidtopics.net/E~ljBPpjsMacgKa0ovO4lw#ProTrig-createTrigger_S "서버 측 사전 예방적 트리거 이벤트를 생성합니다.") 호출하여 만들려는 트리거 유형을 지정해야 합니다. 이 호출은 필수입니다. 사용 가능한 트리거 유형 목록은 다음 문서를 참조하십시오 [How Proactive Triggers work](https://www.servicenow.com/docs/access?context=how-proactive-triggers-work&version=australia&pubname=australia-conversational-interfaces&ft:locale=en-US).  
다음으로 메시지를 보내야 하는 사용자를 식별하는 메서드 중 하나를 호출해야 합니다. 다음 메서드 중 하나를 호출하여 이 작업을 수행할 수 있습니다.

* [ProactiveTriggerAPI - setUserId(문자열 userId)](https://servicenow-prod.fluidtopics.net/E~ljBPpjsMacgKa0ovO4lw#ProTrig-setUserId "사용자 ID를 사용하여 연결된 사전 예방적 트리거 이벤트에서 생성된 메시지를 보낼 사용자를 설정합니다."): 연결된 사용자 \[sys_users\] 기록의 sys_id로 사용자를 식별합니다.
* [ProactiveTriggerAPI - setUserName(문자열 userName)](https://servicenow-prod.fluidtopics.net/E~ljBPpjsMacgKa0ovO4lw#ProTrig-setUserName_S "사용자 이름을 사용하여 연결된 사전 예방적 트리거 이벤트에서 생성된 메시지를 보낼 사용자를 설정합니다."): "abel.tuter"와 같은 사용자 이름으로 사용자를 식별합니다.
* [ProactiveTriggerAPI - setUserSessionId(문자열 userId)](https://servicenow-prod.fluidtopics.net/E~ljBPpjsMacgKa0ovO4lw#ProTrig-setUserSessionId_S "관련된 사전 예방적 트리거 이벤트의 사용자 세션 ID를 설정합니다. 이 방법을 사용하면 특정 세션과 연결된 특정 사용자에게만 사전 예방적 메시지가 전송됩니다."): 현재 세션 sys_id로 사용자를 식별합니다.

다음으로, 메서드를 [ProactiveTriggerAPI - setTriggerRecord(문자열 triggerRecord)](https://servicenow-prod.fluidtopics.net/E~ljBPpjsMacgKa0ovO4lw#ProTrig-setTriggerRecord_S "사전 예방적 트리거의 규칙 및 작업을 적용할 트리거 기록을 설정합니다.") 호출하여 사전 예방적 트리거의 규칙과 작업을 적용할 트리거 기록을 지정해야 합니다.

마지막으로 메서드를 [ProactiveTriggerAPI - 프로세스()](https://servicenow-prod.fluidtopics.net/E~ljBPpjsMacgKa0ovO4lw#ProTrig-process "지정된 사전 예방적 트리거 API 요청을 실행합니다.") 호출하여 호출 체인을 실행합니다. setTriggerRecord() 및 process() 메서드 호출이 모두 필요합니다.  
예:

    var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
      .setUserName(userName).setTriggerRecord(userId).process();

## ProactiveTriggerAPI - createTrigger(문자열 triggerTypeId) {#ariaid-title2}

서버 측 사전 예방적 트리거 이벤트를 생성합니다.
{#ProTrig-createTrigger_S__table_kby_q4m_2xb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| triggerTypeId | 문자열 | 생성할 트리거 유형의 고유 ID입니다. 예: `triggerTypeId = "sn_pt.ai_search_event"` 테이블: 사전 예방적 트리거 유형 \[sys_cs_ptrigger_trigger_type\] 테이블의 ID 필드입니다. |
[표 1. 매개변수]

{#ProTrig-createTrigger_S__table_kby_q4m_2xb} {#ProTrig-createTrigger_S__table_wx5_dkm_2xb__entry__2}

| 매개변수 | 설명 |
|-|-|
| 없음 |   |
[표 2. 반환]

{#ProTrig-createTrigger_S__table_wx5_dkm_2xb}  
다음 비즈니스 규칙은 비즈니스 규칙 내에서 createTrigger() 메서드를 호출하는 방법을 보여줍니다.

    try {
      var triggerTypeId = "sn_pt.ai_search_event";
      var userId = current.getValue("user");

      var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
           .setUserId(userId).setTriggerRecord(current).process();

      // Returns the Proactive Trigger Event record's sys_id
      gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);

    } catch (e) {
        gs.info("error:"+e); // Log the error.
    }

## ProactiveTriggerAPI - 프로세스() {#ariaid-title3}

지정된 사전 예방적 트리거 API 요청을 실행합니다.
{#ProTrig-process__table_h25_rjb_fxb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 3. 매개변수]

{#ProTrig-process__table_h25_rjb_fxb} {#ProTrig-process__table_i25_rjb_fxb__entry__2}

| 유형 | 설명 |
|-|-|
| sys_id | 생성된 사전 예방적 트리거 이벤트 기록의 Sys_id입니다. 데이터 유형: 문자열 테이블: 사전 예방적 이벤트 \[sys_cs_ptrigger_event\] |
[표 4. 반환]

{#ProTrig-process__table_i25_rjb_fxb}  
다음 비즈니스 규칙은 process() 메서드를 호출하여 지정된 사전 예방적 트리거 API 요청을 실행하는 방법을 보여줍니다.

    try {
      var triggerTypeId = "sn_pt.ai_search_event";
      var userId = current.getValue("user");

      var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
           .setUserId(userId).setTriggerRecord(current).process();

      // Returns the Proactive Trigger Event record's sys_id
      gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);

    } catch (e) {
        gs.info("error:"+e); // Log the error.
    }

## ProactiveTriggerAPI - setTriggerRecord(문자열 triggerRecord) {#ariaid-title4}

사전 예방적 트리거의 규칙 및 작업을 적용할 트리거 기록을 설정합니다.
이러한 규칙과 작업은 사전 예방적 트리거 유형 \[sys_cs_ptrigger_trigger_type\] 테이블에 있는 연결된 트리거 유형 기록에 정의됩니다.
{#ProTrig-setTriggerRecord_S__table_qc1_m15_2xb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 트리거 기록 | 문자열 또는 GlideRecord | 연결된 사전 예방적 트리거의 규칙 및 작업을 적용할 트리거 기록의 Sys_id 또는 GlideRecord입니다. 트리거 레코드는 createTrigger() 메서드 호출에 지정된 트리거 유형 레코드의 trigger_table 필드에 지정된 테이블에 있습니다. 예를 들어 createTrigger() 호출이 AI 검색 이벤트 트리거 유형을 지정한 경우 트리거 테이블은 검색 이벤트 \[sys_search_event\] 테이블입니다. 주: 이 테이블은 일반적으로 비즈니스 규칙의 실행을 일으킨 테이블과 동일합니다. 동일하지 않은 경우 이 sys_id GlideRecord에 추가하여 이 메서드에 전달할 수 있도록 해야 합니다. |
[표 5. 매개변수]

{#ProTrig-setTriggerRecord_S__table_qc1_m15_2xb} {#ProTrig-setTriggerRecord_S__table_rc1_m15_2xb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 6. 반환]

{#ProTrig-setTriggerRecord_S__table_rc1_m15_2xb}  
다음 비즈니스 규칙은 setTriggerRecord() 메서드를 호출하는 방법을 보여줍니다.

    try {
      var triggerTypeId = "sn_pt.ai_search_event";
      var userId = current.getValue("user");

      var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
           .setUserId(userId).setTriggerRecord(current).process();

      // Returns the Proactive Trigger Event record's sys_id
      gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);

    } catch (e) {
        gs.info("error:"+e); // Log the error.
    }

## ProactiveTriggerAPI - setUserId(문자열 userId) {#ariaid-title5}

사용자 ID를 사용하여 연결된 사전 예방적 트리거 이벤트에서 생성된 메시지를 보낼 사용자를 설정합니다.
{#ProTrig-setUserId__table_n3b_ssm_2xb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| userID | 문자열 | 연결된 사전 예방적 트리거 메시지를 보낼 사용자의 Sys_id입니다. 테이블: 사용자 \[sys_user\] 테이블 또는 연결된 GlideRecord에 있습니다. |
[표 7. 매개변수]

{#ProTrig-setUserId__table_n3b_ssm_2xb} {#ProTrig-setUserId__table_o3b_ssm_2xb__entry__2}

| 매개변수 | 설명 |
|-|-|
| 없음 |   |
[표 8. 반환]

{#ProTrig-setUserId__table_o3b_ssm_2xb}  
다음 코드 예제는 현재 GlideRecord의 user 필드에 있는 값을 사용하여 setUserId() 메서드를 호출하는 방법을 보여줍니다.

    try {
      var triggerTypeId = "sn_pt.ai_search_event";
      var userId = current.getValue("user");

      var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
           .setUserId(userId).setTriggerRecord(current).process();

      // Returns the Proactive Trigger Event record's sys_id
      gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);

    } catch (e) {
        gs.info("error:"+e); // Log the error.
    }

## ProactiveTriggerAPI - setUserName(문자열 userName) {#ariaid-title6}

사용자 이름을 사용하여 연결된 사전 예방적 트리거 이벤트에서 생성된 메시지를 보낼 사용자를 설정합니다.
{#ProTrig-setUserName_S__table_kby_q4m_2xb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| userName | 문자열 | 사전 예방적 메시지를 보낼 사용자의 이름입니다. 이 이름은 사용자 \[sys_user\] 테이블의 사용자 ID 필드와 상관 관계가 있어야 합니다(예: "abel.tuter"). |
[표 9. 매개변수]

{#ProTrig-setUserName_S__table_kby_q4m_2xb} {#ProTrig-setUserName_S__table_lby_q4m_2xb__entry__2}

| 매개변수 | 설명 |
|-|-|
| 없음 |   |
[표 10. 반환]

{#ProTrig-setUserName_S__table_lby_q4m_2xb}  
다음 비즈니스 규칙은 현재 GlideRecord의 sys_created_by 필드에 있는 값을 사용하여 setUserName() 메서드를 호출하는 방법을 보여줍니다.

    try {
      var triggerTypeId = "sn_pt.ai_search_event";

      // User name of the user to whom to send the proactive message.
      var userName = current.getValue("sys_created_by");

      var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
           .setUserName(userName).setTriggerRecord(current).process();

      // Returns the Proactive Trigger Event record's sys_id
      gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);

    } catch (e) {
        gs.info("error:"+e); // Log the error.
    }

## ProactiveTriggerAPI - setUserSessionId(문자열 userId) {#ariaid-title7}

관련된 사전 예방적 트리거 이벤트의 사용자 세션 ID를 설정합니다. 이 방법을 사용하면 특정 세션과 연결된 특정 사용자에게만 사전 예방적 메시지가 전송됩니다.
{#ProTrig-setUserSessionId_S__table_ngm_5vm_2xb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| userSessionId | 문자열 | 메시지를 보내야 하는 사용자의 현재 세션의 Sys_id 사전 예방적 트리거 입니다. 주: 모든 테이블에 세션 ID가 포함되어 있는 것은 아닙니다. 이 엔드포인트를 사용하기 전에 참조 중인 테이블에 유효한 세션 ID가 포함되어 있는지 확인하십시오. 그렇지 않은 경우 사용 가능한 최신 세션 ID가 사용되므로 잘못된 결과가 발생할 수 있습니다. |
[표 11. 매개변수]

{#ProTrig-setUserSessionId_S__table_ngm_5vm_2xb} {#ProTrig-setUserSessionId_S__table_ogm_5vm_2xb__entry__2}

| 매개변수 | 설명 |
|-|-|
| 없음 |   |
[표 12. 반환]

{#ProTrig-setUserSessionId_S__table_ogm_5vm_2xb}  
다음 비즈니스 규칙은 현재 GlideRecord의 session 필드에 있는 값을 사용하여 setUserSessionId() 메서드를 호출하는 방법을 보여줍니다.

    try {
      var triggerTypeId = "sn_pt.ai_search_event";
      var sessionId = current.getValue("session");

      var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
           .setUserSessionId(sessionId).setTriggerRecord(current).process();

      // Returns the Proactive Trigger Event record's sys_id
      gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);

    } catch (e) {
        gs.info("error:"+e); // Log the error.
    }


