Skip to main content
Join the Agentforce Virtual Hackathon to build innovative solutions and compete for a $50k Grand Prize. Sign up now. Terms apply.

플로에서 플로 실행

학습 목표

이 유닛을 완료하면 다음을 수행할 수 있습니다.

  • 하위 플로 요소를 사용하여 작업을 최소화합니다.
  • 다른 플로 내에서 실행되는 플로를 만듭니다.
  • 참조된 플로의 변수가 상위 플로로 데이터를 다시 전달하도록 구성합니다.
참고

참고

한국어로 학습하시겠어요? Trailhead playground에서 한국어로 실습 과제를 시작하고, 괄호 안에 제공된 번역을 사용해 탐색해 보세요. 영어 데이터를 기반으로 실습 과제 검증이 이루어지므로 영문으로 표시된 값만 복사해 붙여 넣습니다. 한국어 조직에서 실습 과제를 통과하지 못한 경우, (1) 로캘을 미국으로 바꾸고 (2) 여기에 제시된 지침에 따라 언어를 영어로 바꾼 후 (3) "Check Challenge(과제 확인)" 버튼을 눌러 다시 진행해 보세요.

원하는 언어로 Trailhead 사용하기 뱃지를 확인해 현지화된 Trailhead 경험을 활용하는 방법에 대해 자세히 알아보세요.

참고

이 뱃지를 완료하면 Flow Builder 숙련도를 한층 더 높일 수 있습니다. Flow Builder로 플로 작성하기 트레일은 Flow Builder에 대한 모든 학습 과정을 처음부터 끝까지 안내합니다. 다음과 같은 권장 뱃지 순서를 따라 강력한 프로세스 자동화 기술을 만들고 Flow Builder 전문가가 되어 보세요.

게으름의 힘

믿기 어렵겠지만, 관리자가 가질 수 있는 가장 중요한 자질 중 하나는 바로 게으름입니다.

정말이에요! Salesforce 조직에서 4개의 서로 다른 플로에 영향을 미치는 변경을 수행해야 하는 경우 4개의 플로를 모두 업데이트할 것인가요, 아니면 하나만 업데이트할 것인가요? 엉뚱하게 들릴 수 있지만 여러분도 게으름의 힘으로 불필요한 작업과 같은 장애물을 극복할 수 있습니다.

예를 들어, Flo의 조직에는 동일한 메시지를 Chatter에 게시하는 4개의 플로가 있습니다. 해당 Chatter 게시물의 내용이 변경될 때마다 Flo는 네 개의 플로 모두에서 중복된 요소를 업데이트합니다. Flo는 너무 많은 중복 작업이 번거롭다고 생각하게 됩니다. 다행히도 아직 사용하지 않은 또 다른 요소, 즉 하위 플로 요소가 있습니다. 

플로(상위 플로)에서 하위 플로 요소를 사용하면 다른 플로(하위 플로)를 참조하여 현재(상위) 플로 내에서 실행할 수 있습니다. 네 개가 아닌 하나의 플로만 변경하면 된다는 점에 Flo는 매우 기뻐했습니다. 또한 적은 수의 플로를 구성하면 무언가를 간과하거나 잘못 구성할 가능성이 줄어듭니다.

Flo는 여러분에게 Chatter 게시물에 대해 별도의 플로를 만들어 달라고 요청합니다. Flo는 새 하위 플로를 사용하여 4개의 개별 플로에서 중복되는 요소를 대체할 계획입니다. 이렇게 Chatter 게시물과 관련된 내용이 변경되면 Flo는 4개의 개별 플로를 모두 업데이트하는 대신 하나의 하위 플로만 업데이트하면 됩니다.

고급 선베드에서 야자수 잎으로 부채질을 받으면서 휴식을 취하며 플로에 대해 생각하는 Flo Smith.

입력 및 출력 변수

하위 플로의 변수는 특별합니다. 변수를 만들 때 Available for input(입력에 사용 가능)Available for output(출력에 사용 가능) 설정을 보셨나요? 이러한 설정을 사용하면 변수가 상위 플로에서 하위 플로로 입력을 전달하고 하위 플로에서 상위 플로로 다시 출력을 전달할 수 있습니다.

새 리소스 창의 플로 외부에서의 가용성 섹션에는 입력에 사용 가능 및 출력에 사용 가능 두 가지의 옵션이 있음.

하지만 왜 하위 플로에서 데이터를 주고받을까요? Flo의 예시에서 하위 플로는 상위 플로의 트리거 레코드에 있는 Chatter에 게시하므로 하위 플로에는 해당 트리거 레코드의 ID가 필요합니다. 하위 플로는 상위 플로의 트리거 레코드에 액세스할 수 없으므로 상위 플로가 이를 하위 플로로 보내야 합니다. 또한 상위 플로가 하위 플로에서 만든 Chatter 게시물의 ID를 알아야 하는 경우 하위 플로는 해당 ID를 상위 플로로 다시 보내야 합니다.

