{"id":17331147,"url":"https://github.com/abbi-gaurav/prototype-docusign-kyma","last_synced_at":"2025-03-27T06:14:08.009Z","repository":{"id":56648132,"uuid":"223410040","full_name":"abbi-gaurav/prototype-docusign-kyma","owner":"abbi-gaurav","description":"A prototype integration between DocuSign and Kyma","archived":false,"fork":false,"pushed_at":"2020-10-27T09:46:39.000Z","size":5640,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T11:16:03.486Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abbi-gaurav.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-22T13:30:12.000Z","updated_at":"2020-04-03T09:24:34.000Z","dependencies_parsed_at":"2022-08-15T22:31:44.450Z","dependency_job_id":null,"html_url":"https://github.com/abbi-gaurav/prototype-docusign-kyma","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abbi-gaurav%2Fprototype-docusign-kyma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abbi-gaurav%2Fprototype-docusign-kyma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abbi-gaurav%2Fprototype-docusign-kyma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abbi-gaurav%2Fprototype-docusign-kyma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abbi-gaurav","download_url":"https://codeload.github.com/abbi-gaurav/prototype-docusign-kyma/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245791971,"owners_count":20672671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T14:53:37.553Z","updated_at":"2025-03-27T06:14:07.981Z","avatar_url":"https://github.com/abbi-gaurav.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nA sample integration of [DocuSign](https://www.docusign.com/) with [Kyma](https://kyma-project.io) to demonstrate how Kyma can be leveraged to enable side-by-side extensibility flows for DocuSign when used with SAP applications such as SAP Service Cloud.\n\nIt uses a [DocuSign addons connector](./addons) to connect DocuSign with Kyma.\n\n## Demo workshop\n\n### What will be covered?\n* Set up connectivity between DocuSign and Kyma\n* Deploy an example lambda that\n  * Is executed on DocuSign Envelope events\n  * Makes API calls to DocSign\n\n### Prerequisites\n\n* DocuSign tenant.\n* APIs and Keys already configured in DocuSign. We will be using `X-DocuSign-Authentication` based authentication to make API calls. Refer to this [documentation](https://developers.docusign.com/esign-soap-api/reference/Introduction-Changes/Authentication) for further details.\n* DocuSign tenant URL to make API calls,  Username, password and Integrator Key are handy to be used later.\n* A running Kyma instance\n\n### Steps\n\n* Create a new namespace in Kyma. We will be doing the whole workshop by deploying resources and workloads in this namespace.\n![](./assets/steps/add-new-ns.png)\n![](./assets/steps/create-ns.png)\n\n* Navigate back to Kyma console main. Create a new Kyma application for connecting DocuSign. \nThink of `Kyma application` as a proxy for the actual DocuSign Tenant to which APIs and events connectivity will be achieved.\nNext step is to bind the application to the namespace. By binding, we are essentially saying that workloads running in this namespace has access to data coming from this application (namely Events and APIs).\n![](./assets/steps/to-main.png)\n![](./assets/steps/create-application.png)\n![](./assets/steps/bind-application-to-ns.png)\n\n* Lets go back to our namespace.\nProvision the addon. This addon will then provide us a connector that will be used to establish connectivity between Kyma and DocuSign.\nFor the URL, provide `git::https://github.com/abbi-gaurav/prototype-docusign-kyma//addons/index.yaml?ref=master`.\nOnce addon is deployed, the connector will be avaialble in `Catalog-\u003eaddons`. \n![](./assets/steps/back-to-ns.png)\n![](./assets/steps/addons-config.png)\n![](./assets/steps/catalog-docusign-connector.png)\n\n* Provision the connector. Provide the details as required to make API calls to DocuSign.\nAdditionally provide the basic authentication details for the event gateway that will receive DocuSign events.\n![](./assets/steps/provision-connector.png)\n\n* Post provisioning, DocuSign APIs and events will be available in `Catalog-\u003eServices` section.\nAdd once both APIs and events.\n![](./assets/steps/apis-and-events.png)\n![](./assets/steps/events-add-once.png)\n![](./assets/steps/create-api-instance.png)\n\n* Lets configure the DocuSign to be able to send events to Kyma.\nKyma API has already been deployed as a part of the connector. It exposes an URL over internet that will receive DocuSign events and will forward it to Kyma.\nLets go ahead and configure this URL in DocuSign admin console.\n![](./assets/steps/kyma-api-event-gateway.png)\n![](./assets/steps/docusign-add-connect-config.png)\n![](./assets/steps/docusign-create-connect.png)\n![](./assets/steps/docusign-connect-events.png)\n\n* Lets take a minute to understand what we have acheived so far. We have now enable APIs and events connectivity with DocuSign. \nThat implies, \n  * Workloads in Kyma (lambdas, microservices) can now be triggered with DocuSign events.\n  * Lambdas and microservices from Kyma can make API calls to DocuSign.\n![](./assets/docusign-config-done.png) \n\n* Lets take it to next part and write a lambda that \n  * will be triggered by a DocuSign event.\n  * Make an API call back to DocuSign.\n\n* Create a lambda, select event trigger. Use the [application code](./assets/lambda/demo-docusign-connector.js) and [npm dependencies](./assets/lambda/package.json).\nConfigure the Service binding that will enable making API calls back to DocuSign.\n![](./assets/steps/lambda-event-trigger.png)\n![](./assets/steps/lambda-code-dependencies.png)\n![](./assets/steps/do-service-binding.png)\n\n* In DocuSign, create a test envelope and sign it. The activity on DocuSign side will trigger the lambda and its logic will be executed.\nYou can check the lambda logs to see what is going.\n\n* Next action items for you, \n  * Write your own lambda. Add logic as per your business scenario.\n  * Integrate with other SAP systems and also third party systems.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabbi-gaurav%2Fprototype-docusign-kyma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabbi-gaurav%2Fprototype-docusign-kyma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabbi-gaurav%2Fprototype-docusign-kyma/lists"}