Syncing Planning Center Giving into Rock RMS

Overview

This recipe helps you automatically import online giving data from Planning Center Giving into Rock RMS. With this workflow in place, each Planning Center donation is automatically recorded in Rock, allowing Rock to remain your system of record for giving without manual data entry.

Note: I am not a developer, so please proceed with caution. I worked within my knowledge base to create this workflow, and there may be other effective ways to accomplish the same goal.

Why You’d Want This

If your church uses Planning Center Giving for online donations but relies on Rock RMS for reporting, pastoral care, and contribution tracking, this workflow removes the need to manually re-enter gifts.


Prerequisites (Do These First)

1. Create a REST API Key in Rock

This workflow uses Rock’s REST API to create financial records. You must create a REST API key before configuring the workflow.

How to Create a REST Key
  1. Go to Admin Tools → Security → REST Keys
  2. Click the + icon to create a new key
  3. Name it something like Workflow API
  4. Click Generate Key
  5. Copy and securely store the generated key

Note: You will use this key later in the workflow wherever an API request includes an Authorization-Token header.

2. Rock-Side Setup

A. Import the Workflow
  • Import the provided workflow file into Rock
  • Open the workflow and record the Workflow Type ID shown near the top or in the URL
  • You will need this ID when configuring webhooks
B. Create the Webhook-to-Workflow Connection in Rock
  1. Go to Admin Tools → Settings → Defined Types
  2. Find Workflow Webhook
  3. Create a new entry with the following values

Value

https://RockURL/Webhooks/LaunchWorkflow.ashx?WorkflowTypeId=[ImportedWorkflowId]

Save this URL — it will be reused in Planning Center.

Process Request

{% assign workflowTypeId = QueryString['WorkflowTypeId'] %}
{% if workflowTypeId == '[ImportedWorkflowId]' %}
True
{% else %}
False
{% endif %}

Workflow Type

  • Select the imported workflow

Workflow Attributes

  • Key: RawBody
    Value: {{ RawBody }}
  • Key: Headers
    Value: {{ Headers }}
C. Create the PCO ID Person Attribute

This workflow matches donors using their Planning Center Person ID.

  1. Go to Admin Tools → General Settings → Person Attributes
  2. Create a new attribute:
    • Name: PCO ID
    • Key: PCOID
    • Field Type: Text
  3. Save the attribute
  4. Click back into it and record the Attribute ID shown near the top

Important: You will need both the attribute key (PCOID) and the Attribute ID later.

D. Choose a Person for Transaction Attribution

Rock requires a Person Alias ID when creating financial transactions.

Recommended approach:

  • Create a person such as PCO Giving
  • Use this person to represent imported transactions
E. Match Funds and Accounts

Each Planning Center fund must have a corresponding Rock Financial Account.

  1. Go to Finance → Accounts
  2. Click the account in the tree
  3. Look at the browser URL for AccountId=###
  4. Record the Account ID
F. Get Currency Type IDs

You only need currency types used by Planning Center (typically ACH, Credit Card, Debit Card).

  1. Go to Admin Tools → General Settings → Defined Types
  2. Select Currency Type
  3. Click each needed currency type
  4. Record the ID shown in the popup

3. Planning Center Setup

A. Create a Personal Access Token

  1. Go to https://api.planningcenteronline.com
  2. Click API Keys
  3. Under Personal Access Tokens, click Create one now
  4. Description: Sending to Rock
  5. Create the token and copy:
    • Client ID
    • Client Secret

These values are used as Basic Auth credentials in the workflow.

B. Find Planning Center Fund IDs (API Explorer)

  1. Go to https://api.planningcenteronline.com
  2. Select API Explorer
  3. Choose Giving → Funds
  4. Run the request

In the Server Response, look under data. Each fund includes:

  • attributes.name → Fund name
  • id → Fund ID

Record:

  • Planning Center Fund Name
  • Planning Center Fund ID
  • Matching Rock Financial Account ID

C. Create the Planning Center Webhook

  1. Go to https://api.planningcenteronline.com
  2. Select Webhooks
  3. Click Add a New Subscription URL
  4. Use the Rock webhook URL from earlier
https://RockURL/Webhooks/LaunchWorkflow.ashx?WorkflowTypeId=[ImportedWorkflowId]

Event

  • Giving – Donation
  • Created

Workflow Walkthrough

Note: This workflow contains a small number of unused or legacy attributes that do not affect functionality.

Step 1: Initial Process Webhook

  • Receives webhook data from Planning Center
  • Includes a 120-minute delay to allow donations to move out of “pending”
  • After the delay, performs an API request back to Planning Center and loops until no longer pending

User action required:

  • Enter Client ID / Secret as Basic Auth on the API request action

Step 2: Process Data After Confirmed

  • Parses confirmed donation data into workflow attributes
  • Makes another Planning Center API call to retrieve donor information
  • Parses donor data for later steps

User action required:

  • Enter Client ID / Secret as Basic Auth on the donor API request

Step 3: Fetch Fund Data & Map Accounts

  • Retrieves fund information via Planning Center API
  • Matches Planning Center Fund ID → Rock Financial Account ID

User action required:

  • Enter Client ID / Secret on the API call
  • Add or edit conditional actions to match each Fund ID to a Financial Account ID

Step 4: Process Currency Type & Find/Create Person

  • Routes donation based on payment method:
    • ACH
    • Credit Card
    • Debit Card
    • Unknown (fallback)
  • Sets the correct Rock Currency Type
  • Finds a person using the PCOID attribute
  • Creates a new person if one is not found
  • Adds a note for new givers

User action required:

  • Update Currency Type IDs
  • Ensure the PCOID Attribute ID is correct

Step 5: Create and Check Random Code

  • Uses a simple SQL utility to generate a unique transaction code
  • Prevents duplicate imports

No changes needed.
SQL is read-only and used only for uniqueness.

Step 6: API Requests (Create Financial Records)

  • Uses Rock REST API to create:
    • Financial Batch
    • Payment Detail
    • Transaction
    • Transaction Detail

User action required:

  • Enter Rock REST API Key as Authorization-Token
  • Enter Person Alias ID for transaction attribution