Contents
How Communications Works
The Communications module (/communications) plans, produces, and schedules church announcements across multiple delivery channels from a single place.
Announcements and placements
Work is organized around two concepts:
- An Announcement: The central event, program, or ministry focus. An announcement holds the event title, start and end dates, start and end times, repetition rule, ministry area, requester notes, public description copy, and a Google Drive link to a master graphic.
- A Placement: The scheduled appearance of that announcement on a specific communication channel. Each placement holds its due dates, optional custom wording for that channel, internal notes for the team, and a tentative confirmation flag.
The eight delivery channels
CPCana coordinates announcements across eight channels:
| Channel | Label on screen | Usage |
|---|---|---|
SUNDAY | Sunday announcements | Spoken pulpit announcements, service run-of-show mentions, and sanctuary display slides. |
WEBSITE | Website | Front-page feature banners, calendar entries, and web articles. |
APP | App | Church mobile app home feed cards, group updates, and in-app cards. |
SOCIAL | Social media | Posts and stories across church social media accounts. |
EMAIL | The weekly email newsletter, congregational blasts, and targeted ministry emails. | |
SIGN | Sign | Roadside marquee signs, outdoor banners, and entrance signs. |
BULLETIN_BOARD | Bulletin board | Physical hallway corkboards, community boards, and foyer kiosk displays. |
PULSE | Pulse (print) | Printed worship guides, monthly ministry magazines, and paper bulletin inserts. |
Pipeline stages
Every announcement moves through a sequence of stages:
┌─────────────────┐ ┌──────────────────┐ ┌────────────────┐ ┌──────────────────┐
│ 1. NEW REQUEST │ ──▶ │ 2. PRODUCTION │ ──▶ │ 3. REVIEW │ ──▶ │ 4. PUBLISHING │
│ Coordinator │ │ Graphic & Copy │ │ Reviewer │ │ Publisher │
│ Triage & Plan │ │ Make art & words │ │ Approve or note│ │ Mark each day │
└─────────────────┘ └──────────────────┘ └────────────────┘ └──────────────────┘- New request: A submitted request arrives on the Requests tab and waits for Coordinator review.
- In production: Parallel production tasks are assigned to create artwork and draft public text.
- In review: When both artwork and text are finished, the Reviewer inspects the materials and either approves them or returns them with notes.
- Approved: The Reviewer has approved the graphic and description. Publishing carries on: each channel date has its own task, and the Publisher marks each one when it goes out.
- Archived or Declined: Finished announcements can be archived; rejected requests are marked declined.
An announcement's stage is calculated dynamically from the completion state of its linked production tasks, rather than stored as an independent field. Finishing the underlying tasks advances the stage automatically.
Integration with CPCana tasks
Every step in the pipeline creates a standard CPCana task in the designated Communications project. Tasks carry assignees and due dates, and appear in each team member's Inbox, My Tasks, and Calendar views.
Finishing a task anywhere counts. Checking off a task in My Tasks, dragging it to Done on a project board, or clicking Mark published on a communications screen updates the announcement stage and channel progress across the system. A task moved to the Trash counts as missing, not done. Clicking the home link on any communications-generated task navigates directly to that announcement's page.
Who can do what
- Anyone signed in can open the Communications screens and look.
- Editing (creating announcements, approving or declining requests, changing channels, dates and the graphic link, Archive, Copy to next year) takes a Communications role, or a Manager or Administrator account.
- Approving a review or requesting changes takes the Reviewer, a Manager, or an Administrator.
- Mark published and finishing any task take only membership in the Communications project, the same as on the project board.
- Settings and role assignments are for Managers and Administrators.
Getting Announcements In
Announcements come in through the public request form, New announcement, or Add several (which can also import a CSV):
The public request form
Ministry leaders and volunteers without an CPCana user account can submit requests through the public form at /request-announcement.
The form collects:
- Your name * and Your email *
- Ministry * (such as Youth, Women's Ministry, or Outreach)
- Event name * and Event date * (with optional End date and Start time)
- Tell us about it * (event details, audience, and registration links)
- Where should it be announced? A checklist to pick desired channels and target dates
- Please design a graphic for this A toggle (enabled by default) with an optional notes field for size, colors, or image links
Submitting the form displays Thanks — the communications team will be in touch. The request appears on the Requests tab with status New request, and a Review request task is assigned to the Coordinator. If no project has been chosen yet in Settings, the request is still saved and shown on Requests, but no Review request task is made. The requested channels remain inactive and generate no publish tasks until the Coordinator approves them. For abuse protections and limits, see Request form protections and limits.
New announcement
Staff members with a Communications role, Managers, and Administrators can create announcements directly at /communications/new by clicking New announcement in the header.
The page collects:
- Title *
- Event date * and optional End date
- Optional Start time and End time
- Repeat (Does not repeat, Weekly, or Monthly; repeating events require an end date)
- Ministry
- Details (background notes and sign-up links)
- Graphic link (optional) (a Google Drive link)
- Where should it go? A checklist to select channels and due dates
Staff-created announcements skip triage and go straight into production, with the stage In production. Click Create announcement to save.
Add several
To enter multiple announcements at once, click Add several (/communications/bulk) next to New announcement.
The screen presents an editable table:
- Starts with 5 rows. Click + Add row to add rows, up to a maximum of 50 rows per batch.
- Columns include #, Title *, Event date *, End date, Start time, End time, Ministry, Graphic link, checkboxes for all eight channels, and row actions.
- Each channel column header includes a checkbox to select that channel for every row in the table.
- Each row can be duplicated with Duplicate or deleted with ×.
- Blank rows with no text entered are ignored and will not cause validation errors.
- Every row with content requires at least one channel. Ticked channels receive their standard lead-time due date relative to the event date.
- Submit the batch by clicking Add announcements.
Nothing is added unless every row is valid; if any row has a problem, none are created and the problem rows are highlighted. Each team member receives one consolidated notification summarizing their assigned tasks across the batch. If generating tasks for a large batch exceeds the 8-second execution budget, the remaining tasks are generated automatically during the next morning sweep.
Import CSV and download CSV template
Beside + Add row sit Import CSV and Download CSV template.
- Click Download CSV template to obtain a starter spreadsheet containing the expected header columns and two example rows.
- Click Import CSV to choose a CSV file and populate the table.
- Imported data fills the table for visual inspection and correction before anything is saved.
- For column specifications, header matching, date formats, and validation rules, see Validation rules for Add several and CSV.
Repeating Channels (×1–×4)
When adding several announcements, you can repeat a channel using the ×1–×4 selector. For example, selecting ×2–×4 adds that many weeks in a row before the event (Sunday announcements land on consecutive Sundays).
Importing from eSpace
Staff can import events directly from an eSpace export. Export the All CPC Events report from eSpace as a CSV file and choose From eSpace file to upload it. When a full calendar export is uploaded, CPCana performs a reconciliation preview comparing the CSV against active announcements to show what is new, rescheduled, or unchanged. CPCana only reads this file; nothing is written back to eSpace. A banner alerts the Coordinator to review any eSpace changes (like rescheduled dates) that affect existing announcements.
For the Coordinator: Reviewing Requests
The Coordinator reviews incoming requests, selects delivery channels, confirms graphic needs, and initiates production.
The Requests tab
The Requests tab (/communications/requests) lists all announcements waiting for triage:
- Announcements with status New request.
- Active announcements where one or more requested channels have not yet been decided.
When a request arrives, the Coordinator is assigned a task titled Review request: [Title], due within 2 days.
Reviewing requests with specific channels
When a requester selects channels on the public form, opening the announcement displays the Channels waiting for a decision panel:
- Inspect request details: Review the requester's name, email, ministry, and notes.
- Review channels: Each requested channel appears with its requested due date inputs and individual Approve and Decline buttons.
- Decide each channel individually:
- Approve: You can adjust the due date directly in the input field and click Approve. Approving a channel immediately activates that placement, generates its publish tasks inside the publish window, and creates the single Graphic, Copy, and Review tasks. The first approved channel moves the announcement into production (In production). The requester receives an automated email confirming that channel and date.
- Decline: Click Decline to open the decline dialog. You can enter an optional reason in Reason (optional) and click Decline [Channel]. The channel is marked declined, and the requester receives an automated email with your note.
- Completion of triage:
- Remaining requested channels stay pending on the Requests tab (badged with the number of channels to review) until decided.
- Once every channel has been approved or declined, the Review request triage task is marked Done.
- If all requested channels are declined and none were approved, the announcement status changes to Declined. If at least one channel was approved, declining the remaining channels simply completes triage while the announcement stays active.
- While the request is still new, you can reject the entire submission at once by clicking Decline the whole request.
Reviewing requests without pre-selected channels
When an announcement is submitted without channels (or added internally), the New request triage panel displays Where should it go?:
- Select the appropriate channels and due dates using the checklist.
- Click Approve and start production to accept the request, generate tasks, and notify the requester.
- Click Decline to decline the entire request with an optional explanation note.
The graphic switch
In the New request box shown for requests that picked channels, a Design a graphic for this checkbox reflects the requester's choice, with their notes beneath it. The Coordinator has the final decision:
- When checked, a Make graphic task is generated for the Graphic role.
- When unchecked, no Make graphic task is created (any existing open graphic task is moved to the Trash), and the announcement will move to review as soon as the description is written.
Requester email notifications
The system sends automated, plain-text emails to the requester's address during review. The emails contain no links:
- Submission confirmation: Sent upon initial receipt, listing the requested channels.
- Channel approval: Sent when a channel is approved, stating the approved channel and scheduled run dates.
- Channel rejection: Sent when a channel is declined, containing the Coordinator's explanation note.
- Request approval: Sent when a request without channel selections is approved.
- Request rejection: Sent when an entire request is declined, containing the Coordinator's explanation note.
For Graphic and Copy: Production
When an announcement enters production, two parallel tasks are created in the Communications project. Both tasks are created once per announcement, regardless of how many channels or dates are scheduled.
Graphic role
The Graphic role creates the master visual asset:
- Task title: Make graphic: [Title]
- Due date: Set by the Graphic and description due setting (default 14 days before the earliest channel due date). Clamped to today if approved late.
- Workflow:
- Open the announcement page at
/communications/[id]. - Locate the Graphic subsection inside What.
- Paste the file link into the Google Drive link to the graphic field. Only links starting with
https://drive.google.comorhttps://docs.google.comare accepted (up to 2,000 characters). - Click Save link.
- Confirm file permissions in Google Drive allow project members to view the file.
- Mark the Make graphic task Done on your project board, in My Tasks, or via task details.
- Open the announcement page at
To update an existing link, click Change link. To remove it, click Remove.
Copy role
The Copy role writes the core announcement text:
- Task title: Write description: [Title]
- Due date: Set by the Graphic and description due setting (default 14 days before the earliest channel due date). Clamped to today if approved late.
- Workflow:
- Open the announcement page at
/communications/[id]. - Locate Description (public text) inside What.
- Click Write description (or Edit description).
- Draft the text (up to 4,000 characters) and click Save.
- If specific delivery channels need customized wording, scroll to Where and when, click Details under that channel, and enter custom text in Text for this channel (blank uses the description). Leaving that field blank falls back to the main description.
- Mark the Write description task Done.
- Open the announcement page at
Overdue tasks
If a Graphic or Copy task becomes overdue, it retains its original due date and displays an overdue warning. It does not slide forward to today.
Advancing to review
When both the Graphic and Copy tasks are marked Done (or Copy alone if graphic design was disabled), the announcement advances to stage In review.
For the Reviewer: Approve or Request Changes
The Reviewer verifies that copy and graphics are complete and accurate before publication tasks are locked in.
The review task
The Review: [Title] task is created once per announcement, at the same moment as the Graphic and Copy tasks. It stays open until you approve.
- Due date: Set by the Review due setting (default 10 days before the earliest channel due date). Clamped so it is never due before production tasks.
Conducting the review
Approve and Request changes appear on the announcement page once the stage is In review, and only to the Reviewer, Managers and Administrators. Open the announcement page at /communications/[id]:
- Check the master graphic link under What by clicking Open in Drive.
- Review the public copy under Description (public text).
- Verify scheduled channels and due dates under Where and when.
Approving the announcement
If the materials are ready:
- Locate the Who is on it section at the bottom of the page.
- Click Approve.
- The review task is marked Done, and the announcement stage becomes Approved.
Requesting changes
If revisions are required:
- Click Request changes in the Who is on it section header.
- In the modal:
- Under Send back to *, select Graphic, Description, or both.
- In Feedback / instructions *, write clear revision instructions (up to 2,000 characters).
- Click Send feedback.
- The system:
- Sets each selected task back to To Do.
- Posts your instructions as a comment on each selected task, starting "Changes requested:".
- Moves the announcement stage back to In production. It returns to In review when the sent-back tasks are Done again.
For the Publisher: Putting It Out
The Publisher executes the release of announcements across church channels on their scheduled dates.
How publish tasks work
- Each channel due date creates its own separate publish task for the Publisher.
- Task title format:
[Action verb]: [Title] ([Formatted Date]). For example,Announce on Sunday: Fall Festival (Sun Oct 10)orSend in email: Fall Festival (Fri Oct 22). - Generation window: Tasks are generated up to Create publish tasks days ahead (default 14 days). Dates further out are created each morning by the daily background sweep as they enter the window. Past dates do not generate tasks.
The This Week view
The This Week tab (/communications/this-week) serves as the daily operational checklist:
- Week navigator: Use ← Previous week and Next week → to change weeks. The header shows the Sunday–Saturday span.
- Sunday section: Lists all announcements running during Sunday worship services.
- Due this week section: Groups all other active placements by channel (Website, App, Social media, Email, Sign, Bulletin board, Pulse (print)).
- Stuck in production section: Lists active announcements with overdue production tasks or tasks due by the end of the current week, showing the blocked step and assignee.
- By person section: Groups all open communications tasks due this week by assigned team member (including an Unassigned group), with direct links to each task.
Publishing workflow
On the day an announcement is due:
- Open This Week (
/communications/this-week). - Locate the announcement card under Sunday or Due this week.
- Click Copy text to copy the formatted channel text to your clipboard. The button confirms with
Copied!. - Click Graphic ↗ to open the master graphic in Google Drive.
- Post or print the announcement on the external channel.
- Click Mark published on the card. The button displays
Publishing…and changes to a Published badge.
Alternatively, check off the publish task in My Tasks or on the project board; the screen reflects the update immediately.
Planning Views
CPCana provides three planning views to oversee communications across different timeframes:
This Week
Navigate to /communications/this-week to view operational requirements for the current seven-day window. Use this screen for weekly execution, bulletin assembly, Sunday slide prep, and monitoring production bottlenecks.
Origin badge: A badge displays whether an announcement came from Staff, a Request, or eSpace.
Expandable rows: Click the arrow at the left of any row to expand its details in place, revealing Who, What, When, and Where panes. You can mark steps like the graphic, description, or channels as done right from the row.
The Announcements Page
The Announcements page replaces the old Dashboard, All list, and Month/Year overviews, serving as a powerful multi-facet filter engine.
- KPI health bar: Quick counts at the top track Active, Awaiting triage, In production, Ready for review, Overdue, and eSpace changes to review. Clicking a count filters the list.
- Views and Filters: Filter by title, stage, origin, channel, ministry, role, assignment, timeframe (like This month or This year with navigation arrows), and specific flags.
- Saved views: Switch between built-in views like All active, This month (calendar), Needs my review, eSpace schedule (next 60 days), and Social & digital queue. Managers can save their filter combinations as custom views and share them with the team.
Changing an Announcement
Announcements can be edited at any point in their lifecycle from /communications/[id].
Editing event details
To change an announcement's core schedule or metadata:
- In the What section header, click Edit event details.
- A modal allows editing:
- Title *
- Start date * and optional End date
- Optional Start time and End time
- Repeats (Does not repeat, Repeats weekly, or Repeats monthly)
- Ministry
- Click Save event details.
Adjusting channels and dates
In the Where and when section:
- Add or remove channels: Check or uncheck channel checkboxes.
- Change due dates: Edit any date input directly.
- Add additional dates: Click + add date to add another due date 7 days after the previous date (up to 60 dates per channel).
- Remove a date: Click × next to a specific date field.
- Save changes: Modifying any channel displays Cancel and Save channels. Unsaved changes are discarded if you leave the page. Click Save channels to commit.
Placement details and Maybe flags
Click Details next to any ticked channel to open its configuration drawer:
- Notes for the team: Internal logistics notes (such as "Front page banner" or "Pulpit slides", up to 500 characters).
- Text for this channel (blank uses the description): Custom copy specific to this channel (up to 4,000 characters).
- Maybe (not confirmed yet): A checkbox for tentative placements. When enabled, an amber Maybe badge appears beside the channel across the announcement page, This Week, and the Announcements page.
Removing channels and dates
When you uncheck a channel or remove a date and click Save channels:
- Any open tasks associated with that channel or date are moved to the Trash.
- Any tasks already marked Done are preserved in the project history.
The graphic link
Under What > Graphic:
- Click Change link to paste an updated Google Drive URL and click Save link.
- Click Remove to clear the graphic link.
- If a graphic was originally uploaded under CPCana's prior storage system before Google Drive links were introduced, updating or removing the link deletes the old file from cloud storage.
Copy to next year
Annual events (such as Vacation Bible School, Easter, or Christmas services) can be duplicated for the following year:
- Open the existing announcement.
- In the top header, click Copy to next year.
- CPCana creates a new announcement shifted forward exactly 52 weeks (364 days), preserving the identical day of the week for the event and all channel due dates.
- All approved channels' dates, notes, Maybe flags, and request details copy over. Declined or undecided channels do not copy.
- The graphic preference (yes/no and notes) copies over, but the graphic link itself is cleared.
- The main public description copies over, but custom channel-specific text is cleared.
- The new announcement launches fresh into production with new tasks.
Archiving and restoring
In the announcement header:
- Active announcements display Archive. Archiving an announcement moves all its open tasks to the Trash and sets its stage to Archived.
- Archived announcements display Restore. Restoring an announcement reactivates it with status Active and regenerates missing open tasks.
Setting Up Communications (Admins and Managers)
Administrators and Managers configure project routing, pipeline roles, and lead times at /communications/settings.
Enabling the module
The module is activated through the ENABLED_MODULES environment variable:
- Include
'communications'in the comma-separated list (for example,ENABLED_MODULES="inventory,meetups,communications"orENABLED_MODULES="all"). - When omitted or unset, all
/communicationsroutes and/request-announcementreturn 404.
Choosing the project
Under Settings > Project for Communications tasks:
- Select a shared CPCana project from the dropdown.
- All communications tasks (reviewing requests, making graphics, writing descriptions, review, and publishing) are created in this project.
- Mandatory guard: Approving requests and creating tasks are blocked until a project is chosen. Attempts to approve show:
Choose a project for Communications tasks in Communications → Settings first. - A person receives task assignments only if they are a member of the selected project or an Administrator.
The five roles and assignments
Communications workflows are divided across five pipeline roles:
| Role | On-screen label | Description |
|---|---|---|
COORDINATOR | Coordinator | Reviews new requests and starts production. Gets any task whose role is empty. |
GRAPHIC | Graphic | Makes the graphic for each announcement. |
COPY | Copy | Writes the description people will read. |
REVIEWER | Reviewer | Approves the graphic and description, or sends them back with a note. |
PUBLISHER | Publisher | Puts each announcement out on every channel when it is due. |
- One person can hold several roles, or all five.
- In each role card under Who does what, select a user from the Assign person dropdown, or select Nobody to clear it.
Role reassignment
When a role is assigned to a different person:
- Confirmation dialog: If the previous holder has open tasks for that role, a modal confirms:
Move open tasks: [X] open tasks will move from [Old Name] to [New Name]. Finished tasks stay with whoever did them. - Only open tasks move: Open tasks for that role's step transfer to the new person.
- Finished tasks stay: Completed tasks remain with whoever did them to preserve audit history.
- Project membership check: If the new assignee is not a member of the Communications project, tasks they cannot access remain with the previous holder. A banner reports:
Moved X of Y open tasks. The rest stayed because the new person is not a member of the Communications project. - Clearing a role: Setting a role to Nobody moves nothing. Open tasks remain with their current assignees.
- Reassigning roles sends no individual assignment notification emails.
Filling an empty role
When you give an empty role to someone, the role's open tasks that had fallen back to the Coordinator, or were left unassigned, move to the new person. The same project-membership check applies.
Empty-role fallback
If a role is set to Nobody, or if the assigned person lacks access to the Communications project:
- Newly generated tasks for that step fall back automatically to the Coordinator.
- If the Coordinator is also unassigned (or lacks project access), tasks are created Unassigned.
Lead-time settings
Under Settings, configure the lead times that govern task due dates relative to an announcement's earliest channel due date:
| Setting | Default | Range | Description |
|---|---|---|---|
| Graphic and description due | 14 days | 0–120 | |
| Review due | 10 days | 0–120 | |
| Create publish tasks | 14 days | 1–60 |
Lead-time rules:
- Production tasks (Graphic, Copy, Review) occur once per announcement, scheduled relative to the earliest channel due date.
- Publish tasks occur per scheduled date.
- Past dates are never assigned. If an announcement is approved close to its event, production due dates clamp to today.
- Once a production task exists and becomes overdue, it retains its due date instead of sliding forward.
The public request link
The Public Announcement Request Link card displays the URL (/request-announcement) with a Copy button. Share this link with ministry leaders and volunteers so they can submit announcement requests without logging in.
The daily sweep
CPCana runs an automated background sweep once a day at 11:30 UTC (6:30 AM Central during daylight time, 5:30 AM otherwise):
- Looks at every active announcement that still has a channel running.
- Creates publish tasks for upcoming channel dates as they come into the Create publish tasks window.
- Creates any tasks that Add several couldn't finish inside its 8-second budget.
- Does nothing until a project is chosen in Settings.
- Running it twice is safe: each task slot is claimed before its task is made, so a repeat run creates nothing new.
Reference
Standard lead times
When a channel is ticked on any form, its due date is automatically calculated from its built-in rule relative to the event start date:
| Channel | Standard due date | Publish task starts with |
|---|---|---|
| Sunday announcements | Sunday before the event | Announce on Sunday |
| Website | 14 days before the event | Post to website |
| App | 14 days before the event | Post to app |
| Social media | 7 days before the event | Post to social media |
| Friday before the event | Send in email | |
| Sign | 13 days before the event | Put up sign |
| Bulletin board | 14 days before the event | Post on bulletin board |
| Pulse (print) | 14 days before the event | Run in Pulse |
If the calculated date has already passed, the date field defaults to today. Staff can adjust any date manually or add more dates.
The communications task model
The task model follows these rules:
- Graphic, Copy, and Review happen once per announcement: Regardless of how many channels or dates are scheduled, there is at most one Graphic task, one Copy task, and one Review task.
- Production due dates count back from first go-live: Due dates are calculated from the earliest channel due date across all approved placements.
- Publish tasks happen per date: Each channel due date creates its own separate publish task for the Publisher.
- Overdue tasks stay put: If a task becomes overdue, its due date remains fixed and shows an overdue warning.
- No tasks in the past: Due dates are never set before today upon creation.
Worked example: Vacation Bible School (VBS)
An announcement for Vacation Bible School with an event start date of Sunday, June 15:
- Channels selected:
- Sunday announcements: May 25, June 1, and June 8 (3 dates)
- Social media: June 1 (1 date)
- Earliest channel due date: May 25
- Task calculations (using default settings):
- Graphic lead: May 25 − 14 days = May 11
- Copy lead: May 25 − 14 days = May 11
- Review lead: May 25 − 10 days = May 15
- Generated tasks (7 total):
Make graphic: VBS(due May 11)Write description: VBS(due May 11)Review: VBS(due May 15)Announce on Sunday: VBS (Sun May 25)(due May 25)Announce on Sunday: VBS (Sun Jun 1)(due June 1)Announce on Sunday: VBS (Sun Jun 8)(due June 8)Post to social media: VBS (Sun Jun 1)(due June 1)
Validation rules for Add several and CSV
Bulk additions and CSV imports enforce these constraints:
| Field | Constraint | Validation message |
|---|---|---|
| Title | Required, max 200 characters | Give it a title. |
| Event date | Required, valid calendar date | Pick the event date. |
| End date | Optional; must be on or after event date | The event ends before it starts. |
| Event timeframe | Last day cannot be in the past | This event is already over. |
| Channels | At least one channel must be selected | Tick at least one channel. |
| Graphic link | Optional; must start with Google Drive/Docs host | Paste a Google Drive link (it starts with https://drive.google.com or https://docs.google.com). |
| Table duplicates | Same title and date cannot appear twice in batch | Same title and date as a row above. |
| Existing events | Cannot match existing announcement with same title and date | Already in Communications. (with an Open it link) |
CSV parsing specifications:
- Batch cap: Maximum 50 rows per batch. Extra rows in a CSV are omitted with an informational notice.
- Required columns:
TitleandStart Date(orEvent Date). - Optional columns:
End Date,Start Time,End Time,Ministry,Graphic Link. - Channel columns:
Sunday announcements,Website,App,Social media,Email,Sign,Bulletin board,Pulse (print). - Channel values:
YorYesenables the channel;N,No, or a blank cell leaves it off. Unrecognized values generate a warning row. Missing channel columns are treated asN. - Date formats: ISO
yyyy-mm-dd(e.g.2031-06-15) and Excel US formatm/d/yyyy. - Time formats: 24-hour
hh:mm(e.g.18:30).
Request form protections and limits
The public request form at /request-announcement enforces these security and data limits:
- Rate limiting: Maximum 5 requests per email address per hour and 8 requests per IP address per hour. Excess requests return
Too many requests. Please try again in an hour. - Bot protection: Invisible honeypot field. If filled, the submission is silently dropped while returning a simulated success response.
- Date window: The event start date must be today or in the future, and no more than 730 days (2 years) ahead.
- Character limits:
- Requester Name: 120 characters
- Requester Email: 200 characters
- Ministry: 120 characters
- Title: 200 characters
- Event Details: 4,000 characters
- Graphic notes: 1,000 characters
- Dates per channel: maximum 60
Known limitations
Repeating events: Setting a repeating schedule (weekly or monthly) stores the pattern, but channel due dates are explicitly set and do not automatically duplicate for each recurrence.
Single master graphic link: Announcements store one Google Drive link for the master graphic. Channel-specific image variations or dimensions are not stored separately.
Communications project requirement: The module requires a configured project in
/communications/settings. Approving requests and creating tasks are blocked until one is selected.Calendar overlay: Communications placements appear on the CPCana calendar view only as their generated tasks, not as a distinct communications overlay layer or external ICS feed.
Daily cron schedule: Forward publish tasks are generated once daily at 11:30 UTC. Placements scheduled during the day appear when the sweep runs each morning.
Print layouts: The Print action provides a high-contrast print layout for the week or overview, removing UI elements. The printout includes pen-ready checkboxes next to items and physical Prepared by and Reviewed by sign-off lines at the bottom for wet signatures.