Skip to content

Commit

Permalink
Merge pull request #148 from symblai/develop
Browse files Browse the repository at this point in the history
Weekly merge to master
  • Loading branch information
pema-s authored Sep 3, 2021
2 parents c285a27 + f5e1e0f commit 4da4cc5
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 15 deletions.
6 changes: 4 additions & 2 deletions api-reference/getting-conversation-intelligence.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,12 @@ You can use the Conversation ID for the following use-cases:

- **Appending already processed data**: For conversations processed by Symbl, you can append data to it and have Symbl generate intelligence on it again. This requires a Conversation ID so that Symbl can identify the said conversation and append the same. For example, if you wish to append the transcript of a conversation, you have to send the appending text along with the `conversationId`.

- **For conversation processed using Real-time APIs**: While in most cases, the `conversationId` is used for non-real-time data gathering, it is also useful when you want to extract the conversation insights of real-time conversations again. For example, after a conversation via WebSocket protocol (Streaming API) has ended, you can use the Conversation ID to fetch Topics, Action Items, Questions, etc. again later.
- **For conversation processed using Real-time APIs**: While in most cases, the `conversationId` is used for non-real-time data gathering, it is also useful when you want to extract the conversation insights of real-time conversations again.

For example, after a conversation via WebSocket protocol (Streaming API) has ended, you can use the Conversation ID to fetch Topics, Action Items, Questions, etc. again later.

#### How to generate a Conversation ID

#### How to Generate a Conversation ID

Every time you process a conversation using Async, Telephony or Streaming APIs (and SDKs), you will, by default receive a unique Conversation ID specific to that request.
:::
Expand Down
6 changes: 6 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ import TabItem from '@theme/TabItem';

We continuously add new features and enhancements, fix critical bugs, and regularly deploy changes to improve performance. Keep a tab of our latest updates on this page.

### 2 Sep 2021

![sdk](/img/sdk-icon.png)
- **Symbl-Agora Marketplace Extension**: Availability of Symbl-Agora Marketplace Extension that allows you use the Symbl's Conversation Intelligence with the Agora SDK for Android applications. <br/>
[Read more here](/docs/integrations/agora-sdk-plugin).

### 19 Aug 2021

![sdk](/img/sdk-icon.png)
Expand Down
4 changes: 3 additions & 1 deletion pre-built-ui/experience-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ sidebar_label: Create Pre-built UI
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

---

