---
title: entities.reportSchedule
description: Read report schedule records with the reportSchedule repository, and change them with the report schedule mutations. Same records as the REST ReportSchedules entity.
canonical: https://developers.coevera.com/reference/graphql/report-schedule/
section: graphql
verification: schema
generatedFrom: schema f155746 (2026-10-20)
publisher: Coevera
---

# entities.reportSchedule

Read report schedule records with the reportSchedule repository, and change them with the report schedule mutations. Same records as the REST ReportSchedules entity.

REST: [ReportSchedules](https://developers.coevera.com/reference/rest/report-schedules.md).

## Queries

- `getById(entityId: ID!): ReportScheduleEntity` Returns the record with the given id, or null when there is none. Deleted records are returned as well.
- `getByIds(entityIds: [ID!]!): [ReportScheduleEntity!]!` Returns the records with the given ids; ids without a record are left out. Deleted records are returned as well.
- `getAll(limit: Int, offset: Int, filter: ReportScheduleFilterInput, orderBy: [ReportScheduleOrderByInput!], includeDeleted: Boolean): [ReportScheduleEntity!]!` Returns the records that match the filter, paged with limit and offset.
- `getByCriteria(filter: ReportScheduleFilterInput, orderBy: [ReportScheduleOrderByInput!], includeDeleted: Boolean, before: String, after: String, first: Int, last: Int): ReportScheduleEntityConnection` Returns the records that match the filter as a cursor-paginated connection.
- `getChangedFieldsSinceRevision(id: UUID!, revision: Int!): [UUID!]!` Returns the ids of the fields of a record that changed after the given revision. Returns an empty list for entities without change tracking.

## Mutations

- `createReportSchedule(input: CreateReportScheduleInput!, validationLevel: [ValidationLevel!]): CreateReportSchedulePayload` Create one record.
- `updateReportSchedule(input: UpdateReportScheduleInput!, validationLevel: [ValidationLevel!], sessionIdToUpdate: String): UpdateReportSchedulePayload` Update fields.
- `bulkUpdateReportSchedule(input: [CreateOrUpdateReportScheduleInput!]!, deleteInput: [DeleteReportScheduleInput!], validationLevel: [ValidationLevel!], rollbackMethod: RollbackMethod, match: MatchingInput): BulkUpdateReportSchedulePayload` Create or update many; per-item results.
- `deleteReportSchedule(input: DeleteReportScheduleInput!): DeleteReportSchedulePayload` Soft-delete.

## Types

### ReportScheduleEntity (object)

Schedule that emails a report to its recipients at regular intervals.

- `isDeleteProtected: Boolean!` True when the record is protected against deletion because it must always exist in the space. Deleting a record that is not protected can still fail on other checks. Read-only.
- `id: ID!` Unique identifier of entity.
- `isDeleted: Boolean` Specifies if the entity is considered deleted.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `owner: ClientEntity` User who owns the schedule. The schedule sends emails on behalf of this user.
- `report: ReportEntity` Report whose delivery is scheduled.
- `ownerId: ID!` Id of the owning user.
- `reportId: ID!` Id of the scheduled report.
- `settings: ReportScheduleSchema` Schedule configuration: cadence, timezone, recipients, email body and report attachment options. Stored as a JSON document. This payload conforms to the `ReportScheduleSchema` JSON Schema: GET /api/v100/rest/schemas/ReportScheduleSchema.json on your region's API host
- `revision: Int` Revision when entity was lastly changed.
- `documents: [CloudObjectRelationEntity!]` Files attached to scheduled emails sent for this report.
- `senderEmail: String` Email address used to send the scheduled report (company email when configured, otherwise the owner's personal email).
- `reportName: String!` Name of the scheduled report (mirror of the linked Report.name).
- `reportOwnerId: UUID!` Id of the user who owns the scheduled report.
- `reportType: ReportTypeEnum!` Kind of the scheduled report (e.g. TableReport, AdvancedReport, DashboardReport).
- `instancePermissions: [EntityPermsEnum!]! (1 args)` Permissions the current user has on this record, out of the requested ones.

### ReportScheduleEntityConnection (object)

Paginated list of ReportSchedule records.

- `pageInfo: PageInfo!` Pagination data for this connection.
- `edges: [ReportScheduleEntityEdge]!` Contains the nodes in this connection.
- `totalCount: Int` Total number of items in the connection.

### ReportScheduleEntityEdge (object)

A Relay edge containing a `ReportScheduleEntity` and its cursor.

- `node: ReportScheduleEntity` The item at the end of the edge
- `cursor: String!` A cursor for use in pagination

### ReportScheduleFilterInput (input)

Filter conditions for ReportSchedule records. Conditions on different fields are combined with AND; use OR, AND and NOT for other combinations.

- `OR: [ReportScheduleFilterInput!]` Matches records that meet at least one of the listed filters.
- `AND: [ReportScheduleFilterInput!]` Matches records that meet all of the listed filters.
- `NOT: ReportScheduleFilterInput` Matches records that do not meet this filter.
- `globalSearchQuery: String` Search term matched against the fields that the global search covers for this entity.
- `id: EntityFilterStringField` Unique identifier of entity.
- `isDeleted: Boolean` Specifies if the entity is considered deleted.
- `modified: EntityFilterDateTimeField` Last modification time.
- `created: EntityFilterDateTimeField` Creation time.
- `ownerId: EntityFilterStringField` Id of the owning user.
- `reportId: EntityFilterStringField` Id of the scheduled report.
- `revision: EntityFilterNumberField` Revision when entity was lastly changed.
- `owner: ClientFilterInput` User who owns the schedule. The schedule sends emails on behalf of this user. Matches records where a related record meets these conditions.
- `report: ReportFilterInput` Report whose delivery is scheduled. Matches records where a related record meets these conditions.
- `documents: CloudObjectRelationFilterInput` Files attached to scheduled emails sent for this report. Matches records where a related record meets these conditions.

### ReportScheduleOrderByInput (input)

Sorting of ReportSchedule records. Set exactly one field in each item; list several items to sort by more fields, in order of priority.

- `id: OrderByEnum` Unique identifier of entity.
- `isDeleted: OrderByEnum` Specifies if the entity is considered deleted.
- `modified: OrderByEnum` Last modification time.
- `created: OrderByEnum` Creation time.
- `owner: [ClientOrderByNestedInput!]` User who owns the schedule. The schedule sends emails on behalf of this user. Sorts by fields of the related record, listed in order of priority.
- `report: [ReportOrderByNestedInput!]` Report whose delivery is scheduled. Sorts by fields of the related record, listed in order of priority.
- `ownerId: OrderByEnum` Id of the owning user.
- `reportId: OrderByEnum` Id of the scheduled report.
- `revision: OrderByEnum` Revision when entity was lastly changed.

### CreateOrUpdateReportScheduleInput (input)

Field values of a ReportSchedule record to create, or to update when its id is set.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID` Unique identifier of entity.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `ownerId: ID` Id of the owning user.
- `reportId: ID` Id of the scheduled report.
- `settings: ReportScheduleSchemaJSONString` Schedule configuration: cadence, timezone, recipients, email body and report attachment options. Stored as a JSON document. This payload conforms to the `ReportScheduleSchema` JSON Schema: GET /api/v100/rest/schemas/ReportScheduleSchema.json on your region's API host
- `revision: Int` Revision when entity was lastly changed.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Files attached to scheduled emails sent for this report.

### CreateReportScheduleInput (input)

Field values of a new ReportSchedule record.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `ownerId: ID!` Id of the owning user.
- `reportId: ID!` Id of the scheduled report.
- `settings: ReportScheduleSchemaJSONString!` Schedule configuration: cadence, timezone, recipients, email body and report attachment options. Stored as a JSON document. This payload conforms to the `ReportScheduleSchema` JSON Schema: GET /api/v100/rest/schemas/ReportScheduleSchema.json on your region's API host
- `revision: Int` Revision when entity was lastly changed.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Files attached to scheduled emails sent for this report.

### DeleteReportScheduleInput (input)

Id of the ReportSchedule record to delete.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID!` Unique identifier of entity.

### UpdateReportScheduleInput (input)

Id of a ReportSchedule record and the field values to change.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID!` Unique identifier of entity.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `ownerId: ID` Id of the owning user.
- `reportId: ID` Id of the scheduled report.
- `settings: ReportScheduleSchemaJSONString` Schedule configuration: cadence, timezone, recipients, email body and report attachment options. Stored as a JSON document. This payload conforms to the `ReportScheduleSchema` JSON Schema: GET /api/v100/rest/schemas/ReportScheduleSchema.json on your region's API host
- `revision: Int` Revision when entity was lastly changed.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Files attached to scheduled emails sent for this report.

### BulkUpdateReportSchedulePayload (object)

Result of the bulkUpdateReportSchedule mutation.

- `result: BulkUpdateResults!` Ids of the created, updated and deleted records, and the items that failed.

### CreateReportSchedulePayload (object)

Result of the createReportSchedule mutation.

- `reportSchedule: ReportScheduleEntity` The created record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### DeleteReportSchedulePayload (object)

Result of the deleteReportSchedule mutation.

- `reportSchedule: ReportScheduleEntity` The deleted record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### UpdateReportSchedulePayload (object)

Result of the updateReportSchedule mutation.

- `reportSchedule: ReportScheduleEntity` The updated record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### CsvOptions (object)

Options of a scheduled report attached to its email as a CSV file.

- `includeForeignCurrency: Boolean` When true, monetary values are also rendered in each record's foreign currency alongside the base-currency amounts.
- `delimiter: CsvDelimiter` Character separating fields in the generated CSV: comma, semicolon, tab or colon.
- `quotechar: CsvQuotechar` Character used to quote field values that contain the delimiter: double quotation mark or apostrophe.
- `encoding: String` Character encoding of the generated CSV file (e.g. "UTF-8").

### EmailDataInterface (interface)

Recipients and content of an email sent automatically by an automation, an email sequence or a scheduled report.

- `recipients: [SendEmailRecipient!]!` Primary recipients of the email. Addresses may contain personalization tags resolved from the triggered record.
- `cc: [SendEmailRecipient!]!` Carbon-copy recipients of the email. Addresses may contain personalization tags resolved from the triggered record.
- `bcc: [SendEmailRecipient!]!` Blind carbon-copy recipients of the email. Addresses may contain personalization tags resolved from the triggered record.
- `subject: String!` Subject line of the email. May contain personalization tags resolved from the triggered record.
- `body: String!` HTML body of the email. May contain personalization tags resolved from the triggered record.
- `emailTemplateId: UUID` Email template to use for the message. When set, the template supplies the subject and body.
- `attachments: [UUID!]!` Stored files attached to the email.
- `signature: String` Signature appended to the email body.

### EmailFollowUpTask (object)

Follow-up task created each time a scheduled report email is sent.

- `taskTypeId: ID!` Activity type assigned to the follow-up task created when the report email is sent.
- `dueDateOffset: Int` Number of business days after the report email is sent that the follow-up task is due (0 = the sending day). Either this or `dueDate` must be set, but not both.
- `dueDate: Date` Explicit due date for the follow-up task. Either this or `dueDateOffset` must be set, but not both.

### ForeignCurrencyOption (interface)

Options of a scheduled report attachment that can add the amounts in foreign currencies.

- `includeForeignCurrency: Boolean` When true, monetary values are also rendered in each record's foreign currency alongside the base-currency amounts.

### PdfOptions (object)

Options of a scheduled report attached to its email as a PDF file.

- `pageWidth: Float!` Width of the PDF page, in inches.
- `pageHeight: Float!` Height of the PDF page, in inches.
- `landscape: Boolean!` When true, the PDF is laid out in landscape orientation; otherwise portrait.
- `scale: Float!` Scaling factor applied when rendering the report into the PDF, where 1.0 is full size.
- `pageNumbers: Boolean!` When true, page numbers are printed on the generated PDF.
- `content: ReportContent!` Which parts of the report to include in the PDF: All content, only Charts, or only the Table.

### ProcessScheduleTrigger (object)

Trigger that starts a process on a schedule for the records of an entity.

- `date: DateTime` Date and time the schedule runs once. Set for a one-time schedule; left empty for recurring schedules that use the time-of-day and day fields instead.
- `timeOfDay: Int` Time of day a recurring schedule runs, in minutes after midnight (0 to 1439).
- `dayOfWeek: [Int!]` Weekdays a weekly schedule runs on, from 1 (Monday) to 7 (Sunday).
- `dayOfMonth: [Int!]` Days of the month a monthly schedule runs on, from 1 to 31.
- `entityType: EntityNameEnum!` Type of record whose changes start this process, such as Lead, Opportunity, Account or Contact.
- `entityApiName: String` API name of the custom entity that starts this process. Set only when the trigger entity type is a custom entity.

### ReportSchedule (object)

When a scheduled report runs: once at a given date and time, or repeatedly at a time of day on chosen days.

- `date: DateTime` Date and time the schedule runs once. Set for a one-time schedule; left empty for recurring schedules that use the time-of-day and day fields instead.
- `timeOfDay: Int` Time of day a recurring schedule runs, in minutes after midnight (0 to 1439).
- `dayOfWeek: [Int!]` Weekdays a weekly schedule runs on, from 1 (Monday) to 7 (Sunday).
- `dayOfMonth: [Int!]` Days of the month a monthly schedule runs on, from 1 to 31.

### ReportScheduleSchema (object)

Settings of a scheduled report: when it runs, the email it sends and an optional follow-up task.

- `schedule: ReportSchedule!` Recurrence defining when the report is generated and emailed.
- `email: ScheduledReportEmail!` Email delivered on each run: recipients, sending account, content and report attachment options.
- `followUp: EmailFollowUpTask` Optional follow-up task created each time the report email is sent.
- `timezone: String` IANA timezone name used to interpret the schedule times (e.g. "Europe/Bratislava").
- `skipEmpty: Boolean!` When true, the scheduled email is not sent on runs where the report contains no data.
- `workingDaysOnly: Boolean` When true, scheduled runs that fall on a weekend are skipped.

### ScheduledReportEmail (object)

Email that delivers a scheduled report: recipients, sending account, content and the attached report file.

- `recipients: [SendEmailRecipient!]!` Primary recipients of the email. Addresses may contain personalization tags resolved from the triggered record.
- `cc: [SendEmailRecipient!]!` Carbon-copy recipients of the email. Addresses may contain personalization tags resolved from the triggered record.
- `bcc: [SendEmailRecipient!]!` Blind carbon-copy recipients of the email. Addresses may contain personalization tags resolved from the triggered record.
- `subject: String!` Subject line of the email. May contain personalization tags resolved from the triggered record.
- `body: String!` HTML body of the email. May contain personalization tags resolved from the triggered record.
- `emailTemplateId: UUID` Email template to use for the message. When set, the template supplies the subject and body.
- `attachments: [UUID!]!` Stored files attached to the email.
- `signature: String` Signature appended to the email body.
- `linkRecipients: Boolean` When true, the sent report email is linked to its recipient records (accounts/contacts) so it appears in their activity feed.
- `service: SendEmailService!` Email account used to send the report, described as a `SendEmailService` (personal, company, or client personal account).
- `personalAccount: EmailServiceTypeEnum` Legacy sending-provider selector (O365, Google, or SendGrid) kept for report settings created before per-account sending was introduced. Prefer `service`.
- `reportAttachment: ScheduledReportEmailAttachment` Settings for the report file attached to the email (format and compression). When omitted, the email must instead include the report download link in its subject or body.

### ScheduledReportEmailAttachment (object)

Report file attached to a scheduled report email: its format, and whether it is zipped and password-protected.

- `formatCsv: CsvOptions` Render the attached report as a CSV file with these options. Exactly one of the format fields may be set.
- `formatXlsx: XlsxOptions` Render the attached report as an XLSX file with these options. Exactly one of the format fields may be set.
- `formatHtml: Boolean` When true, attach the report as HTML. Exactly one of the format fields may be set.
- `formatPdf: PdfOptions` Render the attached report as a PDF with these options. Exactly one of the format fields may be set.
- `compress: Boolean` When true, the report attachment is delivered as a compressed ZIP archive.
- `password: String` Password protecting the compressed attachment. Can only be set when `compress` is enabled.
- `isPasswordEncrypted: Boolean` True when the stored `password` value is already encrypted rather than plain text.

### ScheduleInterface (interface)

When a schedule runs: once at a set date and time, or every day, week or month at a time of day.

- `date: DateTime` Date and time the schedule runs once. Set for a one-time schedule; left empty for recurring schedules that use the time-of-day and day fields instead.
- `timeOfDay: Int` Time of day a recurring schedule runs, in minutes after midnight (0 to 1439).
- `dayOfWeek: [Int!]` Weekdays a weekly schedule runs on, from 1 (Monday) to 7 (Sunday).
- `dayOfMonth: [Int!]` Days of the month a monthly schedule runs on, from 1 to 31.

### XlsxOptions (object)

Options of a scheduled report attached to its email as an Excel (XLSX) file.

- `includeForeignCurrency: Boolean` When true, monetary values are also rendered in each record's foreign currency alongside the base-currency amounts.
- `type: ReportXlsxType` Level of detail of the generated XLSX export: a "simplified" layout or the "full" report.

Types several repositories share, such as `PageInfo` and the filter fields, are in the [types index](https://developers.coevera.com/reference/graphql/types.md). The [SDL](https://developers.coevera.com/graphql/schema.graphql) has the whole schema in one file.

## Example

```graphql
query FirstReportSchedules {
  entities {
    reportSchedule {
      getByCriteria(first: 3, orderBy: [{ modified: Desc }]) {
        totalCount
        edges { node { id modified } }
      }
    }
  }
}
```

```bash
curl 'https://{region}.api.coevera.com/api/v100/app/space/{space_id}/graphql/public' \
  --user "$COEVERA_API_KEY:$COEVERA_API_SECRET" \
  --header 'Content-Type: application/json' \
  --data '{"query":"query FirstReportSchedules { entities { reportSchedule { getByCriteria(first: 3, orderBy: [{ modified: Desc }]) { totalCount edges { node { id modified } } } } } }"}'
```
