# Church Calendar

> Look up the Roman Catholic liturgical calendar from a workflow: what is celebrated today or on any date since 1970, the season, the rank and the liturgical colour, a whole month's feasts at once, and which cycle of readings is in use. Covers the General Roman Calendar in English, Latin, French and Italian, and the Czech national and diocesan calendars.

App · 5 actions. Web page: https://docs.lodol.com/docs/integrations/church-calendar

## Actions

### Get a liturgical day

Look up today, tomorrow, yesterday or any date since 1970 in the Catholic liturgical calendar: the season and week, what is celebrated, its rank and the liturgical colour, plus any optional memorials. Today is worked out on Central European time, the calendar service's clock; pick a specific date to be exact about it.

**Inputs**

- Calendar (`calendar`, text): Which calendar to read. The General Roman Calendar is the one the whole Church follows; the national and diocesan calendars add their own saints. Defaults to the General Roman Calendar in English. Default: `general-en`.
- Day (`when`, text): Which day to look up. One of: `today`, `tomorrow`, `yesterday`, `date` (A specific date). Default: `today`.
- Date (`day`, date): The date to look up, from 1970 onwards. Only when Day is A specific date.
- Language (`language`, text): The language for the names of seasons, weekdays and ranks. Leave it empty to use the calendar's own language, so the whole answer reads in one: saints' names always come in the calendar's language. One of: `en` (English), `la` (Latin), `it` (Italian), `fr` (French), `cs` (Czech).

**Outputs**

- `calendar` (text): The ID of the calendar read.
- `celebrations` (list): Every celebration the day allows, the one that takes precedence first.
- `colour` (text): The liturgical colour of the vestments: green, violet, white or red.
- `date` (text): The date, as YYYY-MM-DD.
- `is_feast_day` (true/false): Whether the day is a solemnity, a feast or one of the principal days (such as Ash Wednesday or a Sunday of Advent, Lent or Easter), rather than an ordinary Sunday or weekday.
- `language` (text): The code of the language the answer is in.
- `optional_memorials` (list): The optional memorials a parish may keep instead. Usually empty.
- `rank` (text): The rank as the calendar names it, in the chosen language, such as 'memorial' or 'solemnity'.
- `rank_type` (text): The rank in plain English, whatever the language: Easter Triduum, Principal day, Solemnity, Feast of the Lord, Sunday, Feast, Privileged weekday, Memorial, Optional memorial or Weekday.
- `season` (text): The liturgical season: Advent, Christmas, Lent, Easter or Ordinary Time.
- `season_week` (number): Which week of the season it is, as numbered in the liturgical books.
- `title` (text): What the day is: the saint or feast celebrated, or the weekday's name, such as 'Wednesday, 28th week in Ordinary Time'.
- `weekday` (text): The day of the week, such as Thursday.

**Example output**

```json
{
  "calendar": "general-en",
  "celebrations": [
    {
      "colour": "green",
      "rank": "ferial",
      "rank_number": "3.13",
      "rank_type": "Weekday",
      "title": "Friday, 28th week in Ordinary Time"
    },
    {
      "colour": "white",
      "rank": "optional memorial",
      "rank_number": "3.12",
      "rank_type": "Optional memorial",
      "title": "Saint Hedwig, religious"
    }
  ],
  "colour": "green",
  "date": "2026-10-16",
  "is_feast_day": false,
  "language": "en",
  "optional_memorials": [
    "Saint Hedwig, religious"
  ],
  "rank": "ferial",
  "rank_type": "Weekday",
  "season": "Ordinary Time",
  "season_week": 28,
  "title": "Friday, 28th week in Ordinary Time",
  "weekday": "Friday"
}
```

### Get a month of liturgical days

Get every day of a month in the Catholic liturgical calendar, with what is celebrated, its rank and colour, and a short list of just the feast days. Leave Year and Month empty for the current month.

**Inputs**

- Calendar (`calendar`, text): Which calendar to read. The General Roman Calendar is the one the whole Church follows; the national and diocesan calendars add their own saints. Defaults to the General Roman Calendar in English. Default: `general-en`.
- Year (`year`, number): The year, from 1970 onwards. Defaults to this year. From 1970 to 9999.
- Month (`month`, text): The month. Defaults to this month. One of: `1` (January), `2` (February), `3` (March), `4` (April), `5` (May), `6` (June), `7` (July), `8` (August), `9` (September), `10` (October), `11` (November), `12` (December).
- Language (`language`, text): The language for the names of seasons, weekdays and ranks. Leave it empty to use the calendar's own language, so the whole answer reads in one: saints' names always come in the calendar's language. One of: `en` (English), `la` (Latin), `it` (Italian), `fr` (French), `cs` (Czech).

