|

|  How to Integrate Rasa with Zoom

How to Integrate Rasa with Zoom

January 24, 2025

Learn to seamlessly integrate Rasa with Zoom, enhancing your virtual meetings with AI-driven chatbot capabilities in simple, easy-to-follow steps.

How to Connect Rasa to Zoom: a Simple Guide

 

Prerequisites

 

  • Ensure you have Python 3.x installed on your system.
  •  

  • Set up a Rasa environment by installing Rasa Open Source.
  •  

  • Ensure you have a Zoom account, and access to Zoom’s Developer Console to create an app.
  •  

 

Set Up Rasa Chatbot

 

  • Create a new Rasa project with `rasa init` and follow the prompts to set up a basic bot.
  •  

  • Design your conversational flows using Rasa stories and create the necessary `nlu.yml`, `stories.yml`, and `domain.yml` files.
  •  

  • Run `rasa train` to train your bot with the NLU data and stories configured.
  •  

  • Ensure your bot is working locally by executing `rasa shell` and testing interactions.
  •  

 

Create a Zoom App

 

  • Sign in to Zoom's Developer Console and click on 'Develop' > 'Build App'.
  •  

  • Choose the 'OAuth' app type and fill in basic information such as app name and description.
  •  

  • For Redirect URL, input a URL where the integration service is hosted. Use a placeholder if your service is not yet deployed.
  •  

  • Note down the Client ID and Client Secret once the app is created, as these are required for OAuth authentication.
  •  

 

Develop a Middleware Service

 

  • Set up a Flask or FastAPI application to act as middleware between Rasa and Zoom.
  •  

  • Implement OAuth 2.0 flow in your service by using Zoom API’s OAuth endpoints in Python.
  •  

  • Authorize the Rasa service to interact with your Zoom app using the retrieved tokens.
  •  

  • Example code snippet for OAuth setup:

 

from requests_oauthlib import OAuth2Session

zoom_client_id = 'YOUR_CLIENT_ID'
zoom_client_secret = 'YOUR_CLIENT_SECRET'
redirect_uri = 'YOUR_REDIRECT_URL'

oauth = OAuth2Session(zoom_client_id, redirect_uri=redirect_uri)
authorization_url, state = oauth.authorization_url('https://zoom.us/oauth/authorize')

# Redirect the user to the Zoom authorization URL
print('Please visit this link to authorize: ', authorization_url)

# Fetch the access token
token = oauth.fetch_token(
    'https://zoom.us/oauth/token',
    client_secret=zoom_client_secret,
    authorization_response=input('Enter the full callback URL: ')
)

print("Access token received: ", token)

 

Connect Rasa Actions to Zoom

 

  • Create custom actions in Rasa to handle interaction logic and send responses to Zoom.
  •  

  • Define these actions in `actions.py` and iterate over possible conversational commands like scheduling a meeting, retrieving meeting details, etc.
  •  

  • Ensure action server is running with `rasa run actions` during chatbot operation.
  •  

 

Deploy the Middleware Service

 

  • Utilize platforms like Heroku, AWS, or any server configured to support Python apps to deploy your middleware service.
  •  

  • Ensure your deployed service URL is updated in the Zoom App Redirect URL settings for proper OAuth flow.
  •  

  • Use Ngrok to expose your local Rasa and middleware applications for testing purposes.
  •  

 

Test the Integration

 

  • Trigger interactions from Zoom and verify that your middleware correctly relays requests and responses between Zoom and your Rasa bot.
  •  

  • Log detailed responses from both Zoom and Rasa to identify discrepancies or errors.
  •  

  • Smooth out any conversational or logical issues within Rasa to optimize the chatbot experience.
  •  

 

Monitor and Maintain

 

  • Implement logging and monitoring mechanisms in your middleware to track usage and errors.
  •  

  • Regularly update Rasa training data and Zoom interactions to improve user engagement and satisfaction.
  •  

  • Ensure compliance with Zoom's API usage policies and guidelines to avoid service disruptions.
  •  

 

Omi Necklace

The #1 Open Source AI necklace: Experiment with how you capture and manage conversations.

Build and test with your own Omi Dev Kit 2.

How to Use Rasa with Zoom: Usecases

 

Enhancing Remote Meetings with Rasa and Zoom

 

  • Integrate Rasa's conversational AI with Zoom to provide real-time assistance during video calls. This can improve user experience by offering instant FAQs or technical support without leaving the meeting interface.
  •  

  • Utilize Rasa's natural language processing capabilities to transcribe Zoom meetings in real-time and provide summaries, making it easier for participants to focus on discussions without worrying about note-taking.
  •  

  • Leverage Rasa to automate scheduling Zoom meetings by understanding user requests through text or voice commands, reducing the time spent on administrative tasks.
  •  

 

