Calendar Event
The Calendar Event component allows you to interact directly with Google Calendar within your Nappai workflows. It enables you to create new events, retrieve existing meetings, update details, or delete events, all through a visual dashboard. This component integrates with the Google Calendar API to keep your scheduling data synchronized and automated.
How it Works
This component connects to the Google Calendar API to perform actions on your calendar. When you configure the component, it uses a secure connection (credential) to access your Google account. Based on the Operation you select, the component will either create a new event, fetch event details, modify an existing event, or remove it from the calendar. The results are returned as data that you can use in subsequent steps of your automation.
Connection & Credentials
This component requires configuring a Google Calendar credential in Nappai before it can interact with your calendar:
- Go to the Credentials section in your Nappai panel.
- Create a new credential of type Google Calendar and fill in the required fields (Project, Client ID, Client Secret, and Calendar Access).
- In your workflow, select the saved credential in the Credential input field of this node.
Operations
This component offers several operations that you can select based on what you need to do. You can only use one operation at a time:
- Create: Adds a new event to your Google Calendar. You can provide details like summary, start/end time, location, and attendees.
- Get: Retrieves details of specific events or a list of events based on filters.
- Update: Modifies an existing event. Use this to change details like time, location, or description.
- Delete: Removes an event from your Google Calendar permanently.
To use the component, first select the operation you need in the “Operation” field.
Inputs
Mapping Mode
This component has a special mode called “Mapping Mode”. When you enable this mode using the toggle switch, an additional input called “Mapping Data” is activated, and each input field offers you three different ways to provide data:
- Fixed: You type the value directly into the field.
- Mapped: You connect the output of another component to use its result as the value.
- Javascript: You write Javascript code to dynamically calculate the value.
This flexibility allows you to create more dynamic and connected workflows.
Input Fields
The following fields are available to configure this component. Each field may be visible in different operations:
- Start: Select the start time of the event. Start time must be before end time.
- Visible in: Create, Update
- End: Select the end time of the event. End time must be greater than start time.
- Visible in: Create, Update
- Operation: Select the action to perform on the calendar.
- Visible in: Create, Get, Update, Delete
- Attendees: The emails of the participants to invite to the event.
- Visible in: Create, Update
- Calendar Id: Introduce the Id of the calendar. If not provided, the primary calendar will be used.
- Visible in: Create, Get
- Calendar Selection: Select the calendar from your Google Calendar.
- Visible in: Create, Get
- Create Meet: Check this to automatically create a Google Meet instance for the event.
- Visible in: Create, Update
- Description: A brief description of the event.
- Visible in: Create, Update
- Event ID: The unique ID of the event. In Get operations, if provided, all other filters will be ignored.
- Visible in: Get, Update, Delete
- Input Type: The type of input to use for calendar selection. If “Id” is selected, enter the Calendar ID directly. If “Selection” is selected, use the Calendar Selection dropdown.
- Visible in: Create, Get
- Location: The physical or virtual location of the event.
- Visible in: Create, Update
- Mapping Mode: Enable this to process multiple data records in batch mode.
- Visible in: Create, Get, Update, Delete
- Summary: The name or title of the event.
- Visible in: Create, Update
- Tool Name: The name of the tool used when this component is connected as a tool for an agent.
- Visible in: Create, Get, Update, Delete
- Tool Description: A detailed description explaining what this tool does to help agents understand when to use it.
- Visible in: Create, Get, Update, Delete
- Tools arguments metadata: Defines the arguments metadata for tool usage.
- Visible in: Create, Get, Update, Delete
- Max Results: The maximum number of results to return when fetching events.
- Visible in: Create, Get, Update, Delete
- Query Filter: Provide a query string to filter events. The system searches the summary, description, location, and attendees/organizer emails. Example: “team”, “meeting”, “user@example.com”.
- Visible in: Create, Get, Update, Delete
Outputs
This component produces the following outputs based on the operation performed:
- Data: Contains the result of the operation. For Create/Update/Delete, this typically includes a status confirmation. For Get, this contains the full event details (JSON).
- Tool: Outputs the component as a tool interface for use by AI agents.
Output Data Example (JSON)json
{ “kind”: “calendar#event”, “id”: “abc123def456”, “status”: “confirmed”, “summary”: “Weekly Team Sync”, “description”: “Discussion about project updates and upcoming deadlines.”, “location”: “Google Meet Link”, “start”: { “dateTime”: “2023-10-25T10:00:00-05:00”, “timeZone”: “America/New_York” }, “end”: { “dateTime”: “2023-10-25T11:00:00-05:00”, “timeZone”: “America/New_York” }, “attendees”: [ { “email”: “alice@example.com”, “responseStatus”: “accepted” } ], “created”: “2023-10-20T09:00:00.000Z”, “updated”: “2023-10-20T09:00:00.000Z” }
Connectivity
This component is designed to integrate seamlessly with other parts of your automation:
- LanggraphReactAgent: The component can be connected as a tool for AI agents, allowing them to schedule or check meetings autonomously.
- ParseData: Use this component to provide structured event data that can be parsed and transformed by subsequent data processing steps.
- TextInput: Connect the outputs of this component to text inputs to display event details in user interfaces or logs.
Usage Example
Scenario: Creating a Recurring Team Meeting
- Set Operation to
Create. - Select your Credential.
- Enter a Summary like “Sprint Planning”.
- Set Start and End times for the first occurrence.
- In Attendees, add the emails of team members.
- Check Create Meet to generate a video link.
- Connect the output to a notification component to alert the team.
Important Notes
🔒 Protect Your OAuth Token 🟡 The component stores and transmits an OAuth access token. Keep this token confidential and avoid sharing it, as it grants full read/write access to your Google Calendar events.
⚠️ Google API Rate Limits 🟡 The Google Calendar API imposes rate limits (e.g., requests per second). If you exceed these limits, the component may return errors or be temporarily blocked. Space out your automation requests to avoid throttling.
⚠️ No Batch Delete Support 🟢 The component deletes events one at a time. If you need to remove many events, you must run the component repeatedly or use a separate batch-processing routine.
📋 Google API Credentials Needed 🔴 To use this component, you must have a Google Cloud project with the Calendar API enabled and OAuth 2.0 client credentials configured. Without a valid token, the component cannot access your calendar data.
💡 Specify Date Ranges to Reduce API Calls 🟢 When fetching events, limit your query to specific date ranges using filters. This reduces the amount of data transferred and improves execution speed.
💡 Use Time‑Zone Aware Dates 🟢 When creating or updating events, ensure you include time-zone information to avoid confusion regarding start and end times, especially for global teams.
⚙️ Set the Correct Calendar ID 🟢 If you are working with a calendar other than your primary one, provide the Calendar ID. Leaving this blank will default to your primary calendar.
⚙️ Ensure Network Connectivity 🟢 This component requires an active internet connection to communicate with Google servers. Verify your network connectivity before running your workflow.
ℹ️ Recurring Events Return Next Occurrence Only 🟢 When fetching recurring events, the component may return only the next occurrence. If you need all instances, ensure your query or settings support recurrence expansion.
Tips and Best Practices
- Use Mapping Mode to dynamically assign calendar IDs or attendee lists from previous workflow steps.
- Use Create Meet to automate the generation of video conference links for online meetings.
- Check Query Filter to quickly find events by keywords in the summary or location.
- Always verify your Credential setup before testing complex automation flows.
- For high-volume operations, monitor API usage to stay within Google’s rate limits.
Security Considerations
- OAuth Security: This component uses OAuth 2.0 for authentication. Ensure your Nappai instance is hosted securely and that credentials are stored in a safe environment.
- Token Management: The OAuth token generated provides broad access to your calendar. Treat credentials with high security and rotate them if a breach is suspected.
- Data Privacy: Event data (attendees, descriptions, locations) is transmitted to Google. Ensure this complies with your organization’s data privacy policies.