{"id":13405946,"url":"https://github.com/symblai/getting-started-samples","last_synced_at":"2025-03-18T00:17:18.081Z","repository":{"id":51254467,"uuid":"251393639","full_name":"symblai/getting-started-samples","owner":"symblai","description":"Code samples to Get started quickly with Symbl's Voice SDK and APIs: Node.js, JavaScript, WebSockets, \u0026 PSTN. ","archived":false,"fork":false,"pushed_at":"2024-02-27T03:58:32.000Z","size":7061,"stargazers_count":17,"open_issues_count":9,"forks_count":17,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-07-31T19:48:26.396Z","etag":null,"topics":["conversational-ai","nodejs","pstn","pstn-dial","realtime","sip","speech-recognition","symbl","telephone-call","topics-modeling","voice-sdk","websocket"],"latest_commit_sha":null,"homepage":"https://docs.symbl.ai","language":"Shell","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/symblai.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-30T18:28:43.000Z","updated_at":"2024-07-13T13:35:30.000Z","dependencies_parsed_at":"2024-10-26T01:40:10.227Z","dependency_job_id":"83c2c8d8-4784-46fd-b4e2-044c85adbfac","html_url":"https://github.com/symblai/getting-started-samples","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symblai%2Fgetting-started-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symblai%2Fgetting-started-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symblai%2Fgetting-started-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symblai%2Fgetting-started-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/symblai","download_url":"https://codeload.github.com/symblai/getting-started-samples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244130306,"owners_count":20402756,"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":["conversational-ai","nodejs","pstn","pstn-dial","realtime","sip","speech-recognition","symbl","telephone-call","topics-modeling","voice-sdk","websocket"],"created_at":"2024-07-30T19:02:16.723Z","updated_at":"2025-03-18T00:17:18.053Z","avatar_url":"https://github.com/symblai.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Getting Started - Examples/Samples\n\nSymbl's APIs empower developers to enable: \n- **Real-time** analysis of free-flowing discussions to automatically surface highly relevant summary discussion topics, contextual insights, suggestive action items, follow-ups, decisions, and questions.\n- **Voice APIs** that makes it easy to add AI-powered conversation intelligence to either [Telephony][telephony], [Streaming][streaming], or [Async][async] interfaces.\n- **Conversation APIs** that provide a REST interface for managing and processing your conversation data.\n- **Summary UI** with a fully customizable and editable reference experience that indexes a searchable transcript and shows generated actionable insights, topics, timecodes, and speaker information.\n\n\u003chr /\u003e\n\n## List of Examples as Code\n\n### Upload a Conversation using the Async APIs\n\nThe Async APIs allow individuals to obtain conversation intelligence on offline, pre-recorded conversations in an audio format (mp3, wav, etc). These examples demonstrate how to upload an audio or video files for processing.\n\n- [Action-Items](./examples/node/async-upload/action-items)\n- [Analytics](./examples/node/async-upload/analytics)\n- [Entities](./examples/node/async-upload/entites)\n- [Follow-Ups](./examples/node/async-upload/follow-ups)\n- [Messages](./examples/node/async-upload/messages)\n- [Questions](./examples/node/async-upload/questions)\n- [Summary](./examples/node/async-upload/summary)\n- [Topics](./examples/node/async-upload/topics)\n- [Trackers](./examples/node/async-upload/trackers)\n\n### Reference a URL using the Async APIs\n\n- Action-Items: TODO\n- Analytics: TODO\n- Entities: TODO\n- Follow-Ups: TODO\n- Messages: TODO\n- Questions: TODO\n- Summary: TODO\n- Topics: TODO\n- Trackers: TODO\n- Summary UI for Audio: TODO\n- [Summary UI using a Video](./examples/node/async-url/summary-ui-video)\n\n### Management (Tracker management)\n\nThe Management APIs allows individuals to create, list, delete Trackers that can be used\nto highlight important or significant words, topics, etc in a given conversation.\n\n- [Create a Tracker](./examples/node/management/create)\n- [List all Trackers](./examples/node/management/list)\n- [Delete a Tracker](./examples/node/management/delete)\n\n### Real-time\n\nThese example applications use WebSockets in order to using the Streaming APIs\nget real-time analysis on conversation for a variety of intelligence metrics. These\nexamples make use of the Microphone in order to demonstrate the real-time\nanalytics capabilities.\n\n- [Topics](./examples/node/realtime/topics)\n- [Trackers](./examples/node/realtime/trackers)\n- [Questions](./examples/node/realtime/questions)\n- [Action-Items](./examples/node/realtime/action-items)\n\n### Telephony\n\nThese example applications the Telephony APIs to get real-time analysis on conversation\nfor a variety of intelligence metrics.\n\n- [Passing different Audio Codecs](./examples/node/telephony/custom-audio-config)\n- [Realtime Output with PSTN Dialin using Voice SDK](./examples/node/telephony/realtime-insights-transcription)\n  - Get the live transcription and insights events in a Telephone call.\n- [Intent Detection with PSTN Dial-In using Voice SDK](./examples/node/telephony/realtime-intent-detection)\n  - Get the intents, real-time in a Telephone call.\n- [PSTN Dial-in using Voice SDK](./examples/node/telephony/speaker-events)\n  - Establishes a connection using a phone number through PSTN, to send speaker\n    events, generate insights, and display a summary URL with the output. You\n    can see how to initialize the Voice SDK, connect to the endpoint, push\n    speaker events and get the summary URL.\n\n\u003e **_NOTE:_** Validation on the `Telephony` examples are still pending. If you notice an issue, drop us a line!\n\n## Install\n\nClone this repo on your machine and perform npm install.\n\n```bash\ngit clone https://github.com/symblai/getting-started-samples.git\ncd getting-started-samples\nnpm install  # Alternatively, you can also use yarn\n```\n\nCode samples in this repo use [dotenv](https://github.com/motdotla/dotenv) for\nconfigurations. Make copy of `.env.default` file as `.env`.\n\n```bash\ncp .env.default .env\n```\n\nUpdate `APP_ID`, `APP_SECRET`, and `SUMMARY_EMAIL` with valid values. You are\ngoing to new a Symbl account. If you don't have one, you can [sign up here][symbl_signup]\nfor a free account which will allow you to process 1,000 minutes of conversation each month.\nUpdate any additional configuration such as `DEFAULT_PHONE_NUMBER` may be required for\na particular sample to work properly.\n\n## Run\n\nMake sure your `.env` file is configured correctly.\n\nOnce you've configured the above, execute the `run-examples.sh` script.\n\n```\nSyntax: \u003cSDK_LANG=lang\u003e run-example.sh [API_TYPE] \u003cPROJECT_NAME\u003e \u003cPARAM=VALUE\u003e\n \nRequired Parameters:\n- API_TYPE (required): async-upload, realtime or telephony\n \nOptional parameters:\n- PROJECT_NAME (optional): if missing, will provide a list of projects\n- SDK_LANG (optional): environment variable to select the language\n- \u003cPARAM=VALUE\u003e (optional): some action require user input\n \nExamples:\nTo list examples for streaming projects, run:\nrun-example.sh realitime\n \nTo the realtime tracker example, run:\nrun-example.sh realitime tracker\n```\n\n## Testing for PSTN\n\nIf you're dialing to a regular phone number then you will receive a call. If\nyou've dialed into a meeting platform, you'll see another participant join the\nmeeting. Begin speaking after you see new participant, the call will end and\nyou'll receive an email with the generated insights if you have passed valid\nemail Id in the code.\n\n## Community\n\nIf you have any questions, feel free to reach out to us at devrelations@symbl.ai or through our [Community Slack][slack] or our [forum][developer_community].\n\nThis guide is actively developed, and we love to hear from you! Please feel free to [create an issue][issues] or [open a pull request][pulls] with your questions, comments, suggestions and feedback.  If you liked our integration guide, please star our repo!\n\nThis library is released under the [MIT License][license]\n\n[telephony]: https://docs.symbl.ai/docs/telephony/overview/post-api\n[streaming]: https://docs.symbl.ai/reference/streaming-api-reference\n[async]: https://docs.symbl.ai/reference/async-api-1\n[developer_community]: https://community.symbl.ai/?_ga=2.134156042.526040298.1609788827-1505817196.1609788827\n[slack]: https://join.slack.com/t/symbldotai/shared_invite/zt-4sic2s11-D3x496pll8UHSJ89cm78CA\n[signup]: https://platform.symbl.ai/?_ga=2.63499307.526040298.1609788827-1505817196.1609788827\n[issues]: https://github.com/symblai/getting-started-samples/issues\n[pulls]: https://github.com/symblai/getting-started-samples/pulls\n[license]: LICENSE\n[symbl_signup]: https://platform.symbl.ai/signup?utm_source=symbl\u0026utm_medium=blog\u0026utm_campaign=devrel\u0026_ga=2.226597914.683175584.1662998385-1953371422.1659457591\u0026_gl=1*mm3foy*_ga*MTk1MzM3MTQyMi4xNjU5NDU3NTkx*_ga_FN4MP7CES4*MTY2MzEwNDQyNi44Mi4xLjE2NjMxMDQ0MzcuMC4wLjA.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsymblai%2Fgetting-started-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsymblai%2Fgetting-started-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsymblai%2Fgetting-started-samples/lists"}