Implementing Rasa and Zoom Integration

 

  • Develop a bot using Rasa that understands relevant commands or questions you anticipate in your Zoom meetings and train it with necessary data to make it efficient in handling inquiries or tasks.
  •  

  • Employ webhooks or APIs provided by Zoom and Rasa to enable seamless communication between the two platforms. Such integration might involve using Zoom’s API to start or join meetings, and Rasa’s API to process natural language and provide responses.
  •  

  • Ensure that user data processing adheres to privacy regulations. Implement secure data handling practices such as encryption and access controls during the interaction between Rasa and Zoom.
  •  

 

Examples of Code to Connect Rasa with Zoom

 

import requests

def initiate_zoom_meeting():
    headers = {"Authorization": "Bearer YOUR_ZOOM_JWT_TOKEN"}
    payload = {"topic": "New Meeting", "type": 1}
    response = requests.post("https://api.zoom.us/v2/users/me/meetings", headers=headers, json=payload)
    return response.json()

def rasa_response_to_zoom_message(message):
    # Example function to send message to a Rasa server
    rasa_url = "http://localhost:5005/webhooks/rest/webhook"
    payload = {"sender": "zoom_user", "message": message}
    response = requests.post(rasa_url, json=payload)
    return response.json()

 

 

Streamlining Virtual Team Collaboration with Rasa and Zoom

 

  • Integrate Rasa with Zoom for managing breakout room sessions. The AI can guide participants on the process, eliminating the need for manual instructions.
  •  

  • Use Rasa to automate polls and surveys within Zoom meetings, collecting instant feedback in a structured fashion and reducing the need for separate software.
  •  

  • Deploy Rasa to provide automatic translation services during Zoom calls for international teams, breaking down language barriers and fostering cohesive collaboration.
  •  

 

Executing Rasa and Zoom Symbiosis

 

  • Create a specialized Rasa model to recognize typical commands used for breakout room activities and support automation during Zoom meetings.
  •  

  • Leverage Zoom's chatbot SDK alongside Rasa's API to implement real-time polling, allowing seamless collection and processing of participant responses without major interruptions.
  •  

  • Incorporate language processing models within Rasa to support multilingual interactions during meetings, utilizing Zoom's support for third-party integrations to ensure effective translations.
  •  

 

Code Snippets for Rasa and Zoom Integration

 

import requests

def create_poll_via_rasa(poll_question, options):
    rasa_url = "http://localhost:5005/webhooks/rest/webhook"
    payload = {
        "sender": "zoom_poll_creator",
        "message": f"Create a poll with the question: {poll_question} and options: {options}"
    }
    response = requests.post(rasa_url, json=payload)
    return response.json()

def start_zoom_breakout_room():
    headers = {"Authorization": "Bearer YOUR_ZOOM_JWT_TOKEN"}
    payload = {"topic": "Breakout Session", "type": 1}
    response = requests.post("https://api.zoom.us/v2/users/me/meetings", headers=headers, json=payload)
    return response.json()

 

Omi App

Fully Open-Source AI wearable app: build and use reminders, meeting summaries, task suggestions and more. All in one simple app.

Github →

Order Friend Dev Kit

Open-source AI wearable
Build using the power of recall

Order Now

Troubleshooting Rasa and Zoom Integration

How to connect Rasa chatbot to Zoom meetings?

 

Connect Rasa to Zoom Meetings

 

  • To connect a Rasa chatbot to Zoom, ensure you have installed Rasa, Zoom's SDK, and Python environment first. Begin by setting up a Zoom app from the Zoom Marketplace, taking note of your API key and secret.
  •  

  • Use the Zoom API to create and manage meetings. Import `zoomus` in your Python environment to handle Zoom interactions:

 

from zoomus import ZoomClient

client = ZoomClient('API_KEY', 'API_SECRET')

def create_meeting(topic, start_time):
    response = client.meeting.create(
        user_id='user@domain.com',
        topic=topic,
        start_time=start_time
    )
    return response

 

  • Integrate this function into your Rasa actions by modifying `actions.py` and using Rasa's custom actions capability:

 

from rasa_sdk import Action
from .zoom_integration import create_meeting

class ActionCreateZoomMeeting(Action):
    def name(self):
        return "action_create_zoom_meeting"
    
    def run(self, dispatcher, tracker, domain):
        topic = tracker.get_slot('meeting_topic')
        start_time = tracker.get_slot('meeting_time')
        meeting_info = create_meeting(topic, start_time)
        dispatcher.utter_message(text=f"Meeting created: {meeting_info['join_url']}")

 

  • Update your Rasa `domain.yml` to include any relevant intents, entities, and slots for collecting meeting topics and times.
  •  

  • Ensure your Rasa server can trigger these actions by updating your endpoints and connecting the custom action server.

 

Why is my Rasa bot not responding in Zoom chat?

 

Check Connectivity

 

  • Ensure your Rasa server is running and accessible. If it's on a virtual machine or container, verify the correct network bindings and permissions.
  • Confirm the Rasa server’s URL and port are correctly set in the Zoom chatbot settings.

 

