General Introduction
Executive AI Assistant (EAIA) is an AI-based assistant tool designed to help users automate and manage their daily tasks. Developed by LangChain, the tool is capable of handling emails, scheduling, managing tasks, etc. EAIA realizes efficient task processing and information management by integrating with various APIs and services, such as OpenAI, Anthropic, Google APIs, etc. Users can run EAIA locally or deploy it in the cloud to enjoy the convenience and efficiency of an intelligent assistant.
-
Experience: https://www.agentinbox.ai/
Function List
- Mail Management: Automatically read, categorize, and respond to e-mail.
- schedule: Automatically adjusts schedules based on meeting and task priorities.
- Report Generation: Automatically generate periodic reports based on data analysis.
- Task automation: Performs simple and complex tasks by understanding natural language instructions.
- information retrieval: Quickly access information from databases or the web through integrated search functions.
Using Help
Installation and Configuration
- cloning project::
- First, install Git on your local machine and then clone that GitHub repository using the following command:
git clone https://github.com/langchain-ai/executive-ai-assistant.git
- First, install Git on your local machine and then clone that GitHub repository using the following command:
- Environment Configuration::
- Go to the project catalog:
cd executive-ai-assistant
- Create and activate a Python virtual environment:
python3 -m venv venv source venv/bin/activate # on Linux/Mac venv\Scripts\activate # on Windows
- Install project dependencies:
pip install -e .
- Go to the project catalog:
- Configuring the API Key::
- establish
.secrets
directory and move your API key files to this directory:mkdir .secrets mv ${PATH-TO-CLIENT-SECRET.JSON} .secrets/secrets.json
- Run the script to set up the Gmail service:
python scripts/setup_gmail.py
- Set the LangSmith API key:
export LANGSMITH_API_KEY=
- establish
Usage Process
start using
- Starting a Local Instance::
- utilization
langgraph dev
command to start EAIA (Executive AI Assistant) locally. - In another terminal, run
python scripts/run_ingest.py --minutes-since 120 --rerun 1 --early 0
to start the automatic ingestion task of mail data.
- utilization
- Interaction and Management::
- Login to Agent Inbox interface, you can see and manage all emails and tasks handled by EAIA.
- By entering or selecting tasks, EAIA will follow your instructions. For example, you can ask EAIA to summarize the minutes of yesterday's meeting or schedule a meeting for next week.
Functions in detail
- Mail Management::
- EAIA automatically scans your inbox, categorizes emails, and auto-responds or flags them according to set rules. You can set keywords to trigger specific actions, such as marking all emails labeled "urgent" as high priority.
- schedule::
- When you need to schedule a meeting, EAIA can find out when your team members are available, auto-fill their schedules, and send meeting invitations. Simply type in "schedule a meeting", provide the information, and EAIA will take care of the rest of the details.
- Report Generation::
- EAIA can pull data from a specified data source, such as a company database or cloud storage, to generate reports based on your needs. You can set the frequency and type of reports, such as weekly performance reports or project progress reports.
- Task automation::
- For day-to-day tasks, EAIA understands and executes complex instructions, such as "Please summarize all progress reports on Project X and send them to the team," and automatically extracts information from multiple reports, generates a summary, and sends the email.
- information retrieval::
- With the integrated search tool, EAIA can quickly answer queries and find documents or information on the web. You can ask "How did the stock market perform today?". and EAIA will give you a real-time answer or data summary.
Recommendations for use
- Regularly updated configuration: Remember to update the EAIA profile as job requirements change (
config.yaml
) to ensure that it can adapt to the latest workflows. - Testing and feedback: Run EAIA in a test environment on a regular basis to ensure that its functionality meets your expectations and continuously optimize its performance through feedback mechanisms.
How to "Hire" and "Communicate" with an AI Email Assistant
Thank you for being an early taster of the AI Email Assistant! This is a prototype from the LangChain team to create an AI agent to manage your email. You should think of it as an "AI Executive Assistant". It's still a prototype, so it's free to use. We plan to release it on January 14th, so any feedback before then would be appreciated. We also plan to open-source this project, so if you'd rather run it yourself (you'll need an OpenAI account, an Anthropic account, and a LangSmith Plus account), please let us know. Since this is a beta prototype, there is no guarantee that we will continue to run it.
What does this AI agent do?
- For Google only
- Categorize emails as "Ignore", "Notify" or "Reply".
- "Ignore" - mark it as read
- "Notification" - you will be notified, but no attempt will be made to draft a response
- "Reply" - will try to draft a reply
- Ability to view your calendar
- Calendar events can be scheduled (you need to approve them before finalizing)
- Emails can be sent (you need to approve them before finalizing)
Setting up an account with LangChain Agents Agency
This will set you up with a "LangChain Agents Agency" account, a program through which you can hire AI agents.
- Go to https://www.agentinbox.ai/
- Sign in with Google (note: this does not need to be the same email as the one you are using to hire the email assistant, this is just your account with LangChain Agents Agency)
How to hire your AI email assistant
- Click on "Settings" in the lower left corner.
- Click on "Create Assistant"
- Provide your EA with background information about yourself and instructions on how to respond
- Click on "Authorize".
- This will generate a link - click on it to open a new window
- You will see a login screen called "Arcade". This is the provider we use for authentication
- You will see the following page - Arcade is waiting for the correct scope. Click on "Advanced" in the lower left corner.
- Grant Arcade all required permissions
- Note: If at any time you would like to remove these permissions, you can do so by following this link: https://myaccount.google.com/connections
Done! Your EA should now be employed.
EA works by checking for new mail every 10 minutes. The first time you run it, it will check for mail within the last hour. You may have to wait a while for it to run (and make sure you have some recent mail).
How to communicate with your AI email assistant
Communication is very important! AI is not magic, it can't read your mind. You gave your EA some instructions at the beginning, but it still may be stuck or questionable. And you need to improve any calendar invitations or emails! It's important to communicate properly with your EA because it will help it improve.
You can see any situations where the AI needs your help in the "Interrupted" section. These are all the situations that EA needs your attention for. You should see some basic information in the email header, as well as the actions that need assistance (in the screenshot below, all actions are "ResponseEmailDraft").
You can click on the given row to see more information and take action.
manipulate
Different interrupt types have different available operations. They will have a subset of these operations:
- "Ignore" - Used to indicate that this email should be ignored. It will remove this interrupt and will also update memory to indicate that this type of email is not worth replying to. Use this option when EA screws up and you don't care to see these types of emails!
- "Mark as Resolved" - is used to indicate that no action is required. Similar to "Ignore", it removes interrupts. Unlike "Ignore", it does not update memory, indicating that such emails should be ignored. Use this option when you want EA to flag these emails, but you are done with them.
- "Edit/Accept" - allows you to manually edit or accept actions that should be taken (send an email, send a calendar invitation)
- "Respond" - Allows you to respond to your EA, if your EA is having problems, you can use this option to respond. You can also use this option to tell your EA to take a different action, or change their response, etc.
Interrupt Type
Let's look at the different interrupt types and how to communicate across all of them.
Notify
Used when EA wants to notify you of certain emails. There is no recommended action, so you can't "Edit/Accept", but you can "Ignore"/"Mark as Resolved"/"Respond". "Respond"
Question
Used when EA wants to ask you something. You usually need "Respond" to reply, but you can also "Ignore"/"Mark as Resolved".
ResponseEmailDraft
Used when EA has drafted an email and needs your approval to send it. You can edit two fields:Content
cap (a poem) New Recipients
TheContent
is the content of the e-mail.New Recipients
is any new email address you want to add to the email thread (anyone in the thread is automatically included).
Schedule
Use when EA has drafted an email and needs your approval to send it. You can edit four fields:
Title
:: Title of the sessionEmails
:: E-mails of participants in meetingsEnd Time
:: End of sessionStart Time
:: Meeting start time