Event and Calendar Management
Endpoints for managing events and calendar activities within RoofLink, including meetings, inspections, installations, and other scheduled activities.
Supported Event Operations
This category includes the following operations:
Core Event Management
- List Events: Retrieve a paginated list of events with extensive filtering options by date ranges, users, calendars, jobs, tags, and other criteria. Results are paginated with up to 10 events per page.
- Create Event: Create a new event with details including name, description, date/time, invitees, job association, tags, and reminder settings. Supports all-day and any-time events.
- Retrieve Event: Retrieve detailed information for a specific event including attendance lists, reminder settings, and initiator information (RoofLink, Google Calendar, or Outlook).
- Update Event: Perform a full update of an event, replacing all fields with provided values. The job field cannot be updated after creation.
- Partially Update Event: Update specific fields of an event without affecting other fields. Useful for quick modifications like changing event time or updating tags.
- Delete Event: Permanently delete an event and remove all associated calendar associations. Triggers calendar sync for external integrations.
Calendar Views
- Calendar View of Events: Retrieve events for calendar display with flexible date range filtering. Returns a non-paginated array optimized for calendar views. Defaults to today's events if no date range is specified.
- Get Today's Events: Retrieve events scheduled for today, ordered by start time. Supports scope parameter to filter by user's own events or all company events (for admins).
- Get Events for Next Five Days: Retrieve events organized by date for the next 6 days (today plus next 5 days). Returns an object with date keys mapping to event arrays.
Key Features
Timezone Handling
- Event times are returned in the user's local timezone
- The start and end fields use formatted display strings (MM/DD/YYYY HH:MMAM/PM)
- The local_start and local_end fields provide ISO 8601 formatted timestamps with timezone information
Calendar Integration
- Automatic synchronization with Google Calendar and Outlook
- Event initiator tracking (rooflink, google, or outlook)
- Calendar associations for organizing events
Event Types
- Regular timed events with specific start and end times
- All-day events spanning entire days
- Any-time events without specific scheduling requirements
- Job-associated events linked to roofing projects
- Material order, work order, and collection events
Advanced Filtering
Events can be filtered by:
- Date ranges (start and end dates)
- Users and calendars
- Jobs and employees
- Trades
- Tags
- Invitation status
- Related entities
- Event types (material orders, work orders, collections)
