Skip to main content
Google Calendar uses the same Google OAuth credentials flow as Gmail. The easiest path is the desktop setup assistant:
1
Open Integrations settings
2
Go to Settings → Integrations → Gmail / Google Calendar.
3
Run the setup assistant
4
Click Run setup assistant and choose either:
5
  • Calendar only — Calendar tools without Gmail
  • Email + Calendar — Gmail and Calendar tools together
  • All current Google services — legacy full ntrp scope set, including Pub/Sub
  • 6
    Enable the Calendar API
    7
    In the Google Cloud project used for your OAuth Desktop app credentials, enable the Google Calendar API.
    8
    Import credentials and add account
    9
    Import/paste your Google OAuth Desktop app credentials in the assistant, then click Add account. ntrp opens the local browser OAuth flow and saves a token under ~/.ntrp/.

    Manual setup

    Use the same credentials file as Gmail:
    ~/.ntrp/gmail_credentials.json
    
    Enable Calendar:
    export NTRP_CALENDAR=true
    
    Then add an account from desktop settings, or call:
    curl -X POST http://localhost:6877/gmail/add \
      -H "Authorization: Bearer $NTRP_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"service_choice":"calendar"}'
    

    Available tools

    ToolDescription
    calendarSearch and list events
    create_calendar_eventCreate an event (requires approval)
    edit_calendar_eventEdit an event (requires approval)
    delete_calendar_eventDelete an event (requires approval)

    Troubleshooting

    • API not enabled / 403 — enable the Google Calendar API in the OAuth project’s API library.
    • Missing scope — re-run setup with Calendar only, Email + Calendar, or All current Google services.
    • Testing app access denied — add your Google account as an OAuth test user.

    Event-driven automations

    Calendar events can trigger automations. For example:
    Create an automation that triggers 15 minutes before any calendar event.
    It should recall memory about the attendees and summarize recent interactions.