{"id":44132324,"url":"https://github.com/transcend-io/examples","last_synced_at":"2026-02-08T22:35:05.530Z","repository":{"id":38442520,"uuid":"238858287","full_name":"transcend-io/examples","owner":"transcend-io","description":"Some examples of integrations with Transcend in various languages.","archived":false,"fork":false,"pushed_at":"2025-12-20T20:20:02.000Z","size":15942,"stargazers_count":10,"open_issues_count":6,"forks_count":1,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-12-21T23:11:27.384Z","etag":null,"topics":["privacy","transcend"],"latest_commit_sha":null,"homepage":"https://docs.transcend.io/docs/silo-server","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/transcend-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-02-07T06:29:04.000Z","updated_at":"2025-10-14T01:16:17.000Z","dependencies_parsed_at":"2023-10-03T06:04:11.682Z","dependency_job_id":"807c21d7-fdb6-491a-a074-fd8b425e3d7d","html_url":"https://github.com/transcend-io/examples","commit_stats":{"total_commits":101,"total_committers":8,"mean_commits":12.625,"dds":0.7425742574257426,"last_synced_commit":"d8d41c96baed8666b961a26ac864df370b022947"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/transcend-io/examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transcend-io%2Fexamples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transcend-io%2Fexamples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transcend-io%2Fexamples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transcend-io%2Fexamples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transcend-io","download_url":"https://codeload.github.com/transcend-io/examples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transcend-io%2Fexamples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29248078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T21:42:34.334Z","status":"ssl_error","status_checked_at":"2026-02-08T21:41:38.468Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["privacy","transcend"],"created_at":"2026-02-08T22:35:04.834Z","updated_at":"2026-02-08T22:35:05.521Z","avatar_url":"https://github.com/transcend-io.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n## Table of Contents\n\n- [Examples](#examples)\n  - [What are these examples](#what-are-these-examples)\n  - [Try it in your environment](#try-it-in-your-environment)\n    - [TRANSCEND_API_KEY](#transcend_api_key)\n    - [SOMBRA_API_KEY](#sombra_api_key)\n    - [SOMBRA_URL](#sombra_url)\n    - [Audience](#audience)\n  - [Languages](#languages)\n  - [Try it on Replit](#try-it-on-replit)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n\u003e Try [**Custom Functions**](https://docs.transcend.io/docs/articles/integrations/custom/custom-functions)\n\u003e\n\u003e Custom Functions are serverless functions that execute on Sombra as part of a workflow. Unlike webhooks, Custom Functions require zero infrastructure to set up. Just write your code, and publish. With Custom Functions, you can easily extend Transcend's integration functionality to connect to any API or home-grown system.\n\n# Examples\n\nSome examples of how to integrate with Transcend in various languages. See [our documentation](https://docs.transcend.io/) for further information.\n\n- Javascript\n- Python\n- Ruby\n- Typescript\n- [Coming soon] Go\n\n## What are these examples\n\nThese examples are meant to show you what the integration will look like when you connect your internal systems to Transcend.\n\nEach language has an example of how to:\n\n- Verify a webhook that is sent from Transcend ([docs](https://docs.transcend.io/docs/receiving-webhooks))\n- Respond to ACCESS/ERASURE and other DSR webhooks ([docs](https://docs.transcend.io/docs/responding-to-dsrs))\n\nThe JavaScript folder also has an example of how to:\n\n- Perform identity enrichment by responding to a webhook ([docs](https://docs.transcend.io/docs/identity-enrichment))\n\nUsing [ngrok](https://ngrok.com/) you can actually [connect these examples](https://app.transcend.io/data-map/silos?integrationName=server) to your [Data Map](https://app.transcend.io/data-map).\n\n## Try it in your environment\n\nTo configure these examples, you will need to create a file named `.env` and fill it out with your configuration, or they can be set as environment variables\n\n```sh\nTRANSCEND_API_KEY=\"\u003cTODO\u003e\"\nSOMBRA_API_KEY=\"\u003cTODO\u003e\"\nSOMBRA_URL=\"https://\u003cTODO\u003e.sombra.transcend.io\"\nAUDIENCE=\"\u003cTODO\u003e\"\n```\n\n### TRANSCEND_API_KEY\n\nThis API key authenticates you to Transcend, and you can generate it on the [admin dashboard](https://app.transcend.io/settings#Developer).\nAPI keys must be scoped to the proper integration that you are responding to.\n\n### SOMBRA_API_KEY\n\nThis API key authenticates you to to your Sombra gateway.\n\n- If you're using \"Transcend Hosted - Multi Tenant\" Sombra (most common) you don't need to set this.\n- If you are self-hosting Sombra, you would have generated this at the time of setup and stored it securely.\n- If Transcend is hosting the gateway on your behalf in a single-tenant instance, you should reach out to your account manager to get this key.\n\nYou can see which version of the Sombra Gateway you are using by visiting [Infrastructure -\u003e Sombra](https://app.transcend.io/infrastructure/sombra/sombras) settings in the Admin Dashboard.\n\n### SOMBRA_URL\n\nThis is the URL of your Sombra gateway. You can find your URL by visiting [Infrastructure -\u003e Sombra](https://app.transcend.io/infrastructure/sombra/sombras) settings in the Admin Dashboard. This URL is the value titled \"CUSTOMER INGRESS URL\".\n\n\u003cimg width=\"1386\" alt=\"Screenshot 2023-02-19 at 2 00 52 PM\" src=\"https://user-images.githubusercontent.com/10264973/219977722-8c15be4d-2508-4090-b06a-0fbfa55c2d7b.png\"\u003e\n\n\n### Audience\n\nThis is the audience that you will verify is set on the incoming Json Web Tokens (JWTs). You can find your Sombra audience under [Infrastructure -\u003e Sombra](https://app.transcend.io/infrastructure/sombra/sombras) in the Admin Dashboard. This URL is the value titled \"SOMBRA AUDIENCE\".\n\n## Languages\n\nCheck out your language of choice for further details\n\n- [JavaScript](./javascript)\n- [Typescript](./typescript)\n- [Python](./python)\n- [Ruby](./ruby)\n\n## Try it on Replit\n\nIf you want to try out an example that is ready to run, you can head to Replit and fork the example.\n\nThe example is located [here](https://replit.com/@giacaglia/Webhook-Transcend?v=1). You will need to first fork the replit and then you can start running the code. The webhook url will be located in the url generated at the top right. You will need to update some of the secrets, including  `TRANSCEND_API_KEY`.\n\nHere are two videos of how to set it up on Replit: \n\n- [First part](https://www.loom.com/share/558f95537e27471b8bc8943cbf5c29d2)\n- [Second part](https://www.loom.com/share/2a6582166d284171893fe00f93629fd4)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftranscend-io%2Fexamples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftranscend-io%2Fexamples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftranscend-io%2Fexamples/lists"}