하위 플로에서 입력 또는 출력에 사용할 수 있는 변수를 정의하세요.

  • 상위 플로에서 데이터를 받으려면 하위 플로에 입력 가능한 변수가 있어야 합니다.
  • 하위 플로가 완료되어 데이터를 상위 플로로 다시 보내려면 하위 플로에 출력 가능한 변수가 필요합니다.
  • 어느 방향으로든 데이터를 전송할 필요가 없는 경우에는 입력 또는 출력 변수가 필요하지 않습니다.

앞의 설명에 해당하는 다이어그램

하위 플로 요소 만들기

다른 플로 내에서 플로를 실행하려면 먼저 상위 플로와 하위 플로를 만듭니다. 그런 다음 상위 플로에 하위 플로 요소를 추가합니다.

하위 플로 만들기

  1. 플로를 만들고 Autolaunched Flow(자동 실행 플로) 유형을 선택합니다.
  2. 텍스트 변수를 만듭니다.
    • API Name(API 이름): userMentionID
    • Available for input(입력에 사용 가능): Checked(확인됨)
  1. 다른 텍스트 변수를 만듭니다.
    • API Name(API 이름): postTargetID
    • Available for input(입력에 사용 가능): Checked(확인됨)
  1. 또 다른 텍스트 변수를 만듭니다.
    • API Name(API 이름): chatterPostID
    • Available for output(출력에 사용 가능): Checked(확인됨)
  1. 텍스트 템플릿을 만듭니다.
    • API Name(API 이름): chatterBody
    • Body(본문): @[{!userMentionID}], please review this record.(@[{!userMentionID}] 님, 이 레코드를 검토해 주세요.)
    • 본문 편집기에서 "View as Rich Text(서식 있는 텍스트로 보기)"를 "View as Plain Text(일반 텍스트로 보기)"로 변경합니다.
  1. 작업 요소를 추가합니다.
    • Action(작업): Post to Chatter(Chatter에 게시)
    • Label(레이블): Chatter Mention Post(Chatter 멘션 포스트)
    • API Name(API 이름): Chatter_Mention_Post
    • Message(메시지): chatterBody
    • Target Name or ID(대상 이름 또는 ID): postTargetID
    • Show advanced options(고급 옵션 표시)에서 Manually assign variables(변수 수동 할당)를 선택합니다.
    • Feed Item ID(피드 항목 ID): chatterPostID
  1. 플로를 저장합니다. Flow Label(플로 레이블)의 경우 Post to Chatter(Chatter에 게시)를 입력합니다.
  2. 플로를 활성화합니다.

