Recipe - Syncing Planning Center Giving into Rock RMS
Skill level: Advanced
Organization: Nesconset Christian Church
Requires Rock: 17.0
{# strip images & classes from the HTML but otherwise leave structure #}
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
- Go to Admin Tools → Security → REST Keys
- Click the + icon to create a new key
- Name it something like Workflow API
- Click Generate Key
- 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
- Go to Admin Tools → Settings → Defined Types
- Find Workflow Webhook
- 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.
- Go to Admin Tools → General Settings → Person Attributes
- Create a new attribute:
- Name: PCO ID
- Key: PCOID
- Field Type: Text
- Save the attribute
- 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.
- Go to Finance → Accounts
- Click the account in the tree
- Look at the browser URL for
AccountId=###
- Record the Account ID
F. Get Currency Type IDs
You only need currency types used by Planning Center (typically ACH, Credit Card, Debit Card).
- Go to Admin Tools → General Settings → Defined Types
- Select Currency Type
- Click each needed currency type
- Record the ID shown in the popup
3. Planning Center Setup
A. Create a Personal Access Token
- Go to https://api.planningcenteronline.com
- Click API Keys
- Under Personal Access Tokens, click Create one now
- Description: Sending to Rock
- Create the token and copy:
These values are used as Basic Auth credentials in the workflow.
B. Find Planning Center Fund IDs (API Explorer)
- Go to https://api.planningcenteronline.com
- Select API Explorer
- Choose Giving → Funds
- 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
- Go to https://api.planningcenteronline.com
- Select Webhooks
- Click Add a New Subscription URL
- 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
Download related file (PCO_To_Financial_Batch_and_transaction_information_202512231709.json)