> ## Documentation Index
> Fetch the complete documentation index at: https://agenticbanking.backbase.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get started

> Configure and deploy the DocuSign Connector with Grand Central

export const VendorApiVersionTag = ({versions, label = "Supports"}) => {
  useEffect(() => {
    if (!versions || versions.length === 0) {
      return undefined;
    }
    const findAndSegmentStart = (reference, target) => {
      let i = 0;
      while (i < reference.length && i < target.length && reference[i] === target[i]) {
        i += 1;
      }
      let start = i;
      while (start > 0 && (/[0-9.vR]/).test(target[start - 1])) {
        start -= 1;
      }
      return start;
    };
    const formatText = () => {
      const suffix = " operations";
      if (versions.length === 1) {
        return `${label} ${versions[0]}${suffix}`;
      }
      const [first, ...rest] = versions;
      const last = rest[rest.length - 1];
      const andStart = findAndSegmentStart(first, last);
      const lead = first.slice(0, andStart);
      if (versions.length === 2) {
        return `${label} ${first} and ${last.slice(andStart)}${suffix}`;
      }
      const stems = versions.map(version => version.slice(andStart));
      return `${label} ${lead}${stems.slice(0, -1).join(", ")}, and ${stems[stems.length - 1]}${suffix}`;
    };
    const text = formatText();
    const mountCallout = () => {
      const titleRow = document.querySelector("#page-title")?.parentElement;
      if (!titleRow) {
        return null;
      }
      let callout = titleRow.querySelector("[data-vendor-api-version-callout='true']");
      if (!callout) {
        callout = document.createElement("div");
        callout.dataset.vendorApiVersionCallout = "true";
        callout.className = "vendor-api-version-callout vendor-api-version-callout--in-title";
        titleRow.appendChild(callout);
      }
      callout.replaceChildren();
      const textEl = document.createElement("span");
      textEl.className = "vendor-api-version-text";
      textEl.textContent = text;
      callout.appendChild(textEl);
      return callout;
    };
    let callout = mountCallout();
    if (callout) {
      return () => {
        callout?.remove();
      };
    }
    const observer = new MutationObserver(() => {
      callout = mountCallout();
      if (callout) {
        observer.disconnect();
      }
    });
    observer.observe(document.body, {
      childList: true,
      subtree: true
    });
    return () => {
      observer.disconnect();
      callout?.remove();
    };
  }, [versions, label]);
  return null;
};

export const vendorApiVersions = ["DocuSign API v2.1"];

<VendorApiVersionTag versions={vendorApiVersions} />

Configure and connect the DocuSign Connector to Grand Central.

## Prerequisites

Before you begin, confirm the following:

* You have completed the steps in [Get started](/connectors/getting-started).
* You have an active contract with DocuSign and your own accounts and credentials set for DocuSign services.

## Configuration

To configure your connector, follow these steps:

1. Set your API Management (APIM) subscription key in the header as follows:
   * Key: `api-key`
   * Value: `YOUR_SUBSCRIPTION_KEY`

2. Ask the Grand Central team to set up a connection with DocuSign, and provide the following details for JSON Web Token (JWT) generation:
   * `docusign-client-id`
   * `docusign-user-id`
   * `docusign-account-base-url`
   * `docusign-cert-thumbprint`

3. Configure the DocuSign `baseURL` in the `gc-applications-live` repository in the connector's `values.yaml` file:

   ```properties theme={"system"}
   # DocuSign environment base URL
   docusign.base.url=BASE_URL
   # DocuSign account ID
   docusign.account.id=ACCOUNT_ID
   ```

4. Verify the connector's `values.yaml` file location in the repository:

   ```text theme={"system"}
   ├── iPaaS
   └── azure/runtimes
       ├── dev
       └── test
           └── values
               └── gc-docusign
                   └── correspondence-v0.values.yaml
   ```

5. Register your environment callback URL (`{CORRESPONDENCE_INBOUND_BASE_URL}/webhooks/documents-signature`) in DocuSign Connect.

6. Configure how Grand Central receives asynchronous updates from DocuSign for real-time signing status processing in the `correspondence-inbound-v0.values.yaml` file. The following table lists the ASB configuration properties:

| Property              | Description                                       | Example value                                                      |
| :-------------------- | :------------------------------------------------ | :----------------------------------------------------------------- |
| `asb.event.version`   | Version of the Async Service Bridge (ASB) schema. | `1.0.0`                                                            |
| `asb.event.type`      | The ASB event type for outgoing messages.         | `com.backbase.correspondence.event.spec.v1.DocumentSignatureEvent` |
| `asb.event.source`    | The ASB source for outgoing messages.             | `com.backbase.correspondence`                                      |
| `asb.event.topic`     | The ASB topic for outgoing messages.              | `document-signature`                                               |
| `asb.producer.apiUri` | The callback URI for receiving incoming events.   | `http://asb-producer-v0.synchub-producer.svc.cluster.local`        |

## Test your integration

To use the Correspondence Unified API, include your Grand Central subscription key in the request header. If you don't have a key, contact the Grand Central team to have one provisioned.

The following table lists the header you must include on each request.

| Key       | Value                   |
| :-------- | :---------------------- |
| `api-key` | `YOUR_SUBSCRIPTION_KEY` |

For sample requests, import the [Postman collection](https://github.com/bb-ecos-ecos/grandcentral-documentation/blob/main/Postman-Collection/GC%20Correspondence%20-%20Unified%20API.postman_collection.json) from the Grand Central documentation repository.

## Troubleshooting

If your connector isn't responding as expected, check these common scenarios.

<AccordionGroup>
  <Accordion icon="lock" title="5xx: Internal server error or core system down">
    **Cause:** The Grand Central gateway can't establish a handshake with the DocuSign endpoint. This typically indicates an upstream service outage at DocuSign or a network routing failure.

    **Solution:** Verify the operational status of the DocuSign environment with DocuSign. If the service is operational, contact the [Grand Central team](mailto:gc_support@backbase.com).
  </Accordion>

  <Accordion icon="wifi-slash" title="5xx: Timeout or SocketTimeoutException">
    **Cause:** The request to DocuSign exceeded the configured timeout threshold. This can occur during high load or network latency issues.

    **Solution:** Verify the operational status of the DocuSign environment with DocuSign. If the service is operational, contact the [Grand Central team](mailto:gc_support@backbase.com) to review timeout configurations.
  </Accordion>

  <Accordion icon="key" title="Invalid authentication">
    **Cause:** The credentials provided during setup are incorrect.

    **Solution:** Verify your credentials with DocuSign and contact the Grand Central team to update the connection.
  </Accordion>

  <Accordion icon="gauge-high" title="429: Rate limit exceeded">
    **Cause:** The number of incoming requests exceeded the defined threshold for your subscription tier. This response protects the stability of the Grand Central and partner infrastructure.

    **Solution:** Review your application's request patterns to identify unexpected spikes. If you require higher throughput, contact the Grand Central team to request an adjustment to your APIM rate limit policy.
  </Accordion>
</AccordionGroup>

## Need more help?

<Card icon="envelope" href="mailto:support@grandcentral.io" title="Contact support">
  Reach out to the Grand Central team for assistance with environment setup or rate limit increases.
</Card>
