Game Plan for the Sales Assistant Agent
The process is straightforward:- Upload the meeting recording – The user uploads a sales call recording along with any relevant details.
- Generate a Transcript – VideoDB processes the video and creates an accurate transcript.
- Extract Key Insights – A structured sales summary is generated from the transcript.
- Update HubSpot CRM – The extracted insights are automatically added to the HubSpot Deals table with the help of Composio (an integration platform).

Core Architecture
The Sales Assistant Agent is built on Director’s extensible framework, leveraging its session management and state tracking capabilities while integrating seamless transcript analysis and CRM updates.Tech Stack
- VideoDB Director: An open-source framework to build AI video agents that can reason through complex video tasks & instantly stream the results.
- Composio: An integration platform we will use to integrate HubSpot CRM function.
Key Components
- Transcript Generator – Extract transcript from sales call recordings using VideoDB.
- Insight Extractor – Analyses transcripts and extracts key sales insights.
- HubSpot Integration – Automatically updates the HubSpot Deals table with structured insights using Composio.
- Session Manager – Tracks progress and maintains state across operations.
⚒️ Base Setup
Step 1: VideoDB and Director Setup
Get your API key from VideoDB Console. Install the latest SDKSetup Director Locally
Complete installation and configuration guide for Director framework
Step 2: HubSpot Configuration
HubSpot is a CRM platform we’ll use to store the user data- Follow these steps:
- Log into your HubSpot account (or create one)
- Go to Settings → Integrations → Private Apps
- Click “Create a private app”
- Name your app (e.g., “Sales Assistant”)
- Under Scopes, select
**crm.objects.deals.write**
- This permission lets us create/update deal records
- Create app and copy the API token
Step 3: Composio Configuration
Sign up or log in to Composio and get the API key. Composio enables us to create deal entries in HubSpot.Step 4: Environment Configuration
In thebackend folder, update the .env file with the following credentials:
Setting up Composio Integration
To integrate Composio, we need a function that takes a task description and makes the appropriate API call to HubSpot. In VideoDB Director, the existingtools/composio_tool.py file handles Composio interactions. You can modify this file to support the HUBSPOT_CREATE_CRM_OBJECT_WITH_PROPERTIES action.
Here’s what the function implementation looks like after the modifications:
Python
- Our agent extracts deal information from video transcripts
- This information needs to reach HubSpot’s CRM
- Composio acts as our middleware, providing the
HUBSPOT_CREATE_CRM_OBJECT_WITH_PROPERTIESaction - This action automatically formats and sends our data to HubSpot
Python
Building the Agent
1. Import required components
Create asales_assistant.py file inside the /backend/director/agents folder and add all our imports to it. These imports give us access to:
- Director’s agent framework
- Video processing capabilities
- AI/LLM integration
- CRM connectivity
- Error handling and logging
Python
2. Define the Agent Parameters
The following parameters will be needed for the agent:| Parameter | Type of parameter | Description |
|---|---|---|
video_id | string | The unique ID of the video stored in VideoDB. |
collection_id | string | The ID of the collection where the video is stored. |
prompt | string | Additional instructions or context for generating the sales summary. |
TheCreate a JSON schema for these parameters.collection_idparameter represents the ID of a VideoDB collection where the meeting video is stored. Each video gets a uniquevideo_id, which is automatically generated when the user uploads a video. To learn more about collections, explore VideoDB Collections.
Python
3. Prepare a Deal Analysis prompt
With the help of LLM, you can extract all the necessary information from the transcript which you may require to populate the CRM tables. The prompt can look something like this:Python
4. Implement Agent Class
This is a fundamental step while creating an agent. The parameters set here (self.agent_name, self.description and the self.parameters) determine the way this agent interacts with the reasoning engine and works within the Director framework.
Python
5. Implement the core logic
1. Declare arun method.
We will need to implement a run method in the agent’s class. This is the heart of the agent as this is the method that runs when the agent is called.
In the run method, define the required parameters which will be used to implement the agent.
Python
Python
To communicate the steps that the agent is taking, we can use the3. Get the Video Transcript: Now, let’s retrieve the transcript from the video. If the transcript is not present, we will trigger the indexing process to get the transcript.self.output_message.actionsand theself.output_message.push_updatemethods to send the updates to the client. This allows us to communicate with the user about what the agent is achieving at a particular time.
Python
Python
Python
composio_response.
Python
AgentResponse
Now that the agent is implemented, return the final success AgentResponse.
Python
Python
6. Register the agent
To use the agent, add the agent in theself.agents list in the ChatHandler.
Go inside the backend/director/handler.py and import the agent.
Python
Using the agent
Visit the frontend at http://localhost:8080 and refresh the page to see the agent available in the options for use.Conclusion
The Sales Assistant Agent showcases how the Director’s agent framework can streamline sales processes by integrating LLMs, Composio, and CRM tools like Salesforce and HubSpot. With automated transcription, intelligent deal summaries, and seamless CRM updates, this agent enhances efficiency and reduces manual work. Key Takeaways:- Effortless agent creation with Director’s intuitive framework and pre-built tools
- Effortless transcript extraction using VideoDB
- Seamless communication with Composio and CRM platforms
- Robust error handling for reliable performance
Further Exploration
Now that we’ve built this agent, there are many ways to enhance and extend its functionality, making it even more dynamic and useful.Highlight Reels for Executives
Generate highlight reels from video content for quick, impactful insights for executive reviews or presentations beyond just summarizing text.
Automated Client Communications
Set up automation with Composio’s email integration to send summaries and action points from meetings directly to clients for efficient follow-ups.
Video Analysis for Sentiment
Assess emotions, tone, and engagement in speaker interactions to provide valuable data on meeting sentiment and improve decision-making.
Meeting App Integration
Integrate with Google Meet or Zoom to automatically trigger processing after meetings end, generating summaries without manual intervention.
Related Tutorials
Sales Copilot
Real-time coaching during sales calls with cue cards
Pair Programmer
AI coding assistant with real-time screen and audio context
Resources
Ready to build your own AI agents? Join our community and start exploring what’s possible with Director!Director Documentation
Comprehensive guides and API references for Director framework
Sample Agents Repository
Real-world examples and implementations of custom agents
Discord Community
Connect with other agent developers and get support
Need help? Reach out to our community or open an issue on GitHub. Happy building!