Inspect Zoom App Settings

 

  • Verify the chatbot integration in Zoom is active and correctly set up. This includes API keys and event subscriptions.
  • Check if the Zoom webhook is accurately pointing to your Rasa server endpoint.

 

Review Logs and Debugging

 

  • Examine Rasa logs for incoming requests or errors. Use the following command to view logs:

 

rasa run --enable-api --debug

 

  • Inspect Zoom logs to confirm messages are sent to your Rasa endpoint.

 

Test with Postman

 

  • Use Postman to simulate Zoom requests to your Rasa endpoint, checking for correct responses.

 

POST /webhooks/rest/webhook
{
  "sender": "zoom_user",
  "message": "Hello"
}

How can I deploy a Rasa assistant to work in a Zoom Webinar?

 

Integrate Rasa with Zoom

 

  • Use the Zoom SDK to interact with webinars. You need access to Zoom's API for authentication and managing webinars.
  •  

  • Create a connection between Zoom and your Rasa assistant. Use Rasa’s REST API to send and receive messages.

 

Set Up a Zoom Bot

 

  • Register a chatbot on the Zoom App Marketplace and receive your credentials to interact through the API.
  •  

  • Implement a Flask or FastAPI server that listens to Zoom events and sends data to the Rasa assistant.

 

Example Code

 

from flask import Flask, request
import requests

app = Flask(__name__)

@app.route('/webhook', methods=['POST'])
def zoom_webhook():
    data = request.json
    # Process Zoom events
    response = requests.post("http://<rasa_server>/webhooks/rest/webhook", json=data)
    return response.json()

if __name__ == '__main__':
    app.run(port=5000)

 

Deploy and Test

 

  • Deploy your server in a cloud service and update Zoom's Webhook URL settings.
  •  

  • Test interaction with a sample webinar to verify the connection.

Don’t let questions slow you down—experience true productivity with the AI Necklace. With Omi, you can have the power of AI wherever you go—summarize ideas, get reminders, and prep for your next project effortlessly.

Order Now

Join the #1 open-source AI wearable community

Build faster and better with 3900+ community members on Omi Discord

Participate in hackathons to expand the Omi platform and win prizes

Participate in hackathons to expand the Omi platform and win prizes

Get cash bounties, free Omi devices and priority access by taking part in community activities

Join our Discord → 

OMI NECKLACE + OMI APP
First & only open-source AI wearable platform

a person looks into the phone with an app for AI Necklace, looking at notes Friend AI Wearable recorded a person looks into the phone with an app for AI Necklace, looking at notes Friend AI Wearable recorded
a person looks into the phone with an app for AI Necklace, looking at notes Friend AI Wearable recorded a person looks into the phone with an app for AI Necklace, looking at notes Friend AI Wearable recorded
online meeting with AI Wearable, showcasing how it works and helps online meeting with AI Wearable, showcasing how it works and helps
online meeting with AI Wearable, showcasing how it works and helps online meeting with AI Wearable, showcasing how it works and helps
App for Friend AI Necklace, showing notes and topics AI Necklace recorded App for Friend AI Necklace, showing notes and topics AI Necklace recorded
App for Friend AI Necklace, showing notes and topics AI Necklace recorded App for Friend AI Necklace, showing notes and topics AI Necklace recorded

OMI NECKLACE: DEV KIT
Order your Omi Dev Kit 2 now and create your use cases

Omi Dev Kit 2

Endless customization

OMI DEV KIT 2

$69.99

Make your life more fun with your AI wearable clone. It gives you thoughts, personalized feedback and becomes your second brain to discuss your thoughts and feelings. Available on iOS and Android.

Your Omi will seamlessly sync with your existing omi persona, giving you a full clone of yourself – with limitless potential for use cases:

  • Real-time conversation transcription and processing;
  • Develop your own use cases for fun and productivity;
  • Hundreds of community apps to make use of your Omi Persona and conversations.

Learn more

Omi Dev Kit 2: build at a new level

Key Specs

OMI DEV KIT

OMI DEV KIT 2

Microphone

Yes

Yes

Battery

4 days (250mAH)

2 days (250mAH)

On-board memory (works without phone)

No

Yes

Speaker

No

Yes

Programmable button

No

Yes

Estimated Delivery 

-

1 week

What people say

“Helping with MEMORY,

COMMUNICATION

with business/life partner,

capturing IDEAS, and solving for

a hearing CHALLENGE."

Nathan Sudds

“I wish I had this device

last summer

to RECORD

A CONVERSATION."

Chris Y.

“Fixed my ADHD and

helped me stay

organized."

David Nigh

OMI NECKLACE: DEV KIT
Take your brain to the next level

LATEST NEWS
Follow and be first in the know

Latest news
FOLLOW AND BE FIRST IN THE KNOW

thought to action

team@basedhardware.com

company

careers

events

invest

privacy

products

omi

omi dev kit

personas

resources

apps

bounties

affiliate

docs

github

help