Our review
Configures optional Google Calendar and Gmail tools for the launch-agentic-rag agent, enabling meeting scheduling and email sending.
Strengths
- Clear step-by-step instructions.
- Checks if the user actually needs the tools first.
- Provides alternative methods (console/gcloud).
- Emphasizes security of service account keys.
Limitations
- Only works with launch-agentic-rag, not general-purpose.
- Requires Google Workspace for domain-wide delegation.
- Manual steps for granting user access.
Use this skill when you need to extend your launch-agentic-rag agent with calendar and email capabilities.
Do not use this skill if you don't use launch-agentic-rag or if you don't need optional tool integrations.
Security analysis
SafeThe skill provides step-by-step instructions for setting up Google Cloud service account credentials and configuring .env for a RAG agent. No destructive, exfiltrating, or obfuscated commands are present; it only uses standard filesystem operations and local testing commands. Warnings emphasize credential security.
No concerns found
Examples
Set up Google Calendar and Gmail tools for my launch-agentic-rag agent.I need to configure the optional agent tools for launch-agentic-rag so it can schedule meetings and send emails.Directory: launch-agent-skills/skills/rag-tools/skill.md
name: Agent Tools Setup description: Configure Google Calendar and Gmail tools for launch-agentic-rag agent capabilities triggers:
- agent tools
- google calendar
- gmail integration
- tool setup
- agentic tools
- service account
Agent Tools Setup Skill
Purpose
Configure optional tool integrations for launch-agentic-rag to enable:
- π Google Calendar - Schedule and manage meetings
- π§ Gmail - Send emails on behalf of user
- π§ Custom Tools - Framework for adding more tools
IMPORTANT:
- This skill is ONLY for launch-agentic-rag (not needed for launch-rag)
- These tools are optional - the agent works without them
- Requires Google Cloud project and service account
Prerequisites
- launch-agentic-rag cloned and set up (use
rag-setupskill) - Google Cloud account
- Basic understanding of service accounts and OAuth
Instructions
Step 0: Check If Needed
Ask the user:
Do you want to set up Google Calendar/Gmail tools?
These are optional for launch-agentic-rag. Without them:
β
Agent still works for Q&A and reasoning
β Can't schedule meetings or send emails
Set up tools now? [y/n]
If "n" or "no": Skip this skill entirely.
Step 1: Create Google Cloud Project
Guide the user:
- Go to Google Cloud Console
- Click Select Project β New Project
- Name it:
agentic-rag-tools(or user preference) - Click Create
- Wait for project creation (~30 seconds)
Step 2: Enable APIs
In Google Cloud Console:
- Go to APIs & Services β Library
- Search and enable:
- β Google Calendar API
- β Gmail API
Via gcloud CLI (alternative):
# Enable required APIs
gcloud services enable calendar-json.googleapis.com
gcloud services enable gmail.googleapis.com
echo "β
APIs enabled"
Step 3: Create Service Account
In Google Cloud Console:
- Go to IAM & Admin β Service Accounts
- Click Create Service Account
- Fill in:
- Name:
agentic-rag-agent - Description: "Service account for RAG agent tool access"
- Name:
- Click Create and Continue
- Skip role assignment (click Continue)
- Click Done
Step 4: Generate Service Account Key
In Google Cloud Console:
- Find your service account in the list
- Click the three dots β Manage Keys
- Click Add Key β Create New Key
- Choose JSON format
- Click Create
- Save the downloaded JSON file (e.g.,
service-account-key.json)
β οΈ IMPORTANT: Keep this file secure - it has access to your account!
Step 5: Move Credentials to Project
# Create credentials directory
mkdir -p credentials
# Move the downloaded key
mv ~/Downloads/service-account-key.json credentials/
# Secure the file
chmod 600 credentials/service-account-key.json
echo "β
Service account credentials stored securely"
Step 6: Update .env File
Use Edit tool to add to .env:
# Google Cloud Configuration (for agent tools)
GOOGLE_CLOUD_PROJECT=your-project-id
GOOGLE_APPLICATION_CREDENTIALS=credentials/service-account-key.json
# Tool Configuration
ENABLE_CALENDAR_TOOL=true
ENABLE_EMAIL_TOOL=true
To get your project ID:
# From the JSON file
cat credentials/service-account-key.json | grep project_id
# Or from gcloud
gcloud config get-value project
Step 7: Grant Calendar/Gmail Access
IMPORTANT: Service accounts need delegated access to use Calendar/Gmail.
Option A: Domain-Wide Delegation (G Suite/Workspace)
If you have Google Workspace:
- Go to Admin Console
- Navigate to Security β API Controls β Domain-wide Delegation
- Click Add new
- Enter service account Client ID (from JSON file)
- Add OAuth scopes:
https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.send - Click Authorize
Option B: User Impersonation (Personal Gmail)
For personal accounts, you'll need OAuth2:
- Create OAuth2 credentials in Google Cloud Console
- Configure consent screen
- Use user authentication flow instead of service account
β οΈ Note: Service accounts work best with Google Workspace. Personal Gmail requires OAuth2 setup.
Step 8: Test Tools Configuration
# Test if credentials are valid
python -c "
from google.oauth2 import service_account
import json
with open('credentials/service-account-key.json') as f:
creds = service_account.Credentials.from_service_account_file(
'credentials/service-account-key.json',
scopes=[
'https://www.googleapis.com/auth/calendar',
'https://www.googleapis.com/auth/gmail.send'
]
)
print('β
Credentials loaded successfully')
print(f'Service account: {creds.service_account_email}')
"
Step 9: Verify in Application
Start the server and test tool endpoints:
# Start server
uvicorn main:app --reload --port 8000
# Test calendar tool
curl -X POST http://localhost:8000/agent/query \
-H "Content-Type: application/json" \
-d '{"query": "Schedule a meeting tomorrow at 2pm"}'
# Test email tool
curl -X POST http://localhost:8000/agent/query \
-H "Content-Type: application/json" \
-d '{"query": "Send an email to test@example.com saying hello"}'
Checklist
- [ ] Google Cloud project created
- [ ] Google Calendar API enabled
- [ ] Gmail API enabled
- [ ] Service account created
- [ ] Service account key downloaded (JSON)
- [ ] Credentials moved to
credentials/directory - [ ] File permissions set to 600
- [ ] .env updated with GOOGLE_APPLICATION_CREDENTIALS
- [ ] (If Workspace) Domain-wide delegation configured
- [ ] (If personal) OAuth2 flow set up
- [ ] Credentials test passed
- [ ] Tools work in application
Troubleshooting
| Issue | Solution | |-------|----------| | "Permission denied" error | Check domain-wide delegation or OAuth setup | | "Credentials not found" | Verify GOOGLE_APPLICATION_CREDENTIALS path | | "API not enabled" | Enable Calendar/Gmail APIs in Cloud Console | | "Invalid grant" | Service account needs delegated access | | Personal Gmail not working | Use OAuth2 instead of service account |
Important Notes
- π Keep credentials secure - Add
credentials/to.gitignore - π’ Best for Workspace - Service accounts work best with Google Workspace
- π€ Personal accounts - Require OAuth2, more setup required
- π§ Optional feature - Agent works without tools for Q&A
- π Free tier - Google Cloud free tier covers typical usage
Related Skills
rag-setup- Set up launch-agentic-rag firstrag-database- Configure database after this
What This Enables
With tools configured, your agent can:
- β Schedule meetings: "Schedule a meeting with John tomorrow at 3pm"
- β Send emails: "Email the team about the project update"
- β Reason about actions: Agent decides when to use tools vs just answer
- β Multi-step workflows: Retrieve info β Schedule meeting β Send confirmation
Without tools, agent only does Q&A with RAG retrieval.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.