0 Syncing Planning Center Giving into Rock RMS Shared by Scott Solimine, Nesconset Christian Church 13 hours ago 17.0 Administration / Finance Advanced 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: Client ID Client Secret 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 File