26 June 2024, in

Automating Fundraising Processes with N8n, RaiseNow, and Strapi

# Automating Fundraising Processes with N8n, RaiseNow, and Strapi

I am Vera, as a software engineer at nowtec solutions, I specialize in automation system design and data management. Today, I’d like to share our experience in automating processes using #n8n to work with the donation provider #RaiseNow, focusing on managing transactions and subscriptions.

## Introduction to the Project

RaiseNow is a popular fundraising platform for non-profits. Our goal was to create an n8n workflow that connects directly with RaiseNow through webhooks and records all the data to Strapi, an open-source Content Management System (CMS) that powers our software nowCRM.

## Handling Transactions

Our workflow begins with a webhook that receives transaction data from RaiseNow. We process this data, extracting essential information such as the event name and supporter details (first name, last name, country, email, etc.).

The workflow then checks if the contact already exists in our Strapi CMS. If not, we create a new contact using a POST request to Strapi. The JSON body for this request includes data fields like salutation, email, first name, last name, and language.

After creating or identifying the contact, we create a record for the transaction. This record links the contact to their transaction and includes additional fields such as cardholder name, amount, payment method, payment provider name, status, and currency.

## Managing Subscriptions

The subscription workflow follows a similar logic, but with one key difference: the subscription webhook data doesn’t include supporter information. To overcome this, we need to authorize with RaiseNow and obtain a bearer token to access the personal data.

Here’s how we handle this:

1. We make a POST request to RaiseNow with a JSON body containing the grant type (client credentials), client ID, and client secret.
2. Once we receive the bearer token, we use it to make an authorized GET request to RaiseNow, using the supporter’s unique ID to retrieve their personal data.
3. With this information, we can create or update the contact in Strapi and create a record for the subscription.

The subscription record in Strapi includes fields such as the connected contact, amount, payment method, payment provider, currency, interval (monthly or yearly), and subscription token.

## Conclusion

By implementing these n8n workflows, we’ve successfully automated the process of capturing and storing transaction and subscription data from RaiseNow into our Strapi CMS. This automation streamlines our fundraising operations, ensuring that all donor information and transaction details are accurately recorded and easily accessible.

This solution demonstrates the power of integrating different tools and platforms to create efficient, automated workflows for non-profit organizations. By leveraging n8n, RaiseNow, and Strapi, we’ve created a robust system that saves time and reduces the potential for human error in data management.

Talk to me if you want to learn more about the benefits of using n8n