**Outputs**

- `calendar` (text): The ID of the calendar read.
- `count` (number): How many days are in the month.
- `days` (list): Every day of the month, in order.
- `feast_days` (list): Just the days marked as feast days: solemnities, feasts and the principal days. Handy for a reminder or a newsletter.
- `language` (text): The code of the language the answer is in.
- `month` (number): The month, as a number from 1 to 12.
- `month_name` (text): The month's name, such as December.
- `year` (number): The year.

**Example output**

```json
{
  "calendar": "general-en",
  "count": 30,
  "days": [
    {
      "celebrations": [
        {
          "colour": "white",
          "rank": "solemnity",
          "rank_number": "1.3",
          "rank_type": "Solemnity",
          "title": "All Saints"
        }
      ],
      "colour": "white",
      "date": "2026-11-01",
      "is_feast_day": true,
      "optional_memorials": [],
      "rank": "solemnity",
      "rank_type": "Solemnity",
      "season": "Ordinary Time",
      "season_week": 31,
      "title": "All Saints",
      "weekday": "Sunday"
    }
  ],
  "feast_days": [
    {
      "colour": "white",
      "date": "2026-11-01",
      "rank_type": "Solemnity",
      "title": "All Saints",
      "weekday": "Sunday"
    }
  ],
  "language": "en",
  "month": 11,
  "month_name": "November",
  "year": 2026
}
```

### Get calendar details

Get a calendar's title and language, and the first year it covers.

**Inputs**

- Calendar (`calendar`, text): Which calendar to read. The General Roman Calendar is the one the whole Church follows; the national and diocesan calendars add their own saints. Defaults to the General Roman Calendar in English. Default: `general-en`.

**Outputs**

- `effective_since` (number): The first year the calendar covers. Earlier dates are refused.
- `id` (text): The calendar's ID, such as general-en. Any Calendar field takes it.
- `label` (text): Its title with its language, as the Calendar list shows it.
- `language` (text): The code of the calendar's own language, such as en.
- `language_name` (text): That language's name, such as English.
- `promulgated` (number): The year the calendar system was promulgated.
- `system_description` (text): How the calendar system was promulgated.
- `title` (text): The calendar's title, in its own language.

**Example output**

```json
{
  "effective_since": 1970,
  "id": "general-en",
  "label": "General Roman Calendar (English)",
  "language": "en",
  "language_name": "English",
  "promulgated": 1969,
  "system_description": "promulgated by motu proprio Mysterii Paschalis of Paul VI. (AAS 61 (1969), pp. 222-226).",
  "title": "General Roman Calendar"
}
```

### Get the lectionary cycle

Find which cycle of Mass readings is in use on a date: Year A, B or C for Sundays and Year I or II for weekdays. The liturgical year starts on the first Sunday of Advent, so a date in December can fall in the next year's cycle; this works that out and returns the year's first and last day.

**Inputs**

- Date (`day`, date): The date to check, from Advent 1970 onwards. Defaults to today.

**Outputs**

- `date` (text): The date asked about, as YYYY-MM-DD.
- `ends_on` (text): The last day of that liturgical year.
- `liturgical_year` (text): The liturgical year the date falls in, such as 2026–2027. It starts on the first Sunday of Advent.
- `starts_on` (text): The first day of that liturgical year.
- `summary` (text): Both cycles in a sentence.
- `sunday_cycle` (text): The Sunday readings' cycle: A, B or C.
- `weekday_cycle` (text): The weekday readings' cycle: I or II.

**Example output**

```json
{
  "date": "2026-10-15",
  "ends_on": "2026-11-28",
  "liturgical_year": "2025\u20132026",
  "starts_on": "2025-11-30",
  "summary": "Sunday readings: Year A. Weekday readings: Year II.",
  "sunday_cycle": "A",
  "weekday_cycle": "II"
}
```

### List calendars

List every calendar the service offers, from the General Roman Calendar in English, Latin, French and Italian to the Czech national and diocesan calendars, each with its ID and language.

**Inputs**: None.

**Outputs**

- `calendars` (list): Every calendar the service offers.
- `count` (number): How many calendars there are.

**Example output**

```json
{
  "calendars": [
    {
      "id": "general-en",
      "is_default": true,
      "label": "General Roman Calendar (English)",
      "language": "en",
      "language_name": "English",
      "title": "General Roman Calendar"
    },
    {
      "id": "general-la",
      "is_default": false,
      "label": "Calendarium Romanum Generale (Latin)",
      "language": "la",
      "language_name": "Latin",
      "title": "Calendarium Romanum Generale"
    }
  ],
  "count": 2
}
```
