Skip to main content
Was this helpful?

Slack Integration

PrimeCal v1.3.4 does not have a native Slack app. However, you can connect PrimeCal to Slack using Automation Webhooks — Slack's Incoming Webhooks feature combined with PrimeCal's automation system. The result: Slack messages posted automatically when calendar events are created, updated, or about to start.

How it works

  1. You create a Slack Incoming Webhook URL in your Slack workspace.
  2. You create a PrimeCal Automation rule that sends an HTTP POST to that URL when a trigger fires.
  3. When the trigger fires (for example, a new event is created), PrimeCal sends the event details to Slack, and Slack posts a message in your chosen channel.

Step 1: Create a Slack Incoming Webhook

  1. Go to api.slack.com/apps and sign in.
  2. Click Create New AppFrom scratch.
  3. Name the app (e.g., "PrimeCal Notifier") and select your workspace.
  4. In the app settings, go to Incoming Webhooks → toggle it on.
  5. Click Add New Webhook to Workspace.
  6. Choose the Slack channel where messages should be posted (e.g., #team-meetings or #family-reminders).
  7. Click Allow. Slack generates a webhook URL that looks like: https://hooks.slack.com/services/T.../B.../...
  8. Copy that URL.

Step 2: Create a PrimeCal Automation rule

  1. In PrimeCal, go to Automation (from the Dashboard navigation).
  2. Click New Rule.
  3. Set a Trigger — for example, Event Created or Event Starts In (15 minutes).
  4. Add Conditions if you want to filter (e.g., only events on the "Late Family" calendar, or events whose title contains "Meeting").
  5. Add an Action of type Send Webhook.
  6. Paste your Slack webhook URL as the target URL.
  7. Set the payload body. Slack expects JSON in the format:
    {
    "text": "New event: {{event.title}} on {{event.start_date}} at {{event.start_time}}"
    }
    Use PrimeCal's smart values ({{event.title}}, {{event.location}}, etc.) to include dynamic event data.
  8. Save the rule.

Example: Meeting notifications in #team-meetings

Will Blate (will_blate) wants his team to know when a new work meeting is added to the shared "Work" calendar. He:

  1. Creates a Slack webhook for the #team-meetings channel.
  2. Creates a PrimeCal automation rule:
    • Trigger: Event Created
    • Condition: Calendar is "Work Calendar"
    • Action: Send webhook to Slack with body {"text": "New meeting: {{event.title}} - {{event.start_date}} {{event.start_time}} | {{event.location}}"}

Now whenever a new meeting is added to the Work calendar, a message automatically appears in #team-meetings.

tip

For a reminder before an event starts, use the Event Starts In trigger set to 15 or 30 minutes, and send a Slack message like: "Reminder: {{event.title}} starts in 15 minutes."

Limitations

  • PrimeCal sends a generic HTTP POST — Slack's message formatting is controlled by the JSON body you write in the automation action.
  • For rich Slack message formatting (blocks, buttons, attachments), write a Slack Block Kit JSON payload in the webhook body.
  • The automation feature requires a plan that includes the automation feature.