Salesforce용 Adobe Sign: 프로세스 빌더로 자동화된 흐름

개요

Salesforce의 프로세스 빌더는 Salesforce 환경의 트리거 이벤트를 기반으로 하여 작업을 자동화할 수 있는 가리킨 다음 클릭하는 그래픽 도구입니다.

프로세스는 if/then 논리 흐름 유형을 중심으로 빌드되며, 한 개의 트리거 이벤트, 적어도 한 개의 조건 및 실시간으로 발생하거나 예약된 이벤트로 발생할 수 있는 한 개 이상의 작업을 포함합니다.

Adobe Sign은 2개의 작업 유형(레코드 및 Apex 업데이트)을 지원합니다.

작업 유형에는 다음과 같이 호출 가능한 여러 가지 작업이 있습니다.

  • 전송
  • 취소
  • Delete
  • 알림
  • 업데이트
  • 로드(템플릿)는 Apex 작업 유형을 사용하는 경우에만 사용 가능합니다.

프로세스 빌더는 매우 강력한 도구이며, 작동 방식에 대한 전체 설명은 이 문서의 범위를 벗어납니다.

이 문서에서는 Salesforce용 Adobe Sign 패키지의 v20을 통해 사용 가능한 작업을 강조 표시합니다.

일반적으로 프로세스 빌더에 대해 자세히 알아보려면 Salesforce에서 제공하는 문서대화식 Trailhead를 참조하십니다.


"레코드 업데이트"를 작업 유형으로 사용하는 프로세스

이 방법은 Salesforce 프로세스 빌드에서 레코드 업데이트 작업 유형을 사용하여 계약 레코드에 작업을 호출할 백그라운드 작업 선택 목록 필드를 설정합니다.

레코드 변경 이벤트를 기반으로 실행되는 새 프로세스를 작성할 수 있으며, 이 경우 관련된 Adobe Sign 계약에 대한 작업을 호출할 수 있습니다. 사용자는 작업이 발생하는 시간(예: 마스터 레코드의 필드 업데이트 후) 및 작업에 대해 선택할 관련 계약을 제어할 수 있습니다.

 

현재 다음 작업이 지원됩니다.

  • 전송
  • 취소
  • Delete
  • 알림
  • 업데이트

다음 사항을 알고 있어야 합니다.

  • 프로세스 중에 감지된 오류는 오류 메시지 필드에 저장되며, 해당 계약 페이지에서 볼 수 있습니다.
  • 예약된 작업이 지원됩니다.
  • Adobe Sign 라이브러리 문서가 지원됩니다.
  • 한 개 이상의 상위 또는 하위 계약을 선택할 수 있습니다.
  • 계약 레코드를 업데이트할 때 관련 레코드는 echosign_dev1 개체입니다.
    • echosign_dev1 개체는 공용 Salesforce 개체(계정, 기회, 연락처 등)에 연결되어 있습니다. 계약이 사용자 정의 개체와 연결된 경우 이 이름은 조직에 고유합니다.

  • 작업은 해당 작업 값과 함께 계약 레코드의 백그라운드 작업 선택 목록 필드를 업데이트하여 트리거됩니다.

제한 사항:
  • 계약 레코드가 이미 있어야 합니다. "레코드 업데이트" 작업 유형을 사용하여 계약 템플릿에서 생성 또는 로드할 수 없습니다.


Apex를 작업 유형으로 사용하는 프로세스

이 방법은 해당 작업을 수행하기 위해 Salesforce 프로세스 빌더의 Apex 작업 유형을 사용하여 관리 패키지에 포함된 호출 가능한 메서드를 호출합니다. 

레코드 변경 이벤트를 기반으로 실행되는 새 프로세스를 작성할 수 있으며, 이 경우 관련된 Adobe Sign 계약에 대한 작업을 호출할 수 있습니다.

호출 가능한 다음 작업이 정의되었습니다.

  • 계약 템플릿 로드 호출 가능한 작업
    • AgreementTemplateLoadInvocableAction.load
      • 템플릿 및 마스터 ID와 모든 런타임 변수를 전달합니다.
      • 선택적 매개 변수를 전달하여 템플릿 생성이 비동기 모드로 실행되는지 여부를 제어합니다.
        • 템플릿에 Adobe Sign 라이브러리의 문서가 포함된 경우 필수입니다.
      • 생성된 계약 레코드 ID 또는 오류 메시지를 반환합니다.
        • 트리거 작업을 수행하는 사용자에게 오류가 표시되지 않습니다.

