Weekly ConnectWise PSA renewal radar in Slack

By General Input

Every Monday at 7am, get a Slack digest of ConnectWise PSA agreements expiring in the next 60 days, with renewal call holds dropped on each account owner's calendar.

Integrations

  • ConnectWise PSA (Manage)
  • Google Calendar
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Customer Support

Every Monday at 7am in my local time zone, I want an agent that surfaces ConnectWise PSA service agreements coming up for renewal so my team can start the renewal motion before customers go cold. Build this as an agent-based workflow on a weekly cron trigger.

Step 1: Pull upcoming renewals from ConnectWise PSA. Use ConnectWise PSA's List Agreements to find every active service agreement whose end date falls inside the next 60 days. Skip any agreement that is flagged to auto-renew without intervention (the agent should ask me at setup how that flag is represented on my agreements, for example a custom field, a workflow tag, or a specific agreement type name).

Step 2: For each remaining agreement, gauge customer support health. Use ConnectWise PSA's List Service Tickets filtered to that agreement's company over the last 90 days. From those tickets, summarize: total ticket volume, how many are currently open, and how many were escalated or marked high priority. Use that to give a one-line risk read of healthy, watch, or at-risk. If you can't tell, default to watch.

Step 3: Write a short renewal brief per agreement. Each brief should include the customer name, the agreement type and recurring value, days until expiration, the support-load summary from step 2, and the one-line risk read.

Step 4: Hold time on the account owner's calendar. For each agreement, use Google Calendar Create Event to put a 30-minute renewal call hold on the calendar 14 business days before the agreement's end date. Title it "Renewal call: {customer name}" and put the renewal brief from step 3 into the event description so the owner has everything in one place when they open the invite. The attendee is the account owner pulled from the agreement (ask me at setup how to map ConnectWise PSA account owners to email addresses if it's not obvious).

Step 5: Post one consolidated digest to Slack. Use Slack Send a Message to post into a #renewals channel (let me confirm the channel at setup). The digest should list every upcoming renewal grouped by risk level, at-risk first, then watch, then healthy. For each agreement show the customer name, agreement value, days until expiration, ticket-volume summary, and the date of the renewal call hold that was just placed. Keep it one message, not one per agreement.

Defaults I want you to confirm with me at setup before the first run: the 60-day look-ahead window, the 14-business-day calendar offset, the Slack channel name, the Google Calendar that should hold the renewal calls, my time zone, and how auto-renewing agreements are flagged in my ConnectWise PSA so we skip them correctly.

If a week has no agreements in the window, still post a one-line Slack message saying so, so the team knows the workflow ran and the pipeline is clear.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsFront desk appointment confirmation board for the next 3 daysWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in production