에이전트용 플로 만들기
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 에이전트용 플로를 위한 올바른 플로 유형을 선택합니다.
- 에이전트용 플로에 필요한 변수를 생성합니다.
- 레코드 가져오기 요소를 구성하여 에이전트에 올바른 데이터를 전달합니다.
- 플로를 구성하여 필요할 경우에만 에이전트에 오류 메시지를 보냅니다.
Trailcast
이 모듈의 오디오 레코딩을 들어보려면 아래 플레이어를 사용하세요. 이 레코딩을 모두 들은 후 각 유닛으로 돌아와서 리소스를 확인하고 관련 평가를 완료하는 것을 잊지 마세요.
Agentforce용 맞춤형 Developer Edition 조직에 가입하기
이 모듈을 완료하려면 Agentforce가 활성화된 전용 Developer Edition 조직이 필요합니다. 지금 무료 Developer Edition 조직을 다운로드하여 Trailhead에 연결하면 이 뱃지의 도전 과제를 완료할 수 있습니다. 이 Developer Edition은 이 뱃지의 도전 과제와 함께 작동하도록 설계되었으며 다른 뱃지에서는 작동하지 않을 수 있습니다. 항상 Trailhead Playground 또는 권장되는 Developer Edition 특별 조직을 사용하고 있는지 확인하세요.
- 링크를 클릭하여 무료 맞춤형 Agentforce용 Developer Edition 조직에 가입하세요.
- 양식을 작성합니다.
- Email(이메일)에는 유효한 이메일 주소를 입력합니다.
- Username(사용자 이름)에는 이메일 주소 형식의 고유한 사용자 이름을 입력합니다. 이 경우 유효한 이메일 계정이 아니어도 됩니다.
- Email(이메일)에는 유효한 이메일 주소를 입력합니다.
- 양식을 작성한 후 Sign me up(가입)을 클릭합니다. 확인 메시지가 나타납니다.
- 활성화 이메일을 수신하면(몇 분 걸릴 수 있음) 이메일을 열고 Verify Account(계정 확인)를 클릭합니다.
- 비밀번호와 응답 질문을 설정하여 등록을 완료합니다.
- Developer Edition에 로그인했습니다.
이제 새 Developer Edition 조직을 Trailhead에 연결합니다.
- 자신의 Trailhead 계정에 로그인했는지 확인합니다.
- 이 페이지 하단의 Challenge(과제) 섹션에서 Playground 이름을 클릭하고 Connect Org(조직 연결)를 클릭합니다.
- 로그인 화면에서 방금 설정한 Developer Edition의 사용자 이름(받은 이메일에 기재됨)과 암호를 입력합니다.
- Allow Access?(액세스를 허용하시겠어요?) 화면에서 Allow(허용)를 클릭합니다.
Want to connect this org for hands-on challenges?(실습 과제를 위해 이 조직을 연결하시겠어요?) 화면에서 Yes! Save it(예! 저장합니다)을 클릭합니다. 그러면 과제 페이지로 리디렉션되며 새 Developer Edition을 사용하여 이 뱃지를 획득할 수 있습니다.
에이전트가 수행할 작업 계획하기
언제나처럼 자동화를 생성하기 전에 계획을 세워야 합니다. 계획은 특히 에이전트를 생성할 때 정말 중요한 과정입니다! 다음은 전반적인 개요입니다.
- 에이전트가 수행할 작업을 결정합니다.
- 에이전트가 실행할 자동화(이 경우는 플로)를 생성합니다.
- 에이전트에서 관련된 작업 모음을 처리하는 주제를 생성합니다.
- 해당 주제에서 플로를 참조하는 에이전트 작업을 생성합니다.
기존 에이전트에 추가할 플로를 구축하는 시나리오를 살펴보겠습니다. 이 예에서는 Coral Cloud Resorts를 위한 에이전트를 구축하여 고객이 직접 예약한 활동을 관리하도록 도와보겠습니다. 이렇게 예약된 활동들은 Coral Cloud의 Salesforce Org에 있는 Bookings(예약) 개체에 저장됩니다.
에이전트가 수행해야 할 작업 중 하나는 고객의 예정된 예약 활동을 조회하여 고객에게 표시하는 것입니다. 에이전트가 올바른 정보를 가져오도록 하기 위해 고객의 모든 Booking(예약) 레코드를 조회하는 플로를 생성합니다. 취소되지 않았으며 아직 진행되지 않은 예약 활동만 가져옵니다. 그런 다음 가져온 예약 활동들을 출력 변수를 통해 에이전트에게 다시 전송합니다.
플로가 준비되면 이를 에이전트에 할당합니다. 그러나 플로를 에이전트에 직접 할당하지는 않습니다. 대신 관련된 작업 모음을 처리하도록 에이전트에 주제를 생성합니다. 그런 다음 해당 주제에서 플로를 참조하는 에이전트 작업을 생성합니다.