This API returns the URL of the [Video Summary UI](#video-summary-ui) and [Text Summary UI](#text-summary-ui).

#### Video Summary UI Sample
Expand Down Expand Up @@ -224,4 +226,4 @@ Field | Description

:::caution
`disableSummaryURLAuthentication` is not supported as we accept only secure URL generation to comply with the mandatory security requirements.
:::
:::
4 changes: 4 additions & 0 deletions pre-built-ui/tuning-summary-page.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
---

id: tuning-summary-page
title: Tuning your Summary Page
sidebar_label: Tuning your Summary Page

---

---

You can choose to tune your Summary Page with query parameters in order to play with different configurations and see how the results look.
Expand Down
12 changes: 6 additions & 6 deletions python-sdk/async-video.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ print(conversation_object.get_topics())
# print(conversation_object.get_members())
```
:::note
Always prefix "r" before the file location in the code if you are using Windows system. Example: `file_path=r'c:/Users/john/Downloads/business_meeting.mp3`
Always prefix "r" before the file location in the code if you are using Windows system. Example: `file_path=r'c:/Users/john/Downloads/business_meeting.mp4`
:::

### Appending Video API
Expand Down Expand Up @@ -98,12 +98,12 @@ The URL provided must be a publicly available URL. Currently we do not any suppo
import symbl

request_body = {
'url': ‘https://symbltestdata.s3.us-east-2.amazonaws.com/playground_sample_audio.mp3’,
'url': ‘https://symbltestdata.s3.us-east-2.amazonaws.com/sample_video_file.mp4’,
'name': 'Business Meeting',
}


conversation_object = symbl.Audio.process_url(payload = request_body )
conversation_object = symbl.Video.process_url(payload = request_body )
print(conversation_object.get_messages())
print(conversation_object.get_topics())

Expand All @@ -118,19 +118,19 @@ print(conversation_object.get_topics())
To append an already processed video file via URL, use the `.append` function with `conversation_id` as shown below:

```py
conversation_object = symbl.Audio.append_url(payload=request_body, conversation_id='4639962491256832')
conversation_object = symbl.Video.append_url(payload=request_body, conversation_id='4639962491256832')
```
A complete sample for the `.append` function is given below:
```py
import symbl

request_body = {
'url': ‘https://symbltestdata.s3.us-east-2.amazonaws.com/playground_sample_audio.mp3’,
'url': ‘https://symbltestdata.s3.us-east-2.amazonaws.com/sample_video_file.mp4’,
'name': 'Business Meeting',
}


conversation_object = symbl.Audio.append_url(payload=request_body, conversation_id='4639962491256832')
conversation_object = symbl.Video.append_url(payload=request_body, conversation_id='4639962491256832')
print(conversation_object.get_messages())
print(conversation_object.get_topics())

Expand Down
34 changes: 28 additions & 6 deletions python-sdk/telephony-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ To view the source code, go to the [open-source repository](https://github.com/s

The Python SDK provides the following capabilities:

- [Credential Handling](#credential-handling)<br/>

- [Start connection using PSTN](#start-pstn-connection)<br/>

- [Stop connection](#stop-connection)
Expand All @@ -21,20 +23,39 @@ The Python SDK provides the following capabilities:
- [Subscribe to Events (transcript, questions, action-items, etc.)](#subscribe-to-events)<br/>


## Credential Handling

Symbl.ai's Python SDK simplifies the credential handling by allowing you either to add your credentials directly to the connection method's calls or else through a separate file saved to your execution directory.

To add your credentials directly to the connection method's calls, add the following line:

```python
credentials={app_id: <app_id>, app_secret: <app_secret>},
```

To handle credentials through a separate file saved your execution directory, add a file to your project called `symbl.conf` with the following configuration:

```python
[credentials]
app_id=
app_secret=
```

## Start PSTN Connection

The code snippet below allows you to start a Telephony connection with Symbl via PSTN protocol:

```py
import symbl

phoneNumber = "" #Zoom phone number. Can be found in invitation
meetingId = "" # Your zoom meetingId
password = "" # Your zoom meeting passcode
emailId = ""
phoneNumber = "" #A valid US phone number or a Zoom number
meetingId = "" #Your zoom meetingId, blank otherwise
password = "" # Your zoom meeting passcode, blank otherwise
emailId = "" #An emailId for summary


connection_object = symbl.Telephony.start_pstn(
# credentials={app_id: <app_id>, app_secret: <app_secret>}, #Optional, Don't add this parameter if you have symbl.conf file in your execution directory
phone_number=phoneNumber,
dtmf = ",,{}#,,{}#".format(meetingId, password) #do not change these variables
)
Expand All @@ -49,6 +70,7 @@ Parameter | Required | Description | Value
----------- | ------- | ------- | ------- |
`phone_number` | Mandatory | Phone number including country code. If you are dailing in via phone to a conference tool, e.g., Zoom, Google hangouts, use the dail-in numbers provided. | `"+11234567890"`
`dtmf`| Optional | The DTMF details for dailing into your conference tool in the format `",,{}#,,{}#".format(meetingId, password)` | `meetingId`- Your meeting ID of your conference tool. Example`"12345"`. &nbsp; &nbsp; `password` - Your meeting password of your conference tool. Example: `"A1B2C3D4"`.&nbsp;&nbsp;`emailId`- Your email ID you wish to receive the analytics on. Example: `"[email protected]"`|
`credentials` | Optional | Your `appId` and `appSecret` | `credentials={app_id: <app_id>, app_secret: <app_secret>}`


## Stop Connection
Expand Down Expand Up @@ -78,7 +100,6 @@ Event | Description
----------- |------- |
`message_response` | Generates an event whenever transcription is available.
`insight_response` | Generates an event whenever an `action_item` or `question` is identified in the message.
`tracker_response`| Generates an event whenever a tracker is identified in the transcription.
`transcript_response` | Also generates transcription values, however these will include an `isFinal` property which will be False initially meaning the transcription are not finalized.
`topic_response` | Generates an event whenever a topic is identified in any transcription.

Expand All @@ -92,7 +113,7 @@ connection_object.subscribe({
)
print(connection_object)
```
## Receive Insights on Email
## Receive Insights via Email

After the call has ended, you can trigger an email containing the URL to view the Transcripts, Topics, Speaker analytics, Follow-ups, Action Items and meeting insights in a single page Web Application- [Symbl's Prebuilt Summary UI](/docs/pre-built-ui/summary-ui).

Expand Down Expand Up @@ -131,6 +152,7 @@ password = "447891" #Your meeting passcode.
emailId = "[email protected]" #Your registered email ID on the conference tool.

connection_object = symbl.Telephony.start_pstn(
# credentials={app_id: <app_id>, app_secret: <app_secret>}, #Optional, Don't add this parameter if you have symbl.conf file in your execution directory
phone_number= phoneNumber,
dtmf = ",,{}#,,{}#".format(meetingId, password), #",,{}#,,{}#".format(meetingId, password) Do NOT change the variables
actions = [
Expand Down

0 comments on commit 4da4cc5

Please sign in to comment.