하위 플로 요소로 상위 플로 만들기

  1. 레코드 트리거형 플로를 만듭니다.
    • Object(개체): Case(사례)
    • Trigger the Flow When(플로를 트리거해야 하는 경우): A record is created or updated(레코드가 생성되거나 업데이트되는 경우)
    • Condition Requirements(조건 요구 사항): All Conditions Are Met (AND)(모든 조건이 충족됨(AND))
    • Condition(조건): Priority(우선 순위), Equals(같음), High(높음)
    • When to Run the Flow for Updated Records(업데이트된 레코드 플로 실행 시기): Only when a record is updated to meet the condition requirements(조건 요구 사항을 충족하기 위해 레코드가 업데이트되는 경우만):
    • Optimize the Flow for(플로 최적화 대상): Actions and Related Records(작업 및 관련 레코드)
  1. 하위 플로 요소를 추가합니다.
    • Post to Chatter(Chatter에 게시) 플로를 선택합니다.
    • Label(레이블): Post to Chatter(Chatter에 게시)
    • API Name(API 이름): Post_to_Chatter
    • postTargetID 필드를 활성화하고 Triggering Case(트리거 사례) > Case ID(사례 ID)를 선택합니다.
      userMentionID 필드에서 트리거 사례와 소유자 ID가 선택된 하위 플로 패널.
    • userMentionID 필드를 활성화하고 Triggering Case(트리거 사례) > Owner ID(소유자 ID)를 선택합니다.
      아래로 스크롤한 다음 Owner ID (Group)(사용자 ID(그룹) 또는 Owner ID (User)(사용자 ID(사용자))가 아닌 Owner ID(사용자 ID)를 선택해야 합니다.
참고

참조된 플로에 입력에 사용할 수 있도록 설정된 변수가 없는 경우 입력 값 설정 섹션이 표시되지 않습니다.

  1. 플로를 저장합니다. Flow Label(플로 레이블)에 Case Priority is High(사례 우선 순위가 높음)를 입력합니다.

이제 레코드 생성에 변경이 필요할 때마다 Flo는 단일 하위 플로만 업데이트하면 됩니다. 결론적으로 게으름 한 스푼, 업무 과중 제로라고 할 수 있겠네요!

고려 사항

하위 플로로 작업할 때는 다음 사항을 염두에 두세요.

  • 하위 플로 요소는 자동 실행 플로와 화면 플로만 참조할 수 있습니다.
  • 화면 플로에서는 다른 화면 플로만 참조할 수 있습니다.
  • 비활성 플로를 참조하는 경우 해당 플로는 플로 관리 권한이 있는 사용자에 대해서만 실행됩니다.
  • 하위 플로에 여러 버전이 있는 경우 상위 플로는 하위 플로의 활성 버전을 실행합니다. 하위 플로에 활성 버전이 없는 경우 상위 플로가 최신 버전을 실행합니다.

리소스

실습 과제

+500 포인트

준비

실무 조직에서 이 유닛을(를) 완료하게 됩니다. Launch(실행)를 클릭하여 시작하거나 조직 이름을 클릭하여 다른 항목을 선택하세요.

내 과제

Simplify and Build Upon the Opportunity Product Flow
In the opportunity product creation flow from unit 1, replace repeated elements with a subflow element that references another flow (child flow) multiple times. Also, add another product path to the parent flow. Prework: If you haven’t already completed the challenge in unit 1 (Define Multiple Paths in a Flow), do that now. Otherwise, you won't be able to complete this challenge.
  • Create an autolaunched flow
  • Create a text variable:
    • API Name: ProductKW
    • Available for input: checked

  • Create another text variable:
    • API Name: OpportunityID
    • Available for input: checked

  • Create another text variable:
    • API Name: PricebookID
    • Available for input: checked

  • Add a Get Records element:
    • Label: Get Product
    • API Name: Get_Product
    • Object: Product
    • Condition Requirements: All Conditions Are Met (AND)
      • Field: Name
      • Operator: Contains
      • Value: ProductKW
    • Keep default values for all other settings

  • Add a Get Records element after the Get Product element:
    • Label: Get PBE
    • API Name: Get_PBE
    • Object: Price Book Entry
    • Condition Requirements: All Conditions Are Met (AND)
    • Add a condition requirement:
      • Field: Pricebook2Id
      • Operator: Equals
      • Value: PricebookID
    • Add another condition requirement:
      • Field: Product2Id
      • Operator: Equals
      • Value: Product from Get_Product > Id
    • Keep default values for all other settings

  • Add a Create Records element after the Get PBE element:
    • Label: Create Opp Product
    • API Name: Create_Opp_Product
    • How to set record field values: Manually
    • Object: Opportunity Product
    • Set Field Values:
      • Field: Opportunity ID, Value: OpportunityID
      • Field: Price Book Entry ID, Value: Price Book Entry from Get PBE > Price Book Entry ID
      • Field: Quantity, Value: 1
      • Field: Total Price, Value: Price Book Entry from Get PBE > List Price

  • Save and activate the flow.
    • Label: Subflow-Create Generator Opp Product
    • API Name: Subflow_Create_Generator_Opp_Product

  • Make a new version of the Add Generator Product to Named Opps flow (Open the flow and click Save As New Version.)
  • Delete these elements:
    • Create 1500 Opp Product
    • Create 2000 Opp Product
    • Get 1500 PBE
    • Get 2000 PBE
    • Get 1500 Product
    • Get 2000 Product

  • On the 1500kW path, add a Subflow element:
    • Select the Subflow-Create Generator Opp Product flow
    • Label: Create 1500 Opp Product
    • API Name: Create_1500_Opp_Product
    • Include the OpportunityId field and select Triggering Opportunity > Opportunity ID
    • Include the PricebookID field and select Price Book from Get Pricebook > Price Book ID
    • Include the ProductKW field and enter 1500

  • On the 2000kW path, create a Subflow element:
    • Select the Subflow-Create Generator Opp Product flow
    • Label: Create 2000 Opp Product
    • API Name: Create_2000_Opp_Product
    • Include the OpportunityId field and select Triggering Opportunity > Opportunity ID
    • Include the PricebookID field and select Price Book from Get Pricebook > Price Book ID
    • Include the ProductKW field and enter 2000

  • In the Check Opp Name Decision element, add a new outcome:
    • Label: 1000kW
    • API Name: X1000kW
    • Condition Requirements: All Conditions Are Met (AND)
    • Resource: Triggering Opportunity > Name
    • Operator: Contains
    • Value: 1000

  • On the 1000kW path, create a Subflow element:
    • Select the Subflow-Create Generator Opp Product flow
    • Label: Create 1000 Opp Product
    • API Name: Create_1000_Opp_Product
    • Include the OpportunityId field and select Triggering Opportunity > Opportunity ID
    • Include the PricebookID field and select Price Book from Get Pricebook > Price Book ID
    • Include the ProductKW field and enter 1000

  • Save and activate the flow
Salesforce 도움말에서 Trailhead 피드백을 공유하세요.

Trailhead에 관한 여러분의 의견에 귀 기울이겠습니다. 이제 Salesforce 도움말 사이트에서 언제든지 새로운 피드백 양식을 작성할 수 있습니다.

자세히 알아보기 의견 공유하기