본격적으로 만들기 전에 에이전트에 어떤 데이터가 필요하며, 이를 어떻게 제공할지 생각해 보세요. 에이전트는 고객 정보를 요청받는 경우 해당 정보를 아무에게나 제공해서는 안 됩니다. 따라서 에이전트는 대화 상대를 확인해야 합니다. 고객이 예약한 활동을 조회하려면 플로에 해당 고객의 연락처 레코드 ID가 있어야 합니다. 그런 다음 플로는 Bookings(예약) 개체에서 예약된 활동을 조회하고 이를 에이전트에 전달할 수 있습니다.
다행히도 Coral Cloud의 조직에는 이미 입력값으로 고객 이메일과 멤버 번호를 조회하여 연락처 ID를 반환하는 Get Customer Details(고객 세부 사항 가져오기) 플로가 마련되어 있습니다. Get Customer Details(고객 세부 사항 가져오기) 플로와 해당 Booking(예약) 레코드를 조회하는 새 플로를 사용하여 이 상호 작용을 계획해 보겠습니다.

- 고객이 예약된 활동 조회를 요청하면 에이전트는 확인을 위해 이름과 멤버 번호를 요청합니다.
- 고객이 해당 세부 정보를 제공하면 에이전트는 Get Customer Details(고객 세부 사항 가져오기) 플로를 실행하고 확인 세부 사항을 전달합니다.
- Get Customer Details(고객 세부 사항 가져오기) 플로는 에이전트에 고객의 연락처 ID를 반환합니다.
- 그러면 에이전트가 새로운 Get Contact's Upcoming Bookings(연락처의 예정된 예약 가져오기) 플로를 실행하고 방금 받은 연락처 ID를 전달합니다.
- Get Contact's Upcoming Bookings(연락처의 예정된 예약 가져오기) 플로는 에이전트에 취소되지 않은 예정된 예약을 반환합니다.
- 에이전트는 제공 받은 예약 정보를 고객에게 표시합니다.
에이전트가 Get Customer Details(고객 세부 사항 가져오기)를 실행하여 연락처 ID를 받을 경우 에이전트는 해당 연락처 ID를 Get Contact's Upcoming Bookings(연락처의 예정된 예약 가져오기) 플로에 입력으로 제공할 수 있습니다. 작은 단위의 독립적인 작업을 배열하면 에이전트가 필요한 모든 데이터를 얻을 수 있습니다.
에이전트를 구성하려면 언제나 필요한 플로를 먼저 만들어야 하므로 Get Contact's Upcoming Bookings(연락처의 예정된 예약 가져오기) 플로를 지금 만들어 보겠습니다.
플로와 변수 만들기
먼저 플로를 생성하고 입력과 출력 변수를 생성합니다. 플로에는 연락처 ID를 받는 입력 변수와 예약 레코드를 반환하는 출력 변수가 필요합니다. 또한 의미 있는 오류 메시지를 제공하는 출력 변수도 만듭니다. 각 변수에 사용 용도에 대한 설명을 꼼꼼하게 작성합니다.
- 자동 실행 플로를 만듭니다. 반드시 Autolaunched Flow (No Trigger)(자동 실행 플로(트리거 없음)) 플로 유형을 선택하세요.
- 에이전트에게 받은 고객의 연락처 ID를 포함할 입력 변수를 생성합니다. (걱정하지 마세요. Coral Cloud는 이미 고객의 연락처 ID를 조회하는 에이전트용 플로가 있습니다. 해당 플로는 나중에 사용할 것입니다.)
- 도구 모음(
)에서 New Resource(새 리소스)를 클릭합니다.
- Resource Type(리소스 유형)의 경우 Variable(변수)을 선택합니다.
- API Name(API 이름)의 경우
Contact_ID를 입력합니다.
- Description(설명)에
The Id of a Contact record that you would like to find related Booking records for(관련 예약 레코드를 조회하려는 연락처 레코드의 ID)를 입력합니다. - Data Type(데이터 형식)은 Text(텍스트)로 선택합니다.
- Availability Outside the Flow(플로 외부에서의 가용성)는: Available for input(입력에 사용 가능)을 선택합니다.
-
Done(완료)을 클릭합니다.
- 도구 모음(
- 조회한 예약 레코드를 포함하는 출력 변수를 생성합니다.
- 도구 모음(
)에서 New Resource(새 리소스)를 클릭합니다.
- Resource Type(리소스 유형)의 경우 Variable(변수)을 선택합니다.
- API Name(API 이름)의 경우
Contact_Bookings를 입력합니다.
- Description(설명)에
The upcoming not-canceled bookings assigned to the contact whose ID matches the Contact_ID(ID가 Contact_ID와 일치하는 연락처에 할당된 취소되지 않은 예정된 예약)를 입력합니다. - Data Type(데이터 형식)은 Record(레코드)를 선택합니다.
-
Allow multiple values (collection)(다중 값(모음) 허용)을 선택합니다.
- Object(개체)의 경우 Booking(예약)을 선택합니다.
- Availability Outside the Flow(플로 외부에서의 가용성)는: Available for output(출력에 사용 가능)을 선택합니다.
-
Done(완료)을 클릭합니다.
- 도구 모음(
- 플로가 실패할 경우 에이전트가 공유할 오류 메시지를 포함하는 출력 변수를 생성합니다.
- 도구 모음(
)에서 New Resource(새 리소스)를 클릭합니다.
- Resource Type(리소스 유형)의 경우 Variable(변수)을 선택합니다.
- API Name(API 이름)의 경우
Error_Message_Output을 입력합니다.
- Description(설명)에
The error message to show to the customer when this flow doesn't finish successfully(이 플로가 성공적으로 완료되지 않았을 때 고객에게 표시할 오류 메시지.)를 입력합니다. - Data Type(데이터 형식)은 Text(텍스트)로 선택합니다.
- Availability Outside the Flow(플로 외부에서의 가용성)는: Available for output(출력에 사용 가능)을 선택합니다.
-
Done(완료)을 클릭합니다.
- 도구 모음(
고객 예약 가져오기
이제 고객의 예약된 활동을 조회하고 이를 출력 변수로 보내는 요소를 생성합니다.
- 플로 캔버스에서 Get Records(레코드 가져오기) 요소를 생성합니다.
- Label(레이블)에
Get Contact's Upcoming Bookings(연락처의 예정된 예약 가져오기)를 입력합니다.
- API 이름이 자동으로
Get_Contact_s_Upcoming_Bookings로 채워지는지 확인합니다.
- Description(설명)에
Retrieves all upcoming bookings assigned to the found contact that have not been canceled. The bookings are stored in the Contact_Bookings variable(해당 연락처에 할당된 취소되지 않은 모든 예정된 예약을 조회합니다. 예약은 Contact_Bookings 변수에 저장되어 있습니다.)을 입력합니다. - Object(개체)의 경우 Booking(예약)을 선택합니다.
- Label(레이블)에
- Get Records(레코드 가져오기) 요소의 조건 요구 사항을 설정하여 조회할 예약 레코드를 필터링합니다.
- Condition Requirements(조건 요구 사항)을 All Conditions Are Met (AND)(모든 조건이 충족됨(AND))로 선택합니다.
- Field(필드)의 경우, Contact(연락처)를 선택합니다.
- Operator(연산자)에서 Equals(같음)를 선택합니다.
- Value(값)의 경우, Contact_ID를 선택합니다.
-
Add Condition(조건 추가)을 클릭합니다.
- 두 번째 Field(필드)의 경우, Date(날짜)를 선택합니다.
- 두 번째 Operator(연산자)의 경우, Greater Than(보다 큼)을 선택합니다.
- 두 번째 Value(값)의 경우, Running Flow Interview(플로 인터뷰 실행 중) 및 CurrentDate(현재 날짜)를 선택합니다.
-
Add Condition(조건 추가)을 한 번 더 클릭합니다.
- 세 번째 Field(필드)의 경우, Is Canceled(취소됨)를 선택합니다.
- 세 번째 Operator(연산자)의 경우, Equals(같음)를 선택합니다.
- 세 번째 Value(값)의 경우, False(거짓)를 선택합니다.
- Condition Requirements(조건 요구 사항)을 All Conditions Are Met (AND)(모든 조건이 충족됨(AND))로 선택합니다.
- Get Records(레코드 가져오기) 요소의 정렬 옵션을 설정합니다.
이 설정은 고객에게 레코드를 표시하는 방식을 제어합니다. 이 경우에는 활동 순서입니다.- Sort Order(정렬 순서)에서 Ascending(오름차순)을 선택합니다.
- Sort By(정렬 기준)에서 Date__c를 선택합니다.
- Sort Order(정렬 순서)에서 Ascending(오름차순)을 선택합니다.
- Get Records(레코드 가져오기) 요소가 레코드 데이터를 저장하는 방식을 설정합니다.
Get Records(레코드 가져오기) 요소로 자동 생성된 변수는 출력 변수로 사용할 수 없습니다. Get Records(레코드 가져오기) 요소가 출력 변수에 데이터를 저장해야 할 때는 먼저 출력 변수를 수동으로 생성합니다. 그런 다음 Get Records(레코드 가져오기) 요소에서 필드 선택 및 변수 할당 옵션을 선택합니다.
또한 에이전트와 고객에게 사용 가능하도록 의도한 필드만 포함해야 한다는 점을 잊지 마세요.- How Many Records to Store(저장할 레코드 수)는 All records(모든 레코드)를 선택합니다.
- How to Store Record Data(레코드 데이터 저장 방법)는 Choose fields and assign variables(advanced)(필드 선택 및 변수 할당(고급))를 선택합니다.
- Record Collection(레코드 모음)은 Contact_Bookings를 선택합니다.
-
Add Field(필드 추가)를 두 번 클릭합니다.
- 첫 번째 선택 가능한 필드를 Id에서 Experience_Name__c로 변경합니다.
- 두 번째 선택 가능한 필드에서 Date__c를 선택합니다.
- 세 번째 선택 가능한 필드에서 Start_Time__c를 선택합니다.
- 네 번째 선택 가능한 필드에서 End_Time__c를 선택합니다.
- How Many Records to Store(저장할 레코드 수)는 All records(모든 레코드)를 선택합니다.
플로에 오류 처리 설정하기
마지막으로 이 플로에 Get Records(레코드 가져오기) 요소가 실패할 경우 오류 메시지를 전송하는 기능을 부여합니다.
오류 경로는 첨부된 요소가 실패할 경우에만 실행되는 특별한 경로입니다. 모든 데이터 요소에 오류 경로를 생성할 수 있습니다. 즉, Get Records(레코드 가져오기), Create Records(레코드 만들기), Update Records(레코드 업데이트), Delete Records(레코드 삭제) 모두에 설정할 수 있습니다. 오류 경로는 요소가 실패할 때만 실행되기 때문에 오류 경로에 Assignment(할당) 요소를 배치할 수 있습니다. Assignment(할당) 요소를 사용하여 실패 시점에서 오류 메시지를 설정하여 에이전트가 오류 메시지를 부적절하게 받아 이를 표시하는 위험을 제거하세요.
-
Get Contact's Upcoming Bookings(연락처의 예정된 예약 가져오기) 요소에 마우스 커서를 올리고
를 클릭한 다음 Add Fault Path(오류 경로 추가)를 선택합니다.
- 오류 경로에서
를 클릭합니다.
-
Assignment(할당)를 선택합니다.
- Label(레이블)에
Set the Error Message Output(오류 메시지 출력 설정)을 입력합니다.
- API 이름이 자동으로
Set_the_Error_Message_Output으로 채워지는지 확인합니다.
- Description(설명)에
Gives error message text to the Error_Message_Output variable, to present to the customer if this flow fails(Error_Message_Output 변수에 오류 메시지 텍스트를 전달하여 이 플로가 실패할 경우 고객에게 제공합니다.)를 입력합니다. - Variable(변수)에서 Error_Message_Output을 선택합니다.
- Operator(연산자)에서 Equals(같음)를 선택합니다.
- Value(값)에
I'm sorry, I'm having a problem finding your booked activities. Would you like to speak to our support team?(죄송합니다. 예약된 활동을 찾는 데 문제가 발생했습니다. 지원팀과 상담하시겠어요?)을 입력합니다.
- Label(레이블)에

- 플로를 저장합니다.
플로가 에이전트 작업에서 사용될 때 플로의 설명이 자동으로 에이전트 작업 지침으로 설정됩니다. 따라서 에이전트 지침을 작성하는 방식으로 설명을 작성하세요.- Flow Label(플로 레이블)에
Get Contact's Upcoming Bookings(연락처의 예정된 예약 가져오기)를 입력합니다.
- Flow API 이름이 자동으로
Get_Contact_s_Upcoming_Bookings로 채워지는지 확인합니다.
- Description(설명)에
Find all the Booking records related to the guest's contact record. Only retrieve Bookings whose date hasn't occurred yet(게스트의 연락처 레코드와 관련된 모든 예약 레코드를 검색합니다. 아직 날짜가 지나지 않은 예약만 조회합니다.)을 입력합니다.
- Flow Label(플로 레이블)에
- 플로를 활성화합니다.
플로를 에이전트 작업으로 할당하려면 플로가 활성화되어 있어야 합니다.
이제 에이전트용 플로가 준비되었습니다! 다음 유닛에서는 플로를 적절한 지침과 함께 에이전트에 추가해 보겠습니다.
