Events

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)