# Announce new Recurly subscribers in HubSpot, Sheets and Slack

> Every new Recurly subscription lands in your CRM, your new business log and your revenue channel within seconds, with no duplicate contacts.

- Workflow type: code
- Services: Recurly, HubSpot, Google Sheets, Slack
- Categories: Operations, Sales
- Published: 2026-08-09

## What it does

- Watches for new subscriptions in Recurly and reacts the moment one starts.
- Finds the customer in HubSpot by email and only creates a new contact when they are not already there, so a repeated signal never leaves you with duplicates.
- Files a note on the contact recording the plan, the start date and what the subscription is worth.
- Adds a row to your new business log spreadsheet and posts the new subscriber to your revenue channel with their plan and value.

## What you'll need

- A Recurly account you can add a webhook to
- A HubSpot login with permission to create contacts and notes
- A Google account with the spreadsheet you use as your new business log
- A Slack workspace and the channel where new subscribers should be announced

## Prompt

When Recurly sends a new_subscription_notification webhook, fan the new subscriber out across HubSpot, Google Sheets and Slack. Every step is a fixed field mapping from the webhook payload. There is no judgement, no summarizing and no drafting anywhere in this workflow.

Only react to the subscription notification. When a signup also triggers a payment, Recurly sends two separate notifications, one for the subscription and one for the payment. If the workflow responds to both, the same new customer gets processed and announced twice, so ignore any notification type other than new_subscription_notification.

Read these fields from the notification payload: the account email, the account code, the account first and last name, the plan name, the subscription start date, the subscription amount and the currency. Recurly may deliver the notification as XML rather than JSON, so parse the body accordingly and read the fields by name.

First, use HubSpot Search Contacts to look for a contact whose email exactly matches the account email from the notification. If a contact is found, use it as is and do not modify it. Only if no contact matches, use HubSpot Create Contact to create one with the email, first name and last name from the notification. The search must always run before the create. Recurly can re-deliver the same webhook, and this ordering is the only thing keeping a re-delivery from creating a duplicate contact.

Next, use HubSpot Create Note and associate it with that contact. The note should record the plan name, the subscription start date and the subscription amount with its currency, so anyone opening the contact record can see what the customer bought and when.

Then use Google Sheets Append Values to add one row to the new business log. The columns are in a fixed order: date, account code, email, plan name, amount, currency. Append a single row per subscription notification.

Finally, use Slack Send a Message to post to the revenue channel announcing the new subscriber. The message should name the customer, the plan they signed up for and the value of the subscription with its currency.

Two details about Recurly data matter here. Monetary amounts are decimal values already expressed in the resource currency, for example 9.99, rather than integer cents, so write the amount straight into the spreadsheet row and the Slack message without dividing by 100. The account code is a human readable code, so if you ever need to call back to Recurly for extra account detail, prefix the code with code- in the path, for example code-bob.

If an optional field such as the plan name or the start date is missing from the payload, leave that cell or line blank rather than guessing a value.

## How to customize

- Change which channel gets the announcement and how the message reads.
- Point the log at a different spreadsheet or tab, or change the columns it records.
- Limit the announcement to certain plans if you only want to hear about specific tiers.

## FAQ

### Will this create duplicate contacts if the same signup comes through twice?

No. We always look the customer up by email first and only create them when there is no match, so a repeated signal reuses the contact that is already there.

### What happens if the customer is already in HubSpot?

Their existing record is left exactly as it is. The new subscription is added as a note on that contact rather than creating a second one.

### Will a new subscriber get announced twice if they pay at signup?

No. Recurly reports the payment separately from the subscription, and this only listens for the new subscription, so each new subscriber is announced once.

### Do I need a paid HubSpot plan for this?

Contacts and notes are part of HubSpot's free CRM, so this works without a paid plan.

### How quickly does it run?

It runs as soon as Recurly reports the new subscription, so the CRM record, the spreadsheet row and the Slack message all appear within seconds.

Use this prompt in General Input: https://www.generalinput.com/prompts/announce-new-recurly-subscribers-in-hubspot-sheets-and-slack