---
title: Adobe Sign via workflows
slug: adobe-sign-via-workflows
docTags: 
createdAt: 2026-09-11T09:24:13.090Z
---

## How it works

To validate Adobe Sign functionality create 2 workflows + Adobe Sign Form:&#x20;

**Adobe sign process&#x20;**(Use Process + Process Properties jsons from **adobe-sign implementation.md** file below)


::Image[]{src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/HvnM9JFBfRl50rjjNSklH_adobesignprocess.png" size="40" isUploading="false" width="257" height="855" darkWidth="257" darkHeight="855" showCaption="false"}

And **Webhook\_process&#x20;**(Use Webhook Process + Process Properties jsons from **adobe-sign implementation.md** file)



::Image[]{src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/6kPjWWDJI09o7gKND1mWI_image.png" size="30" isUploading="false" width="255" height="556" darkWidth="255" darkHeight="556" showCaption="false"}

Create new Form (Templates - Forms - Adobe Sign). Use Adobe sign form json from **adobe-sign-implementation.md** file)


![](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/GoOdI4gSeyNjVKAe68k2Z_image.png)

## Environment setup

To setup Test user&#x20;
Open: [https://secure.adobesign.com/public/login](https://secure.adobesign.com/public/login)
Ask Ilya to provide creds to login.
Open link: [https://eu1.documents.adobe.com/account/accountSettingsPage#pageId\::ACCESS\_TOKENS ](https://eu1.documents.adobe.com/account/accountSettingsPage#pageId\::ACCESS_TOKENS) and generate new Integration Key



![](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/eIRcSJa-4I239ryUgP7dy_int-key.png)

Add new user to all relevant nodes.
f.e.&#x20;
**Title**: AdobeSign
**Name**: Authorization
**Value**: Bearer \{Integration Key}

![](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/JbSLTt3rSRqnsH4OaMl3u_2.png)

⚠️ **Most common registration failure:**&#x20;

Adobe verifies a webhook URL with an HTTPS GET before it ever delivers events. If the trigger node is already set to POST at that moment, verification failure and the webhook is never created.

## QA verification walkthrough

1. **Run AdobeSignProcess.** Trigger a fresh run and let it complete through to Generate form URL.

![](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/4Xbb-TnXltm2AR_RtIgng_adobe-url.png)

2. **Sign the document.** Open the generated URL, sign the agreement in the embedded widget, and confirm the signature.
3. **Refresh WebhookProcess.** Refresh the process's run table and open the most old created row. (Trace from the bottom row upward)
4. **Check the first event.** Open the process overview for that run and inspect the Webhook node's request body. Rows list: oldest first, so — "event": "AGREEMENT\_CREATED".
5. **Trace the status progression.** Step through the following rows in order and confirm event advances until the final row reads "event": "AGREEMENT\_WORKFLOW\_COMPLETED".

![](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/oLjfFS0bJ6TZt8lg7jhPB_image.png)

6. **Cross-check in Adobe Sign.** On the Adobe Sign home page, confirm the agreement now shows as signed. ([https://eu1.documents.adobe.com/account/homeJS](https://eu1.documents.adobe.com/account/homeJS))
7. **Find the record in HyperPortal.** In the workflows dashboard, search for: **Form Adobe Sign** and open the corresponding row.&#x20;

![](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/Z9iZCZVlmc3QGs-0hy6Yc_formscreen.png)

8. **Confirm the signed copy.** contractSigned should read **Yes**. Open **SignLink** to confirm the executed document.&#x20;

![](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/FqwoVNi_hlUM1bEMewFZ3_image.png)

## Acceptance criteria

- PDF generated in HyperPortal is uploaded to Adobe Sign as a transient document and converted into an active agreement.
- The signing link opens a working, mobile-responsive pop-up with no login required.
- Signature is captured and Adobe Sign returns a completed/signed status.
- The webhook is received and correctly updates the internal document/customer record.
- The fully executed PDF is automatically retrieved and stored in HyperPortal against the correct record.
- At least one downstream action (e.g. status visible to the dealer) fires on completion.
- Expired, already-signed and declined states are handled gracefully in the UI.

## Document with the Technical Implementation

::File{src="https://api.archbee.com/api/presign/5goaGPkGyPYxtK7K75CEC/aup8Ba-GtY37InyV4PFUv_adobe-sign-implementation.md" label="adobe-sign implementation.md" isUploading="false"}



