레거시 Agentforce 빌더에서 서비스 자원 부재를 처리하기 위한 플로 만들기
두 개의 플로를 만듭니다. 하나는 자원 부재를 만들고 다른 하나는 서비스 약속을 다시 예약하는 플로입니다.
필수 Edition
| 지원 제품: Lightning Experience |
| 지원 제품: Field Service 및 Foundations가 포함된 Enterprise, Performance, Unlimited 및 Developer Edition. 또한 Einstein 1 Field Service Edition 또는 Agentforce 1 Field Service Edition과 함께 사용할 수 있습니다. |
리소스 부재 플로
이 플로는 부재를 요청한 서비스 자원이 할당된 오늘의 서비스 약속 목록을 반환하고 자원 부재를 만듭니다.
다음을 수행하는 자동 실행 플로를 만듭니다.
- 서비스 자원의 ID 가져오기
- 기본 서비스 영역의 시간대 및 운영 시간 결정
- 재배치 서비스 영역의 시간대 및 운영 시간 결정
- 플로가 같은 날 여러 번 실행되는 경우 중복 부재 레코드가 생성되지 않도록 방지
- 오늘 모바일 작업자에게 할당된 모든 약속 찾기
변수
| API 이름 | 세부 사항 |
|---|---|
| saIdsFromAssignedResource | 텍스트 다중 값 허용(모음)을 선택합니다. |
| serviceResourceSAIds | 텍스트 다중 값 허용(모음)을 선택합니다. 출력에 사용 가능 |
| currentDateTimeTZ | 데이터 유형: 텍스트 |
| STMRelocation | 데이터 유형: 레코드 개체: 서비스 영역 구성원 |
| timeZone | 참고: 이 변수는 플로에서 사용되지 않지만 에이전트 작업의 입력에 필요합니다. UTC와 같은 기본값을 입력할 수 있습니다. 데이터 유형: 텍스트 기본값: “” 입력에 사용 가능 |
| varEnd | 데이터 유형: 날짜/시간 |
| varRecordTypeId | 데이터 유형: 텍스트 |
| varResourceId | 데이터 유형: 텍스트 |
| varStart | 데이터 유형: 날짜/시간 |
수식
| API 이름 | 데이터 유형 | 수식 |
|---|---|---|
| LocalDateTimeEndOfDayFormula | 날짜/시간 | DATETIMEVALUE(TEXT(DATEVALUE({!currentDateTimeTZ})) + " 23:59:59") |
| LocalDateTimeNowFormula | 날짜/시간 | DATETIMEVALUE(TEXT(DATEVALUE({!currentDateTimeTZ})) + " 00:00:00") |
| TodayEndFormula | 날짜/시간 | DATETIMEVALUE(TEXT(DATEVALUE({!currentDateTimeTZ})) + " 23:59:59") |
| TodayStartFormula | 날짜/시간 | NOW() |
요소
| 플로 요소: | 구성 |
|---|---|
| 레코드 가져오기 | 레이블: 서비스 자원 ID 가져오기 Salesforce 개체: 서비스 리소스 필터: 모든 조건 충족 (AND) 필드: 사용자 ID, 연산자: 같음, 값: 실제 사용자 > id |
| 레코드 가져오기 | 레이블: 기본 서비스 영역 구성원 가져오기 Salesforce 개체: 서비스 영역 구성원 필터: 사용자 정의 조건 논리를 충족함 1. 필드: 자원 ID, 연산자: 같음, 값: 서비스 자원 ID 가져오기 > 자원 ID에서 서비스 자원 2. 필드: 영역 유형, 연산자: 같음, 값: 1차 3. 필드: 시작 일자, 연산자: 작거나 같음 값: TodayStartFormula 4. 필드: 종료 일자, 연산자: 보다 큼, 값: TodayStartFormula 5. 필드: 종료 일자, 연산자: Null, 값: True 조건 논리: 1 AND 2 AND 3 AND (4 OR 5) |
| 레코드 가져오기 | 레이블: 재배치 서비스 영역 구성원 가져오기 Salesforce 개체: 서비스 영역 구성원 필터: 사용자 정의 조건 논리를 충족함 1. 필드: 자원 ID, 연산자: 같음, 값: 서비스 자원 ID 가져오기 > 자원 ID에서 서비스 자원 2. 필드: 영역 유형, 연산자: 같음, 값: 이사 3. 필드: 시작 일자, 연산자: 작거나 같음 값: TodayStartFormula 4. 필드: 종료 일자, 연산자: 보다 크거나 같음 값: TodayStartFormula 5. 필드: 종료 일자, 연산자: Null, 값: True 조건 논리: 1 AND 2 AND 3 AND (4 OR 5) 레코드 데이터 저장 방법: 필드 선택 및 변수 할당(고급) 레코드: STMRelocation |
| 결정 | 레이블: 재배치 서비스 영역 구성원입니까? 결과 레이블: 예 기본 결과 레이블: 아니요 필터: 모든 조건 충족 (AND) 리소스: STMRelocation, 연산자: 공백, 값: False 기본 결과 레이블: 아니요(기본값) |
| 아니요 > 레코드 가져오기 | 레이블: 서비스 영역 기본 작업 시간 가져오기 Salesforce 개체: 서비스 영역 필터: 모든 조건 충족 (AND) 필드: 영역 ID, 연산자: 같음, 값: 기본 서비스 영역 구성원 가져오기 > 영역 ID의 서비스 영역 구성원 레코드 데이터 저장 방법: 필드를 선택하고 Salesforce가 나머지 작업을 수행하도록 하기 필드: OperatingHoursId |
| 레코드 가져오기 | 레이블: 시간대 가져오기 기본 Salesforce 개체: 작업 시간 필터: 모든 조건 충족 (AND) 필드: 작업 시간 ID, 연산자: 같음, 값: 서비스 영역 기본 작업 시간 가져오기 > 작업 시간 ID의 서비스 영역 |
| 작업 | 작업: 현재 시간 가져오기 레이블: 현재 시간 기본 시간대: 시간대 가져오기 기본 > 시간대의 작업 시간 수동으로 변수 할당(고급) 출력 값 저장: currentDateTimeTZ |
| 예 > 레코드 가져오기 | 레이블: 서비스 영역 재배치 작업 시간 가져오기 Salesforce 개체: 서비스 영역 필터: 모든 조건 충족 (AND) 필드: 영역 ID, 연산자: 같음, 값: STMRelocation > 자원 영역 ID 레코드 데이터 저장 방법: 필드를 선택하고 Salesforce가 나머지 작업을 수행하도록 하기 필드: OperatingHoursId |
| 레코드 가져오기 | 레이블: 시간대 재배치 가져오기 Salesforce 개체: 작업 시간 필터: 모든 조건 충족 (AND) 필드: 작업 시간 ID, 연산자: 같음, 값: 서비스 영역 재배치 가져오기 작업 시간 > 작업 시간 ID의 서비스 영역 |
| 작업 | 작업: 현재 시간 가져오기 레이블: 현재 시간 재배치 가져오기 시간대: 시간대 재배치 가져오기 > 시간대의 작업 시간 수동으로 변수 할당(고급) 출력 값 저장: currentDateTimeTZ |
| 아니요 및 예 경로 연결 > 레코드 가져오기 | 레이블: 기존 리소스 부재 가져오기 Salesforce 개체: 자원 부재 필터: 모든 조건 충족 (AND) 1. 필드: 자원 ID, 연산자: 같음, 값: 서비스 자원 ID 가져오기 > 자원 ID에서 서비스 자원 2. 필드: 시작 시간, 연산자: 작거나 같음, 값: LocalDateTimeEndOfDayFormula 3. 필드: 종료 시간, 연산자: 보다 크거나 같음 값: LocalDateTimeNowFormula 4. 필드: 유형, 연산자: 같음, 값: 병가 레코드 데이터 저장 방법: 필드 선택 및 변수 할당(고급) 필드 값을 저장할 위치: 별도의 변수 필드: RecordTypeId, 변수: varRecordTypeId 필드: ResourceId, 변수: varResourceId |
| 할당 | 레이블: 현재 날짜 및 시간 할당 변수: varStart, 연산자: 같음, 값: TodayStartFormula 변수: varEnd, 연산자: 같음, 값: TodayEndFormula |
| 결정 | 레이블: Gantt에서 자원 부재입니까? 결과 레이블: 아니요 필터: 모든 조건 충족 (AND) 자원: varResourceId, 연산자: is Null, 값: True 참고: 플로 전반에서 가져온 필드를 추가하고 비어 있거나 Null이 아닌지 확인하고 자원 부재를 만들지 여부를 결정할 수 있습니다. 기본 결과 레이블: 예(기본값) |
| 아니요 > 레코드 가져오기 | 레이블: 레코드 유형 가져오기 Salesforce 개체: 레코드 유형 필터: 모든 조건 충족 (AND) 필드: 레코드 유형 이름, 연산자: 같음, 값: 비가용성 |
| 레코드 만들기 | 레이블: 자원 부재 만들기 레코드 필드 값을 설정하는 방법: 수동으로 Salesforce 개체: 자원 부재 1. 필드: 종료 시간, 값: LocalDateTimeEndOfDayFormula 2. 필드: 시작 시간, 값: TodayStartFormula 3. 필드: 레코드 유형 ID, 값: 레코드 유형 가져오기 > 레코드 유형 ID에서 레코드 유형 4. 필드: 자원 ID, 값: 서비스 자원 ID 가져오기 > 자원 ID에서 서비스 자원 5. 필드: 승인됨, 값: True 6. 필드: 유형, 값: 병가 |
| 아니요 및 예 경로 연결 > 레코드 가져오기 | 레이블: 서비스 약속 가져오기 Salesforce 개체: 서비스 약속 필터: 모든 조건 충족 (AND) 1. 필드: 예약 시작, 연산자: 보다 크거나 같음 값: TodayStartFormula 2. 필드: 예약 종료, 연산자: 작거나 같음 값: TodayEndFormula 3. 필드: 영역 ID, 연산자: 같음, 값: 서비스 영역 기본 작업 시간 가져오기 > 영역 ID에서 서비스 영역 저장할 레코드 수: 모든 레코드 필드를 선택하고 Salesforce가 나머지 작업을 수행하도록 합니다. ID가 기본적으로 입력됨 |
| 루프 | 레이블: 오늘의 서비스 약속 반복 컬렉션 변수: 서비스 약속 가져오기에서 서비스 약속 컬렉션을 반복하기 위한 방향 지정: 첫 번째 항목에서 마지막 항목으로 변경 |
| 각각 > 할당 | 레이블: 서비스 약속 ID 목록 설정 Var 값 설정: saIdsFromAssignedResource, 연산자: 추가, 값: 루프 반복 서비스 약속 > 서비스 약속 ID의 현재 항목 |
| 마지막 > 레코드 가져오기 후 | 레이블: 할당된 자원에서 서비스 약속 가져오기 Salesforce 개체: 할당된 자원 필터: 모든 조건 충족 (AND) 1. 필드: 서비스 약속 ID, 연산자: In, 값: saIdsFromAssignedResource 2. 필드: 서비스 자원 ID, 연산자: 같음, 값: 서비스 자원 ID 가져오기 > 자원 ID에서 서비스 자원 저장할 레코드 수: 모든 레코드 레코드 데이터 저장 방법: 필드를 선택하고 Salesforce가 나머지 작업을 수행하도록 하기 1. 필드: ID 2. 필드: ServiceAppointmentId |
| 루프 | 레이블: 오늘 할당된 자원 과반복 컬렉션 변수: 할당된 자원에서 서비스 약속 가져오기의 할당된 자원 |
| 각각 > 할당 | 레이블: 오늘의 서비스 약속 ID 목록 설정 변수: serviceResourceSAIds, 연산자: 추가, 값: 오늘의 루프 반복 할당 리소스 > 서비스 약속 ID의 현재 항목 |
플로는 다음과 같이 표시됩니다.

