Evernote Email Skill
An AI Agent skill that enables sending emails via MailJet to create notes in Evernote using Evernote's email-to-note functionality.
Skill Metadata
- •Skill Type: Email Integration
- •Category: Productivity, Note-taking
- •APIs Used: MailJet REST API (Python standard library)
- •Dependencies: None (uses Python standard library only)
- •Authentication Required: Yes (MailJet API keys, Evernote email)
Description
This skill allows AI agents to create Evernote notes by sending emails through the MailJet service. It leverages Evernote's email-to-note functionality, where users can email to their unique Evernote address to automatically create notes.
Core Functions
EvernoteEmailSkill(config)
Initialize the skill with MailJet credentials and Evernote email address.
Parameters:
- •
api_key: MailJet API key (optional, uses MJ_APIKEY_PUBLIC env var) - •
api_secret: MailJet API secret (optional, uses MJ_APIKEY_PRIVATE env var) - •
evernote_email: Evernote email address (optional, uses EVERNOTE_EMAIL env var)
Important: API v3.1 does not support per-message tracking control. Configure tracking in MailJet dashboard.
create_quick_note(title, body, **kwargs)
Create a simple note with optional parameters.
- •Parameters: title (string), body (string), notebook (string), tags (list), reminder (string)
- •Returns: Success status and API response
send_to_evernote(content, sender_email, sender_name=None)
Send a formatted email content object to Evernote.
- •Parameters: content (EmailContent), sender_email (string), sender_name (string, optional)
- •Returns: MailJet API response
format_subject_line(content)
Format subject line with Evernote special syntax (@notebook, #tags, !reminder).
Configuration
Required environment variables:
- •
MJ_APIKEY_PUBLIC: MailJet API public key - •
MJ_APIKEY_PRIVATE: MailJet API private key - •
EVERNOTE_EMAIL: User's unique Evernote email address
Optional configuration:
- •
DEFAULT_SENDER_EMAIL: Default sender email - •
DEFAULT_SENDER_NAME: Default sender name
Usage Examples
Basic Note Creation
skill = EvernoteEmailSkill()
result = skill.create_quick_note(
title="Meeting Notes",
body="Discussed project timeline and deliverables.",
sender_email="ai-agent@company.com"
)
Advanced Note with Tags and Notebook
result = skill.create_quick_note(
title="Web Development Resources",
body="Useful links for React development",
notebook="Development",
tags=["programming", "react", "resources"]
)
EmailContent Object Usage
from evernote_email_skill import EmailContent
content = EmailContent(
title="Project Update",
body="Status updates and next steps",
notebook="Work",
tags=["project", "updates"],
reminder="tomorrow"
)
result = skill.send_to_evernote(content, "agent@example.com")
Evernote Syntax Support
The skill supports Evernote's special email syntax:
- •
@NotebookName- Specify target notebook - •
#TagName- Add tags (multiple supported) - •
!reminder- Set reminders (today, tomorrow, or specific date)
Example subject: Client Meeting @Work #meetings #important !tomorrow
Error Handling
The skill includes comprehensive error handling for:
- •Missing API credentials
- •Invalid email formats
- •MailJet API errors
- •Network connectivity issues
Returns structured response with success status, error messages, and API response details.
Integration Notes
- •Emails are sent via MailJet API v3.1
- •Supports both text and HTML email content
- •Automatic HTML formatting from text content
- •Rate limiting consideration for bulk operations
- •Compatible with all Evernote account types
Dependencies
- •
mailjet-rest>=1.3.0 - •Python 3.7+
- •Valid MailJet account
- •Evernote account with email forwarding enabled
File Structure
- •
evernote_email_skill.py- Main skill implementation - •
config.py- Configuration utilities - •
cli.py- Command line interface - •
test_skill.py- Testing and demonstration - •
requirements.txt- Dependencies - •
README.md- Documentation - •
.env.example- Environment variable template - •
config.example.json- JSON configuration template