Skip to content

Code samples to Get started quickly with Symbl's Voice SDK and APIs: Node.js, JavaScript, WebSockets, & PSTN.

License

Notifications You must be signed in to change notification settings

symblai/getting-started-samples

Repository files navigation

Getting Started - Examples/Samples

Symbl's APIs empower developers to enable:

  • 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.
  • Voice APIs that makes it easy to add AI-powered conversation intelligence to either Telephony, Streaming, or Async interfaces.
  • Conversation APIs that provide a REST interface for managing and processing your conversation data.
  • 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.

List of Examples as Code

Upload a Conversation using the Async APIs

The 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.

Reference a URL using the Async APIs

  • Action-Items: TODO
  • Analytics: TODO
  • Entities: TODO
  • Follow-Ups: TODO
  • Messages: TODO
  • Questions: TODO
  • Summary: TODO
  • Topics: TODO
  • Trackers: TODO
  • Summary UI for Audio: TODO
  • Summary UI using a Video

Management (Tracker management)

The Management APIs allows individuals to create, list, delete Trackers that can be used to highlight important or significant words, topics, etc in a given conversation.

Real-time

These example applications use WebSockets in order to using the Streaming APIs get real-time analysis on conversation for a variety of intelligence metrics. These examples make use of the Microphone in order to demonstrate the real-time analytics capabilities.

Telephony

These example applications the Telephony APIs to get real-time analysis on conversation for a variety of intelligence metrics.

NOTE: Validation on the Telephony examples are still pending. If you notice an issue, drop us a line!

Install

Clone this repo on your machine and perform npm install.

git clone https://github.com/symblai/getting-started-samples.git
cd getting-started-samples
npm install  # Alternatively, you can also use yarn

Code samples in this repo use dotenv for configurations. Make copy of .env.default file as .env.

cp .env.default .env

Update APP_ID, APP_SECRET, and SUMMARY_EMAIL with valid values. You are going to new a Symbl account. If you don't have one, you can sign up here for a free account which will allow you to process 1,000 minutes of conversation each month. Update any additional configuration such as DEFAULT_PHONE_NUMBER may be required for a particular sample to work properly.

Run

Make sure your .env file is configured correctly.

Once you've configured the above, execute the run-examples.sh script.

Syntax: <SDK_LANG=lang> run-example.sh [API_TYPE] <PROJECT_NAME> <PARAM=VALUE>
 
Required Parameters:
- API_TYPE (required): async-upload, realtime or telephony
 
Optional parameters:
- PROJECT_NAME (optional): if missing, will provide a list of projects
- SDK_LANG (optional): environment variable to select the language
- <PARAM=VALUE> (optional): some action require user input
 
Examples:
To list examples for streaming projects, run:
run-example.sh realitime
 
To the realtime tracker example, run:
run-example.sh realitime tracker

Testing for PSTN

If you're dialing to a regular phone number then you will receive a call. If you've dialed into a meeting platform, you'll see another participant join the meeting. Begin speaking after you see new participant, the call will end and you'll receive an email with the generated insights if you have passed valid email Id in the code.

Community

If you have any questions, feel free to reach out to us at devrelations@symbl.ai or through our Community Slack or our forum.

This guide is actively developed, and we love to hear from you! Please feel free to create an issue or open a pull request with your questions, comments, suggestions and feedback. If you liked our integration guide, please star our repo!

This library is released under the MIT License