前往ServiceNow 網站商店頁面並搜尋 Adobe Acrobat Sign。
概述
適用於 ServiceNow 的 Adobe Acrobat Sign應用程式可讓您使用 ServiceNow 平台的原生功能傳送文件以供簽署。Acrobat Sign 與 ServiceNow 的整合可讓您存取以下特色與功能:
- 將文件傳送給多位收件者進行簽署。
- 透過整個生命週期追蹤簽署程序,並識別每個階段中預期的簽署者。
- 擷取已簽署的文件,以及內嵌或獨立的稽核記錄文件。
- 擷取在簽署程序之前或期間輸入到文件中的表單資料。
- 建立簽署程序草稿,以供初始審閱及後續提交。提交前對簽署者所做的任何修改都會同步至 ServiceNow。
- 在簽署程序期間,生成並傳送電子郵件通知給個人。
- 從 ServiceNow 中的本機檔案或外部來源取得要簽署的文件。
- 使用文件模板,並在提交前利用 ServiceNow 記錄中的資料填入欄位。它可讓您使用單一模板,根據選取的主旨記錄 (例如 Incident 或 Service Request) 產生使用者專屬文件。
- 使用 Acrobat Sign 帳戶的資料庫模板,這些模板會同步至 ServiceNow,並可在提交程序期間選取。
適用於 ServiceNow 的 Adobe Acrobat Sign:安裝及自訂指南 提供如何執行下列操作的說明:
- 安裝適用於 ServiceNow 的 Acrobat Sign 應用程式
- 連線到 Acrobat Sign
- 設定適用於 ServiceNow 的 Acrobat Sign 應用程式
- 搭配合約管理使用 Acrobat Sign
- 使用指令碼 API
安裝並設定適用於 ServiceNow 應用程式的 Acrobat Sign 後,您就可以使用它來傳送、簽署、追蹤和管理合約。請參閱適用於 ServiceNow 的 Adobe Acrobat Sign:使用手冊。
您必須是 Adobe Acrobat Sign 管理員和 ServiceNow 系統管理員 (admin),才能在 ServiceNow 上安裝應用程式。
從搜尋結果中,選取Adobe Acrobat Sign,然後選取取得。
在安裝應用程式期間停用任何快顯視窗封鎖程式。
如出現提示,請使用您的 ServiceNow 管理員認證登入,並依照安裝步驟進行。
若要確認安裝,請從 ServiceNow 執行個體的熱門選單中,選取全部 > 系統應用程式 > 我的公司應用程式,然後選取已安裝索引標籤。它會顯示 Adobe Acrobat Sign 最新版本的清單。
適用於 ServiceNow 的 Adobe Acrobat Sign 外掛程式已設定為使用下列網域:
- service-now.com
- servicenowservices.com
servicenowservices.com 適用於 Government Cloud 客戶,且需要額外的系統屬性設定。如果您的網域位於 servicenowservices.com 網域上,您必須建立/設定系統屬性 x_adosy_as.oauth_redirect_host 並使用您執行個體的完整子網域 (例如 mydomain.servicenowservices.com)。
「Self-Service」選單會顯示新的 Adobe Acrobat Sign 選項,包含下列兩個模組:
- My Signed Documents - 包含已完成狀態的合約清單,登入使用者可能是要求者或簽署者。
- For Signature – 包含等待登入使用者簽署的合約清單。合約處於「傳送以供簽署」或「傳送以供核准」狀態。
備註:自助服務選單僅對具有簽署者 (x_adosy_as.adobe_sign_signer) 角色的使用者可見。
All 應用程式的選單包含 Adobe Acrobat Sign 選項,其中包含下列模組:
- 傳送以供簽署 - 開啟記錄建立者,用於建立和提交合約。
- My Agreements - 登入使用者為要求者或簽署者的所有合約清單。
- My Signatures - 登入使用者為合約參與者 (簽署者) 的記錄詳細資料。
操作
- Agreements - 簽署程序的後端詳細資料。包含 JSON 以及正在接收和處理的所有 Adobe Acrobat Sign 事件。
- 來源文件 - 代表可新增至合約的文件。可以是本機或資料庫
- Participants - 簽署者及其簽署程序的詳細資料。
- Events - 每個 Adobe Acrobat Sign 事件傳送和接收內容的後端詳細資料。
- Form data - 儲存合約簽署完成後傳回的表單資料的表格。這可用於報告文件及其欄位資料。
管理
- 連接到 Acrobat Sign - 連接畫面,可在此將有效的 Adobe Acrobat Sign 帳戶連結到 ServiceNow。
- Acrobat Sign 群組 - 包含 Acrobat Sign 群組名稱和 ID 的清單。
- Acrobat Sign 使用者 - 包含 Acrobat Sign 使用者的詳細資料。
- 電子印章 -
- 文件範本 - 可新增至協議的範本文件。可以是本地或程式庫。
- 文件欄位 - 嵌入在範本文件中的表單欄位詳細資料。
- 合併規則 - 在 ServiceNow 中將文件範本與特定類型的主題記錄建立關聯。
- 合併欄位 - 將主題記錄中的欄位連結至相關文件範本內包含之欄位的記錄。
- 屬性 - Adobe Acrobat Sign 預設設定,適用於簽署後 URI 重新導向、通知和稽核追蹤。
說明與支援 - 連結至 Adobe Acrobat Sign 說明。
- 「傳送以供簽署」、「我的協議」和「我的簽名」模組會顯示給具有寄件人 (x_adosy_as.adobe_sign_sender) 角色的使用者。
- 「操作」和「管理」選單僅會顯示給具有管理員 (x_adosy_as.adobe_sign_admin) 角色或管理者 (x_adosy_as.adobe_sign_manager) 角色的使用者。
Service Portal 小工具
如果您想將 Adobe Acrobat Sign 新增至 Service Portal,您可以在 URL /adobe_sign 查看示範。
此入口網站僅限於「x_adosy_as.adobe_sign_sender」和「x_adosy_as.adobe_sign_signer」角色。
若要將此功能新增至您自己的入口網站,請複製小工具並修改角色以符合需求。
- Adobe Acrobat 儀表板項目清單 - 協議清單頁首小工具使用的項目清單。
- Adobe Acrobat Sign 傳送以供簽署 - 用於從範本或檔案建立新協議的小工具。
- Adobe Acrobat Sign 協議清單 - 用於檢視協議清單的小工具。
Service Portal 頁面
- Adobe Acrobat Sign - 包含 Adobe Acrobat Sign 彈出式小工具,可從 ServiceNow 中的記錄使用,動態生成新協議。
- Adobe Acrobat Sign 首頁 - 這是應用程式隨附的示範 Service Portal 首頁。
應用程式包含四個角色:
- 簽署者 (x_adosy_as.adobe_sign_signer)
- 具有 x_adosy_as.adobe_sign_signer 角色的 ServiceNow 使用者可存取 Adobe Acrobat Sign Self-Service 模組
- 他們也可存取使用者服務入口網站小工具
- 此角色需要新增至任何需要簽署文件/合約的使用者/群組
- 傳送者 (x_adosy_as.adobe_sign_sender)
- 具有 x_adosy_as.adobe_sign_sender 角色的 ServiceNow 使用者可存取應用程式功能
- 此角色需要新增至任何需要追蹤他們已要求或需要簽署的文件/合約的使用者/群組
- 管理者 (x_adosy_as.adobe_sign_manager)
- 具有「x_adosy_as.adobe_sign_manager」角色的 ServiceNow 使用者擁有 Acrobat Sign 功能的管理者層級存取權
- 管理者可以管理所有傳送者建立的合約
- 此角色授權取消其他使用者建立的合約
- 管理員 (x_adosy_as.adobe_sign_admin)
- 具有「x_adosy_as.adobe_sign_admin」角色的 ServiceNow 使用者擁有所有功能的完整存取權
根據預設,應用程式隨附一個角色,應指派給可以簽署文件的使用者。若要讓所有使用者都能存取簽署文件,您必須更新設定。
您對應用程式檔案所做的變更將會導致無法套用後續更新。
擷取對更新集合所做的任何變更,以便在更新應用程式後可以重新套用這些變更。
在套用至生產環境之前,請務必在專用的測試環境中測試任何自訂項目。
適用於 ServiceNow 的 Adobe Acrobat Sign 應用程式設計為可搭配商業和政府 (FedRAMP) 帳戶使用。如果您不確定擁有哪種帳戶,請依照商業雲端客戶的說明進行。
在 ServiceNow 中安裝 Adobe Acrobat Sign 應用程式後,Adobe Acrobat Sign 群組或帳戶管理員必須使用以下步驟將 ServiceNow 連接至 Adobe Acrobat Sign Commercial Cloud:
導覽至 Adobe Acrobat Sign > 管理 > 連接至 Adobe Acrobat Sign。
在出現的對話框中,選取 連接。
使用管理員認證登入您的 Acrobat Sign 帳戶。
在出現的權限對話框中,選取允許存取以授予權限並建立連線。
認證會在快顯視窗中進行。 如果您看不到認證面板,請檢查您的快顯視窗封鎖程式是否已停用。
連線完成後,您會看到一則確認訊息,其中包含已連線的 Acrobat Sign 帳戶和與其相關聯的 ServiceNow 帳戶。
在 ServiceNow 中安裝 Adobe Acrobat Sign 應用程式後,Adobe Acrobat Sign 政府雲端群組或帳戶管理使用者即可將 ServiceNow 連線至 Adobe Acrobat Sign 政府雲端。
從左側面板選取 Adobe Acrobat Sign > 管理 > 內容。
在開啟的應用程式屬性頁面中:
- 啟用使用 Adobe Acrobat Sign 政府雲端切換。
- 尋找名為連線登入提示的屬性,並將該值設定為您將用來登入 Adobe Acrobat Sign 政府雲端的電子郵件地址。
- 選取「儲存」。
導覽至Adobe Acrobat Sign > 管理 > 連線至 Acrobat Sign。
在出現的頁面上,選取連線。
如果出現提示,請登入您的 Adobe Acrobat Sign 政府雲端帳戶。
建立連線後,應用程式會重新導向回 ServiceNow 並自動更新連線狀態。
若要深入了解如何為 ServiceNow 應用程式設定 Acrobat Sign,請參考下列組態設定:
若要存取和設定應用程式屬性,請導覽至 Adobe Acrobat Sign > 管理 > 屬性。
它會顯示以下預設設定:
- 主機名稱 [x_adosy_as.redirect_host]:如果您有自訂安裝實例 URL,請指定要在 OAuth 和 API 回叫 (例如 webhook) 的重新導向 URI 中使用的完整主機名稱。
根據預設,此值為空,主機是「glide.servlet.uri 系統屬性」所持有的值。
它僅適用於 ServiceNow 安裝實例重新導向。如果您想要將簽名者在簽名後重新導向到不同的主機,請在「簽名者重新導向 URI (post_sign_uri)」屬性中提供該主機。 - 預設簽名後 URL [x_adosy_as.post_sign_uri]:在 Adobe Acrobat Sign 中簽署文件後重新導向使用者的預設位置。當在建立協議期間未指定簽名後 URI 時會使用此 URI。此 URI 相對於指定的安裝實例名稱,但可以透過包含通訊協定 (例如 https://www.adobe.com/)) 來覆寫,這允許簽名後的重新導向前往此 ServiceNow 安裝實例以外的其他位置。建立的協議 sys_id 可以在 URL 中使用 "{sys_id}" 注入。預設值為 "/x_adosy_as_agreement_list.do?sysparm_query=requested_byDYNAMIC90d1921e5f510100a9ad2572f2b477fe%5EORsignersDYNAMIC90d1921e5f510100a9ad2572f2b477fe%5Estate=Complete%5EORDERBYDESCsys_created_on",這會將使用者帶到已完成協議的清單。
- 簽名者重新導向延遲 [x_adosy_as.post_sign_delay]:使用者在 Adobe Acrobat Sign 中簽署文件後被重新導向之前的延遲 (以秒為單位)。預設值為 3。
- 點擊欺騙防護 [x_adosy_as.clickjacking_domains]:提供以逗號分隔的主版網域 URL 清單,其中傳送以供簽名的文件可能包含在 iframe 內,例如 service-now.com。
這是政府雲端客戶的必要項目。將此欄位留空可能會導致 Acrobat Sign 在框架內顯示時出現空白頁面。 - 允許來自 Acrobat Sign 的電子郵件 [x_adosy_as.send_adobe_sign_emails]:控制是否在簽名過程中由 Acrobat Sign 傳送通知電子郵件。預設值為 false。
- 彈出式草稿協議 [x_adosy_as.popout_draft]:根據預設,按一下協議上的「審閱詳細資訊」按鈕會在相同瀏覽器視窗中開啟 Acrobat Sign 的草稿。
將此選項設為 true,以改為開啟新視窗。 預設值為 false。 - 包含稽核 [x_adosy_as.include_audit]:控制已簽署文件中所包含的稽核軌跡。 預設值為 true。
- 使用 Adobe Acrobat Sign Government Cloud [x_adosy_as.fedramp]:Adobe Government Cloud 客戶必須啟用此屬性,以便 Acrobat Sign for ServiceNow 使用 Acrobat Sign Government Cloud 服務。 預設值為 false。
- 連線登入提示 [x_adosy_as.login_hint]:首次連線至 Adobe Acrobat Sign Government Cloud 時使用的 login_hint 值。 這會自動填入「連線至 Acrobat Sign」頁面,通常是帳戶管理員使用者的電子郵件。 預設值為空。
- 協議活動格式器欄位 [glide.ui.x_adosy_as_agreement_activity.fields]:設定在協議記錄上顯示的活動格式中應顯示哪些欄位。
預設值為「name, state, status,agreement_id,compose_url,post_sign_uri,etag」。 - 「我的協議」查詢 [x_adosy_as.my_agreements_query]:在入口網站等地方顯示我的協議時使用的查詢。 預設值為「requested_byDYNAMIC90d1921e5f510100a9ad2572f2b477fe^ORsignersDYNAMIC90d1921e5f510100a9ad2572f2b477fe」,會傳回使用者為要求者或簽署者的協議。
- 多部分檔案副檔名 [x_adosy_as.multipart_extension]:臨時多部分檔案附件的副檔名。預設(建議)值為「mpfd」。
- 應用程式記錄 [x_adosy_as.logging.verbosity]:控制系統記錄。 預設值為「info」。
- 偵錯連線 [x_adosy_as.connect_debug]:連線至 Acrobat Sign 時顯示診斷警報。 預設值為 false。
預設重新導向 URL 屬性適用於「簽署後 URI」欄位中的值尚未設定的任何協議。
重新導向 URL 中不支援未編碼的特殊字元或空格。 因此,如果應用程式屬性中的「預設簽署後 URL」包含插入符號 (^),您必須將其編碼為 %5E。
例如,/x_adosy_as_agreement_list.do?sysparm_query=requested_byDYNAMIC90d1921e5f510100a9ad2572f2b477fe^ORsignersDYNAMIC90d1921e5f510100a9ad2572f2b477fe^state=Complete^ORDERBYDESCsys_created_on 必須變更為:
/x_adosy_as_agreement_list.do?sysparm_query=requested_byDYNAMIC90d1921e5f510100a9ad2572f2b477fe%5EORsignersDYNAMIC90d1921e5f510100a9ad2572f2b477fe%5Estate=Complete%5EORDERBYDESCsys_created_on
其餘屬性可管理在簽名程序期間 Acrobat Sign 是否傳送通知 (預設 = 否),以及稽核軌跡是否包含在已簽署的文件中 (預設 = 是)。
Adobe Acrobat Sign 應用程式包含可根據您的需求進行設定的自訂元件。請參考下方的元件清單,了解如何修改每個元件。
「使用 Adobe Acrobat 簽名」是任務 [task] 表格上的 UI 動作按鈕。僅有擁有寄件者角色 (x_adosy_as.adobe_sign_sender) 的使用者才能存取。它讓寄件者能夠新增文件和簽署者到協議,並將附加文件提交至 Adobe Acrobat Sign 進行簽署。
系統管理員可依照下列步驟將「使用 Adobe Acrobat 簽名」動作新增至其他表格:
- 使用下列兩種方式之一開啟現有的「使用 Adobe Acrobat 簽名」動作:
- 在任何從任務延伸的表單上 (例如事件),執行滑鼠右鍵按一下 > 「設定 UI 動作」。
- 導覽至「系統定義」>「UI 動作」,然後搜尋「Sign with Adobe Acrobat」。
- 視需要變更表格名稱。
- 在頂端動作列上按一下滑鼠右鍵,然後選取「插入並保留」,以使用新表格建立現有記錄的副本。
「Adobe Acrobat Sign 相關清單」會顯示與設定清單之記錄相關的協議。只有擁有使用者角色 (x_adosy_as.adobe_sign_user) 的使用者 (也就是協議的請求者或簽署者) 才能在相關清單上看到協議。
系統管理員或擁有「personalize_form」角色的使用者可以設定表單和相關清單配置。
若要將相關清單新增至表單:
- 從相關表單,按一下滑鼠右鍵並導覽至設定 > 相關清單。
- 從可用清單中,選取Adobe Acrobat Sign。
- 選取向右箭頭,以將其新增至「已選取」清單。
- 選取「儲存」。
這會將您導向您正在設定的表單,而「Adobe Acrobat Sign」相關清單會顯示在表單底部。
Acrobat Sign for ServiceNow 應用程式隨附以下服務入口網站元素,可搭配您自己的服務入口網站使用或複製。
應用程式隨附的 Adobe Acrobat Sign 服務入口網站並非供使用或延伸。它僅支援「傳送以供簽署」介面。
您可在 /adobe_sign 存取該入口網站。
應用程式隨附兩個服務入口網站頁面:
- Adobe Acrobat Sign (x_adosy_as_send)
- Adobe Acrobat Sign 首頁 (x_adosy_as_home)
Adobe Acrobat Sign (x_adosy_as_send) 頁面專用於傳送以供簽署介面,不應修改。
Adobe Sign 首頁 (x_adosy_as_home) 已指定為服務入口網站首頁,旨在作為隨附小工具的範例展示。
您可以根據需求使用應用程式隨附的小工具。為了能夠追蹤小工具變更並從您的應用程式取得更新,您必須只在小工具的複製項中進行變更。
- Adobe Acrobat Sign 傳送以供簽署:用於從範本和/或上傳的檔案建立合約。可透過傳送以供簽署選單項目和使用 Adobe Acrobat 簽署 UI 動作存取,並提供給具有傳送者角色的使用者使用。
小工具選項:小工具設計為可透過小工具執行個體選項或 URL 參數根據需要進行自訂。使用文件範本和合併規則自動填入表單資料。使用 URL 參數時,您可以將布林值選項設為「true」或「1」。
名稱 |
類型 |
描述 |
subject_table |
字串 |
協議所屬資料表的名稱。 |
subject_id |
字串 |
協議所屬記錄的 sys_id。 |
合約名稱 |
字串 |
新協議的名稱。 |
附件 |
字串 |
協議中使用的附件 sys_ids 清單。 |
範本 |
字串 |
協議中使用的文件模板 sys_ids 清單。 |
簽署者 |
字串 |
要新增為簽署者的使用者或電子郵件地址清單。 |
副本收件者 |
字串 |
要新增為副本項目的使用者或電子郵件地址清單。 |
密碼保護 |
布林值 |
要求使用者設定密碼以保護協議。即使 hide_options 或 lock_options 為真,使用者仍需設定密碼。 |
傳送電子郵件 |
布林值 |
讓 Adobe 在簽署過程中傳送電子郵件通知。 |
提交為草稿 |
布林值 |
建立草稿協議,而非立即提交簽署。 |
複製到主旨 |
布林值 |
將已簽署的協議檔案複製到主體記錄。必須提供有效的 subject_table 和 subject_id。 |
簽署後 URI |
字串 |
為簽署者完成簽署時提供自訂重新導向。預設重新導向會將使用者送至協議記錄。 |
隱藏選項 |
字串 |
以逗號分隔的選項清單,用於隱藏 (password_protect、send_emails、submit_as_draft、copy_to_subject)。設定為真可從使用者隱藏所有選項。 |
lock_options |
字串 |
以逗號分隔的選項清單,用於設為唯讀 (password_protect、send_emails、submit_as_draft、copy_to_subject)。設定為真可防止使用者變更所有選項。 |
hide_subject |
布林值 |
防止選取主旨中的附件。 |
skip_documents |
布林值 |
略過初始文件面板。這僅適用於已預先選取附件或範本時。 |
- Adobe Acrobat 儀表板項目清單:可用於將需要簽署的目前協議清單新增至您的員工或客戶服務入口網站。此清單用於 Adobe Sign 首頁的待辦事項功能。
若要存取此清單中顯示的記錄,請前往「自助服務 > Adobe Acrobat Sign > 供簽署」。 - Adobe Acrobat Sign 頁首:用於 Adobe Sign 首頁以展示待辦事項功能。
文件範本定義可供選取並包含在協議中的範本。範本可用於提供標準文件,可供許多個別協議重複使用。「來源文件」記錄會參考範本,讓相關聯協議可使用該範本的功能。
範本可以是 ServiceNow 執行個體的本機範本,或是詳細資訊與已連線 Adobe Acrobat Sign 帳戶同步的程式庫範本。
安裝及設定應用程式後,管理員可以同步程式庫範本。Adobe Acrobat Sign 程式庫範本是在 Acrobat Sign 帳戶內定義,其詳細資訊會同步處理至 ServiceNow。程式庫範本的定義文件也會儲存在已連線的 Acrobat Sign 帳戶中,因此提交時無需上傳。
若要將程式庫範本同步至 ServiceNow:
- 導覽至Adobe Acrobat Sign > 管理 > 文件範本。
- 選取重新整理資料庫。
它會使用來自連接的 Acrobat Sign 帳戶的資料庫範本更新清單檢視。
本機範本的定義文件在 ServiceNow 中以附件記錄的形式保存,必須在提交過程中上傳到 Acrobat Sign。
範本的文件可能包含或不包含需要使用協議主題記錄中的資料預填的表單欄位。如果文件包含此類表單欄位,您必須使用範本。
- 導覽至Acrobat Sign > 管理 > 文件範本。
- 選取新增。
- 在範本的新記錄頁面上:
- 為範本提供名稱。
- 將類型設定為本機。
- 按一下右鍵,然後選取儲存。
- 若要將文件與範本關聯,請選取檔案並拖曳到範本記錄上,或選取頁首中的迴紋針圖示並選取檔案。新增檔案後,選取 X 圖示以關閉對話框。
將文件附加到文件範本,並在「文件」欄位中引用。
您需要按照為建立不含欄位的範本所概述的相同步驟。但是,一旦文件建立關聯,您必須根據需要完成以下額外配置步驟:
- 確認「可填寫」欄位已設定為 true。
當包含可填寫欄位的文件與模板建立關聯時,系統會自動勾選此選項。
- 建立文件欄位記錄。
您必須為主版文件模板建立文件欄位記錄,並定義模板文件中內嵌表單欄位的詳細資料。
若要執行此操作,請儲存文件模板記錄,然後選取重新整理欄位。
系統會在「文件欄位」相關清單中填入與附加文件上可填寫表單欄位對應的記錄。
- 配置合併規則
合併規則會將文件模板與 ServiceNow 中的特定主題記錄類型建立關聯。
單一文件模板可以連結多個合併規則(用於預先填入模板欄位的每種主題記錄類型各有一個規則)。
例如,模板可以使用事件、服務要求或變更要求記錄中的資料來填寫(在此情況下,模板會有三個合併規則,每個主題表格各有一個規則)。
若要設定合併規則:
- 瀏覽合併規則相關清單。
- 選取「新增」。
- 選取表格,例如事件。
- 按右鍵並選取儲存。
- 配置合併欄位
合併欄位記錄會將主題記錄中的欄位連結到相關文件模板中包含的欄位。配置合併規則時,需要手動建立合併欄位。
若要建立合併欄位記錄:
- 前往 Adobe Acrobat Sign > 管理 > 合併原則。
- 在合併規則記錄中,選取重新整理欄位。
它會在「合併欄位」內嵌清單中填入文件欄位。 - 若要將相關的文件欄位連結至其對應的記錄欄位,請選取您要對應之文件欄位的對應記錄欄位連結 (如姓名)。
- 從下拉式選單中選取相關的記錄欄位 (如來電者)。
- 選取更新。
它會將您重新導向至合併規則記錄。合併欄位相關清單現在包含在上一個步驟中選取之記錄欄位的值。
為了整齊起見,請刪除(並確認)其餘不會對應的合併欄位,讓合併欄位內嵌清單僅包含正在對應的值。
Acrobat Sign for ServiceNow 可讓您透過建立記錄產生器來建立使用者可透過服務目錄存取的新合約。您可以設定記錄產生器來收集您想要合併至文件中的任何資料,並自動建立合約並傳送給使用者。
具有catalog_admin或admin權限的使用者可以建立目錄項目。以下步驟說明如何建立名為記錄產生器的目錄項目。您可以重複相同的步驟來建立其他目錄項目。
備註:設定執行個體時,請確定未選取 Adobe Acrobat Sign 應用程式。
建立每個記錄產生器的程序可能會因為文件欄位、範本、變數等的特定需求而有所不同;但是,相同的原則仍然適用。本指南中的範例顯示如何建立停車許可證合約。
若要建立記錄產生器:
導覽至服務目錄 > 目錄定義 > 記錄產生器,然後選取新增。
在開啟的新記錄產生器頁面上:
- 為記錄指定名稱。
- 將表格名稱設定為 Agreement [x_adosy_as_agreement]。
- 輸入簡短描述。
- 將「重新導向至」欄位設為產生的工作記錄。
選取協助工具分頁,並視需要設定型錄、類別和可用性欄位。然後,在標題列上按一下滑鼠右鍵並選取「儲存」。
您可以使用「類別」和「型錄」相關清單來設定這些欄位。
使用變數相關清單,視需要新增變數以符合文件欄位。
在此範例中,我們會新增姓名、員工和經理欄位。
「許可名稱」問題變數的預設值為:「javascript:'Parking Permit for ' + gs.getUserDisplayName()'」
設定記錄生產器指令碼,該指令碼將取得變數並建立要傳送以供簽署的協議。在「指令碼」欄位中:
- 複製並貼上下列讀取型錄項目變數的指令碼。
- 更新變數定義以從生產器收集資訊。
- 更新您使用的文件模板 sys_id。
- 如果您希望使用者在簽署後前往其他地方,請更新 post_sign_uri。
// 停車許可模板的 Adobe Acrobat Sign 記錄生產器範例
(function() {
// 收集我們需要從使用者填入變數中取得的資訊
var employee_id = producer.employee + '';
var employee_name = producer.employee.getDisplayValue() + '';
var manager_id = producer.manager + '';
var manager_name = producer.manager.getDisplayValue() + '';
var agreement_name = "Parking permit for " + employee_name;
// 正在使用的文件範本的硬編碼 sys_id
var document_template = '5a2e0131db4c7c10c39151fcd39619af'; // Parking Permit
// 設定要與上述文件範本合併的資料。
// 每個屬性都是我們要對應的文件欄位名稱。
var merge_data = {
name : agreement_name,
employeename : employee_name,
managername : manager_name,
};
// 設定新合約
var agreement = new x_adosy_as.Agreement(current);
// 新增要簽署的文件
agreement.addDocument(document_template, merge_data);
// 新增簽署者
agreement.addSigner(employee_id);
agreement.addSigner(manager_id);
// 設定合約名稱
current.name = agreement_name;
// 設定簽署者在簽署後將重新導向的 URL
current.post_sign_uri = '/x_adosy_as_agreement.do?sys_id=' + current.sys_id;
// 將狀態設定為「就緒」以立即傳送以供簽署
current.state = 'Ready';
})();
若要將文件新增至現有目錄項目以供簽署,您可以在工作流程中新增一個產生協議的任務,以及一個將其指派給使用者簽署的目錄任務。
以下範例示範如何使用 Adobe Acrobat Sign 應用程式,但是設定步驟的具體詳細資訊可能會根據您的處理程序需求而有所不同。
若要從工作流程活動建立協議,您必須設定以下元件:
- 目錄任務:它會建立協議、提交以供簽署,並指派任務給簽署者。
- 指令碼動作:它會回應協議簽署時觸發的事件,然後關閉任務,提供回饋迴路並允許工作流程繼續進行。
若要建立目錄任務:
- 在工作流程編輯器中,選取核心索引標籤。
- 導覽至核心活動 > 任務,然後將目錄任務活動拖曳到工作流程中的適當位置。
- 為任務命名並設定其優先順序。
- 將等候完成設定為真。
- 在「指令碼」區段中,將進階標幟設定為真,然後在進階指令碼欄位中撰寫您的程式碼。以下提供範例程式碼。
- 請選取「更新」。
// 範例任務工作流程活動建立
(function () {
// 需要簽署協議的使用者
var signer_id = current.request.requested_for + '';
var signer_name = current.request.requested_for.getDisplayValue() + '';
// 協議名稱
var agreement_name = current.short_description + ' for ' + signer_name;
// 此動作的 Adobe Acrobat Sign 文件模板硬式編碼 sys_id
// 這實際上應該是工作流程變數,以資料驅動方式處理。
var document_template = '2a9b1f57db508810257e73278c9619dc'; // 我的模板
// 不呼叫 newRecord() 來設定 GUID,這是 agreement 主旨所需
task.setNewGuid(gs.generateGUID(task.getTableName()));
// 設定任務
task.short_description = current.short_description;
task.assigned_to = signer_id;
task.description = 'Agreement: ' + '\'' + agreement_name + '\'' +
' 已提交供您簽署。\n' +
'若要簽署,請使用以下任一方式:\n' +
前往:「Self-Service > Adobe Sign > For Signature」,或
'- 按一下 \'Adobe Acrobat Sign\' 中 Agreement 的連結 '+
'相關清單 (下方)。';
// Agreement 選項 (agreement 記錄上的欄位)
var options = {
submit_as_draft: true // 先在 Adobe 中審閱合約,再傳送
};
// 建立物件以協助簽署流程
var adobe = new x_adosy_as.AdobeSign();
// 建立協議,並提供任務記錄作為主旨
adobe.createAgreement(agreement_name, task, options);
// 新增文件模板。
adobe.addDocument(document_template);
// 新增簽署者。 這可能是使用者 sys_ids 或電子郵件。
adobe.addSigner(signer_id);
// 將合約提交給 Adobe。
adobe.submitAgreement();
})();
您現在可以設定指令碼動作,以便在合約完成時自動將目錄任務設定為已關閉完成狀態。您必須設定指令碼動作,以便由 Agreement 表格上的 x_adosy_as.agreement.complete 事件觸發。
若要建立新的指令碼動作:
- 導覽至系統原則 > 事件 > 指令碼動作,然後按一下新增。
- 在新的指令碼動作頁面上:
- 為指令碼動作命名。
- 將事件名稱設定為x_adosy_as.agreement.complete。
- 選取「啟用」核取方塊。
- 在指令碼欄位中,複製並貼上以下指令碼動作:範例程式碼中的指令碼。
- 在頁首列上按一下滑鼠右鍵,然後選取儲存。
指令碼動作:範例程式碼
// 指令碼動作可將目錄任務狀態設定為關閉完成
(function () {
var catalog_task = current.subject_id.getRefRecord();
if (!catalog_task.isValidRecord() || catalog_task.getTableName() != 'sc_task') {
return;
}
catalog_task.state = 3; // 已關閉完成
catalog_task.update();
})();
導覽至「系統定義」 > 「UI 動作」,然後選取「新增」。
或者,從合約 [ast_contract] 表單,按一下滑鼠右鍵,然後選取「設定 > UI 動作 > 新增」。
在 UI 動作新紀錄頁面上,輸入以下詳細資訊:
- 確保表格為「合約 [ast_contract]」。
- 在「名稱」欄位中,提供紀錄的名稱。
- 從「表格」下拉式選單,選取表格。
- 輸入順序。
- 選取「啟用」核取方塊。
- 選取「顯示插入」核取方塊。
- 選取「顯示更新」核取方塊。
- 選取「表單按鈕」核取方塊。
- 完成後,在頂端列按一下滑鼠右鍵,然後選取「儲存」。
這會儲存表單並重新載入。
在「條件」欄位中,輸入顯示 UI 動作的條件。
目前範例選取的條件為:'current.state == 'draft' andand current.substate == 'under_review' andand !current.approver.nil()'。
在「指令碼」欄位中,輸入程式碼 (請參考以下範例程式碼) 來建立協議記錄、設定特定欄位值,並將其提交至 Adobe Acrobat Sign。
您提供的程式碼可能會根據您的特定要求而有所不同,但一般原則是適用的。
文件模板的硬編碼 sys_id 是指我們在範例中使用的模板。
您的範本將是您建立的範本 (如需建立範本的詳細資訊,請參閱「建立本機範本」)。
// 建立新 Adobe Acrobat Sign 協議的範例 UI 動作
(function() {
// 協議名稱
var agreement_name = 'Contract: ' + current.short_description;
// 此動作的文件模板硬編碼 sys_id
var document_template = '6d0cdc26db708c50257e73278c9619c4'; // Contract
// 建立物件以協助簽署流程
var adobe = new x_adosy_as.AdobeSign();
// 建立協議並提供目前記錄作為主旨
adobe.createAgreement(agreement_name, current);
// 新增文件範本。這也可能是附件 sys_id。
adobe.addDocument(document_template);
// 新增簽署者。這可能是使用者 sys_ids 或電子郵件地址。
adobe.addSigner(current.approver);
// 將合約提交至 Adobe。
adobe.submitAgreement();
// 將使用者重新導向回此記錄。
action.setRedirectURL(current);
})();
您可以使用內部 API 輕鬆擴充 Adobe Acrobat Sign 應用程式,以便與任何流程搭配使用。 API 可透過 x_adosy_as 命名空間存取。
AdobeSign()
建立 AdobeSign 實例。
範例:
// 建立新的 AdobeSign 實例
var adobe = new x_adosy_as.AdobeSign();
#addCcUser(String user_id)
將副本項目新增至目前合約,與非參與使用者共用。未註冊為 ServiceNow 使用者的人員可透過提供電子郵件地址進行新增。
參數:
名稱 |
類型 |
狀態 |
描述 |
user_id |
字串 |
必要 |
使用者的 sys_id 或電子郵件。 |
傳回:
類型 |
描述 |
void |
方法不會傳回值 |
範例:
// 將副本使用者新增至合約
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement('My Agreement');
adobe.addCcUser(current.requested_by);
adobe.addCcUser('abel.tuter@example.com');
#addDocument(String doc_selector, Object merge_data)
將文件或範本新增至目前合約。
參數:
名稱 |
類型 |
狀態 |
描述 |
doc_selector |
字串 |
必要 |
範本的名稱,或範本或附件的 sys_id。 |
merge_data |
物件 |
可選 |
文件欄位名稱與文件欄位值的鍵值物件。 |
回傳值:
類型 |
描述 |
字串 |
如果成功,會傳回已建立來源文件記錄的 sys_id。 |
範例:
// 使用範本建立合約
var template_id = '2a9b1f57db508810257e73278c9619dc';
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement('My Agreement');
adobe.addDocument(template_id);
#addElectronicSeal(String seal_id)
在目前合約中新增電子印章。
參數:
名稱 |
類型 |
狀態 |
描述 |
seal_id |
字串 |
必要 |
要新增的電子印章的 sys_id、名稱或印章 ID。 |
回傳值:
類型 |
描述 |
String|Boolean |
新參與者記錄的 sys_id,如果找不到印章則回傳 false。 |
範例:
// 在合約中新增電子印章
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement('My Agreement');
adobe.addElectronicSeal('<SEAL>');
#addParticipant(String user_id, String participant_role)
addSigner() 的替代方法,可讓參與者以指定角色新增至合約中。未註冊為 ServiceNow 用戶的參與者可透過提供電子郵件地址來新增。
注意:此方法只能用於已儲存至資料庫的現有合約記錄。
參數:
名稱 |
類型 |
狀態 |
描述 |
user_id |
字串 |
必要 |
使用者的 sys_id 或電子郵件。 |
角色 |
字串 |
可選 |
參與者在協議中的角色。預設為 SIGNER。其他值包括 APPROVER、ACCEPTOR、CERTIFIED_RECIPIENT、FORM_FILLER。 |
傳回:
類型 |
描述 |
字串|布林值 |
新參與者記錄的 sys_id,如果找不到使用者記錄或沒有電子郵件地址,則為 false。 |
範例:
// 新增參與者至協議
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement('My Agreement');
adobe.addParticipant('abel.tuter@example.com', 'APPROVER');
#addSigner(String user_id)
新增簽署者至目前的協議。未註冊為 ServiceNow 使用者的簽署者可透過提供電子郵件來新增。
參數:
名稱 |
類型 |
狀態 |
描述 |
user_id |
字串 |
必要 |
使用者的 sys_id 或電子郵件。 |
傳回:
類型 |
描述 |
void |
方法不傳回值。 |
範例:
// 新增參與者至協議
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement('My Agreement');
adobe.addSigner('abel.tuter@example.com');
#copySignedDocumentToRecord(GlideRecord record)
將協議的已簽署文件複製到另一個記錄。
參數:
名稱 |
類型 |
狀態 |
描述 |
錄製 |
GlideRecord |
必要 |
要複製已簽署文件的目標記錄。 |
傳回:
類型 |
描述 |
String|Boolean |
新附件的 sys_id,如果操作失敗則為 false。 |
範例:
// 取得目標記錄
var target = new GlideRecord('...');
// 將已簽署文件從協議複製到目標
var adobe = new x_adosy_as.AdobeSign();
adobe.setAgreementRecord(agreement);
adobe.copySignedDocumentToRecord(target);
#copySignedDocumentToSubject()
將協議的已簽署文件複製到其主體記錄。
傳回:
類型 |
描述 |
String|Boolean |
新附件的 sys_id,如果操作失敗則為 false。 |
範例:
// 將已簽署文件從協議複製到主旨記錄
var adobe = new x_adosy_as.AdobeSign();
adobe.setAgreementRecord(agreement);
adobe.copySignedDocumentToSubject();
#createAgreement(String name, GlideRecord subject, Object option
建立合約。可由需要設定新合約的指令碼使用。
參數:
名稱 |
類型 |
狀態 |
描述 |
名稱 |
字串 |
必要 |
合約名稱。 |
subject |
GlideRecord |
可選 |
主旨記錄,例如合約或請求 |
選項 |
物件 |
可選 |
合約記錄欄位名稱與值的鍵值物件。 |
傳回:
類型 |
描述 |
字串|null |
新合約的 sys_id 或 null。 |
範例:
// 建立新的草稿合約
var options = {
submit_as_draft: true
};
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement("My Agreement", current, options);
#getAgreement()
取得目前範圍內的合約執行個體。
傳回:
類型 |
描述 |
Agreement|null |
合約執行個體或 null。 |
範例:
// 取得合約執行個體
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement("My Agreement", current, options);
var agreement = adobe.getAgreement();
#getAgreementRecord()
傳回目前的合約記錄。
傳回:
類型 |
描述 |
GlideRecord|null |
目前的合約記錄,或 null。 |
範例:
// 取得合約記錄
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement("My Agreement", current, options);
var agreement = adobe.getAgreementRecord();
#saveAgreement(String state)
儲存目前的合約記錄。可選擇傳入合約狀態。除非狀態參數設為「Ready」,否則不會觸發提交至 Adobe Acrobat Sign。
參數:
名稱 |
類型 |
狀態 |
描述 |
state |
字串 |
可選 |
合約的狀態。 |
傳回:
類型 |
描述 |
字串 |
已儲存合約記錄的 sys_id,或 null。 |
範例:
// 建立合約
var adobe = new x_adosy_as.AdobeSign();
adobe.createAgreement('My Agreement');
adobe.addSigner('abel.tuter@example.com');
adobe.saveAgreement();
#setAgreementRecord(String|GlideRecord agreement)
將合約內容設為指定的記錄。
參數:
名稱 |
類型 |
狀態 |
描述 |
合約 |
GlideRecord|String |
必要 |
合約記錄。 |
傳回:
類型 |
描述 |
void |
方法不傳回值。 |
範例:
// 處理合約
var adobe = new x_adosy_as.AdobeSign();
adobe.setAgreementRecord(agreement);
#setSubject(GlideRecord subject
設定合約的主旨記錄。
參數:
名稱 |
類型 |
狀態 |
描述 |
subject |
GlideRecord |
必要 |
主旨記錄。 |
傳回:
類型 |
描述 |
void |
方法不傳回值。 |
範例:
// 取得主旨記錄
var subject = new GlideRecord('...')
// 更新合約的主旨
var adobe = new x_adosy_as.AdobeSign();
adobe.setAgreementRecord(agreement);
adobe.setSubject(subject);
adobe.saveAgreement();
#submitAgreement()
儲存目前的合約並將其狀態設為「準備就緒」以提交至 Adobe Acrobat Sign。
傳回:
類型 |
描述 |
字串 |
已儲存合約記錄的 sys_id,或 null。 |
範例:
// 提交合約
var adobe = new x_adosy_as.AdobeSign();
adobe.setAgreementRecord(agreement);
adobe.submitAgreement();
.canSend()
判斷目前使用者是否可以使用「使用 Adobe Acrobat 簽署」UI 動作。當執行個體不是 FedRAMP 或目前使用者具有傳送者角色時,才允許傳送。
傳回:
類型 |
描述 |
布林值 |
如果使用者可以傳送,則為真。 |
範例:
// 檢查目前使用者是否可以傳送以供簽署
if(AdobeSign.canSend()) {
gs.addInfoMessage('此使用者可以使用簽署程序。');
} else {
gs.addErrorMessage('此使用者沒有使用簽署程序的權限。');
}
.getAgreements(String subject_table, String subject_id)
取得與主題相關的合約 GlideRecord 實例。
參數:
名稱 |
類型 |
狀態 |
描述 |
subject_table |
String|GlideRecord |
必要 |
主題表格名稱或主題記錄本身。 |
subject_id |
字串 |
可選 |
主體的 sys_id,同時也傳遞資料表名稱。 |
傳回值:
類型 |
描述 |
GlideRecord |
與主體相關的協議 GlideRecord 執行個體。 |
範例:
// 使用資料表名稱和 sys_id 取得協議
var agreement = x_adosy_as.AdobeSign.getAgreements('sc_req_item', '<sys_id>');
while (agreement.next()) {
gs.addInfoMessage(agreement.getDisplayValue());
}
// 使用 GlideRecord 取得協議
var req_item = new GlideRecord('sc_req_item');
req_item.get('<sys_id>');
var agreement = x_adosy_as.AdobeSign.getAgreements(req_item);
while (agreement.next()) {
gs.addInfoMessage(agreement.getDisplayValue());
}
.getMyAgreements(String query)
取得屬於使用者的協議 GlideRecord 執行個體。此方法依賴屬性 x_adosy_as.my_agreements_query 進行初始查詢。可以使用查詢參數新增其他查詢篩選器。
參數:
名稱 |
類型 |
狀態 |
描述 |
|
query |
字串 |
可選 |
可選編碼查詢,用於進一步限制協議清單。 |
|
傳回值:
類型 |
描述 |
GlideRecord |
屬於使用者的協議。 |
範例:
// 取得目前使用者已完成的合約
var query = 'state=Complete^ORDERBYsys_created_on';
var agreement = x_adosy_as.AdobeSign.getMyAgreements(query);
while (agreement.next()) {
gs.addInfoMessage(agreement.getDisplayValue());
}
.isFedRamp()
判斷系統是否已連線至 Adobe FedRAMP (政府雲端)。
傳回:
類型 |
描述 |
布林值 |
如果 x_adosy_as.fedramp 屬性設定為 "true",則為真。 |
範例:
// 檢查是否使用 FedRAMP 連線
if(x_adosy_as.AdobeSign.isFedRamp()) {
gs.addInfoMessage('Acrobat Sign 正在使用政府雲端連線。');
} else {
gs.addErrorMessage('Acrobat Sign 未使用政府雲端連線。');
}