서비스 약속 재예약 플로
이 플로는 한 번에 하나씩 서비스 자원의 서비스 약속을 다시 예약하려고 시도합니다.
다음 세부 사항을 사용하여 자동 실행 플로를 만듭니다.
변수
| API 이름 | 세부 사항 |
|---|---|
| saResults | 데이터 유형: 텍스트 출력에 사용 가능 |
| serviceAppointmentId | 데이터 유형: 텍스트 입력에 사용 가능 |
요소
| 플로 요소: | 구성 |
|---|---|
| 레코드 가져오기 | 레이블: 예약 정책 가져오기 Salesforce 개체: 일정 정책 필터: 모든 조건 충족 (AND) 필드: 일정 정책 이름, 연산자: 같음, 값: 고객 우선 |
| 서브플로 | 서브플로: Field Service: 서비스 약속 예약 레이블: 서비스 약속 재예약 serviceAppointmentId: 포함, 값: serviceAppointmentId |
| 결정 | 레이블: 재예약에 성공했습니까? 결과 레이블: 아니요 기본 결과 레이블: 예 필터: 모든 조건 충족 (AND) 리소스: 서비스 약속 재예약 > serviceAppointmentId, 연산자 출력: 같음, 값: 공백 값(빈 문자열) |
| 아니요 > 작업 | 작업: 서비스 약속 예약(scheduleServiceAppointment) 레이블: 재예약 시도 일정 정책 ID: 예약 정책 가져오기 > 레코드 ID의 예약 정책 서비스 약속 ID: serviceAppointmentId |
| 아니요 및 예 경로 > 할당 연결 | 레이블: 서비스 약속 ID 할당 변수: saResults, 연산자: 같음, 값: 서비스 약속 재예약 > serviceAppointmentId 출력 |
플로는 다음과 같이 표시됩니다.