계약 유형 로드 클래스를 호출할 때 구성할 수 있는 다음 네 가지 필드 옵션이 있습니다.

  • 마스터 레코드 ID - 계약과 연결해야 하는 개체의 Salesforce 레코드 ID입니다. 
    • 일반적으로 개체가 기회, 계정 등인 필드 참조 및 값 "[Object].Id" 유형으로 설정됩니다.
  • 계약 템플릿 ID - 로드할 계약 템플릿의 Salesforce 레코드 ID입니다. 유형을 "ID"로 설정하고 값을 레코드 ID로 설정합니다.
  • 계약 템플릿 런타임 변수 - 변수에서 수신자 및/또는 문서입니다. 
    • 1개 변수: myRecipient=auserguy@adobe.com 
    • 2개 변수: myRecipient=auserguy@adobe.com,myAttachment=00Pf4000002df0q
  • 비동기 처리(선택 사항) - 필요하지 않으면 지정하지 마십시오. 기본적으로 이 값은 false이므로, 템플릿 호출이 비동기 모드로 실행됩니다(예: 동일한 트랜잭션/스레드). 
    • 계약 템플릿에서 Adobe Sign 라이브러리 문서를 로드하는 경우 True로 설정합니다.
    • 템플릿에 대해 AutoSend가 true이면 값이 False인지 확인합니다.
    • Adobe Sign 라이브러리 문서를 함께 자동으로 보낼 수 없습니다.
    • 프로세스가 일괄 처리 또는 기타 비동기 프로세스에서 호출되는 경우 Salesforce 제한 사항을 숙지하십시오.

 

  • 계약 취소 호출 가능한 작업
    • AgreementCancelInvocableAction.cancelAgreement
      • 계약 ID 전달
      • 오류 메시지 반환
  • 계약 삭제 호출 가능한 작업
    • AgreementDeleteInvocableAction.deleteAgreement
      • 계약 ID 전달
      • 오류 메시지 반환
  • 계약 알림 호출 가능한 작업
    • AgreementRemindInvocableAction.sendReminder
      • 계약 ID 전달
      • 오류 메시지 반환
  • 계약 전송 호출 가능한 작업
    • AgreementSendInvocableAction.sendAgreement
      • 계약 ID 전달
      • 오류 메시지 반환
  • 계약 업데이트 호출 가능한
    • AgreementUpdateInvocableAction.updateAgreement
      • 계약 ID 전달
      • 오류 메시지 반환

취소, 삭제, 알림, 전송업데이트 작업을 수행하려면 작업을 수행할 계약의 계약 ID만 필요합니다.


다음 사항을 알고 있어야 합니다.

  • 예약된 작업이 지원됩니다.
  • 자동 전송을 사용한 계약 템플릿이 지원됩니다(예: 생성 및 전송).
  • 모든 작업은 한 번의 호출로 여러 요청을 허용할 수 있습니다.
  • 예외가 발생하면 프로세스 실행을 차단하지 않도록 결과 레코드에 저장되고 Apex 디버그 로그에 오류로 기록됩니다.
  • 템플릿 로드 함수(비동기 처리)에 대한 매개변수는 템플릿 처리가 동기 또는 비동기 모드로 발생하는지 여부를 제어합니다. 발신자는 템플릿 로드를 동기화 모드로 실행할지 아니면 비동기 모드로 실행할지 여부를 지정해야 합니다. 
    • 기본 프로세스는 동기 모드로 실행됩니다. 대량 프로세스는 동기적으로 실행됩니다.
    • 자동 전송이 활성화된 경우 프로세스는 동기 모드로 실행해야 합니다.
    • 주목할 만한 비동기 프로세스는 Adobe Sign 라이브러리 문서를 로드해야 하는 경우입니다.

 

제한 사항:

  • 자동 전송 템플릿과 Adobe Sign 라이브러리 문서 조합은 단일 스레드에서 다른 스레드를 시작할 수 없는 Salesforce의 제한 사항으로 인해 지원되지 않습니다
    .
  • 호출할 수 없는 작업으로 전달되는 매개 변수의 경우 상위 필드(하위 필드가 아닌)만 참조할 수 있습니다. 마스터 레코드 아래의 하위 계약에 대해 작업을 수행할 수 없습니다.
  • Apex 호출에서 반환된 값은 프로세스 빌더에서 사용할 수 없습니다. 값을 반환하는 작업은 지원되지 않습니다(예: 문서 정보 가져오기 또는 서명 URL 가져오기).


대기 가능 서비스

Salesforce 대기 가능 인터페이스를 통해 계약 작업을 호출하기 위해 새 서비스 계층이 구현되었습니다. [대기 가능]에 대한 자세한 내용은 여기에 나와 있습니다. 이 작업은 코어 서비스 API를 호출한 다음 Adobe Sign API를 콜아웃합니다.

다음 작업이 지원됩니다.

  • 전송
  • 취소
  • Delete
  • 알림
  • 업데이트

글로벌 echosign_dev1.AdobeSignApiQueueableService는 호출할 작업과 계약 레코드 ID가 포함된 echosign_dev1.QueueableServiceParameter 유형의 매개 변수를 사용하는 서비스 Apex 클래스입니다.

 

echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter param = new echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter();
param.actionType = EchoSignApiService.ACTION_TYPE.AGREEMENT_REMIND;
param.agreementId = 'a0I0S000000KwkaUAC';
ID jobID = System.enqueueJob(new echosign_dev1.AdobeSignApiQueueableService(param));
echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter param = new echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter(); param.actionType = EchoSignApiService.ACTION_TYPE.AGREEMENT_REMIND; param.agreementId = 'a0I0S000000KwkaUAC'; ID jobID = System.enqueueJob(new echosign_dev1.AdobeSignApiQueueableService(param));
echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter param = new echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter();

param.actionType = EchoSignApiService.ACTION_TYPE.AGREEMENT_REMIND;
param.agreementId = 'a0I0S000000KwkaUAC';

ID jobID = System.enqueueJob(new echosign_dev1.AdobeSignApiQueueableService(param));

쉽고 빠르게 지원 받기

신규 사용자이신가요?