Rock RMS
Rock RMS is the most fully featured ChMS integration in Apollos. It syncs people, groups, events, content, campuses, giving, and prayer requests in both directions — so nearly all of your church's data flows between Rock and your app automatically.
How it works
Apollos connects to Rock through Rock's API using a secure token. Data syncs in both directions: Rock data (people, groups, events, content, campuses, funds) flows into the app, and app activity (new sign-ups, profile updates, donations, prayer requests) flows back into Rock so your staff can keep working in the tools they know.
Rock is the source of truth. Changes made in Apollos Admin to synced data are overwritten on the next sync cycle. Always make data changes in Rock and let them flow to Apollos. See How data sync works.
During onboarding, your team works with Apollos to decide which Rock calendars, group types, content channels, and persona categories are in scope for sync.
Set up the Rock integration
- In Admin, go to Data → Catalog and open Rock.
- Enter your connection settings:
- ROCK.API — your Rock instance URL. It must end with "api" (for example,
https://yourchurch.rockrms.com/api). - ROCK.TOKEN — an API token generated in Rock. It's stored encrypted.
- ROCK.EVENT_REGISTRATION_URL — your event registration address. This must also end with "api".
- ROCK.CONNECTION_STATUS_VALUE_ID (optional) — the Rock connection status ID to assign to new person records created by app sign-ups.
- ROCK.API — your Rock instance URL. It must end with "api" (for example,
- Check Data → Status to confirm the Rock workflows are running. The Recent Runs dots on each row show how the last few runs went.
Set up single sign-on (optional)
Rock supports single sign-on, so members can sign in to the app with their Rock account. To enable it, register an app in Rock's OpenID Connect settings with the scope apollos_apps, then enter the client ID (ROCK.OPEN_ID_CLIENT) and secret (ROCK.OPEN_ID_SECRET) in your Rock integration settings. Members are sent to Rock's sign-in page, and Apollos matches them to their app account (or creates one if they're new).
Install the OneSignal Rock plugin (optional)
For campus-targeted push notifications, install the apollos-onesignal plugin in Rock. It lets you send push notifications only to members at specific campuses. See Push notifications & messaging.
What syncs
Plan availability
What syncs depends on your plan:
| Rock data | Available on |
|---|---|
| People | Go and Max |
| Campuses | Go and Max |
| Dataviews (tags) | Go and Max |
| Content items | Max |
| Events | Max |
| Groups | Max |
| Prayer requests | Max |
People & profiles
Name, email, phone number, birthdate, gender, campus assignment, and profile photo sync between Rock and Apollos. When someone signs up in the app, their profile is created in Rock automatically. Person merges and de-duplication done in Rock are reflected in Apollos.
Apollos also registers each member's device in Rock's Personal Devices table — look for "Mobile (Apollos)" as the device type to see which Rock people are app members. Campus tags also sync to member tags for push notification targeting.
A couple of details to keep consistent between systems:
- Gender — Rock stores gender as a number; Apollos shows it as Unknown, Male, or Female. If gender looks wrong, check the values in Rock.
- Campuses — a person's campus in Rock must match a campus that exists in Apollos. If campus assignments aren't syncing, verify your campuses line up between the two systems.
Groups → Communities
Rock groups become Communities in Apollos:
- Group visibility settings in Rock control which groups appear in the app.
- You can filter by group type in Rock to control what syncs.
- Only members with an Active status sync (configurable).
- Groups sync on a 60-minute cycle.
- A read-only mode is available where Rock fully controls membership and Apollos mirrors it exactly.
See Communities & groups.
Events
Events sync with title, description, location, dates, and image. Events also support:
- Registration buttons — appear when a registration instance or details URL is set on the event in Rock.
- "More Info" buttons — appear when a details URL is set.
- Campus and audience tagging — so members see the events relevant to them.
Content & media
Content items sync from Rock with series and episode hierarchy preserved:
- Videos — any Rock attribute with "video" in its key and a valid MP4 or HLS link syncs automatically. If your attribute uses a different key, contact Apollos support to map it. Only one video per content item is supported — if an item has several, tell support which one takes priority.
- Vimeo — add a VimeoId or VimeoLink attribute (the video's ID or URL) and Apollos pulls the video using your Vimeo connection. See Media integrations.
- Share/export button — add a true/false attribute called ExportFeature to show a share button at the bottom of the content.
- HTML support is basic — h2, bold, and paragraph tags work reliably. Custom divs and CSS classes produce unpredictable results.
Giving funds & donations
Giving funds sync from Rock with their parent/child hierarchy. Donations given through the app are matched to people and recorded in Rock automatically — including one-time gifts and recurring gifts. Payment-method changes on recurring gifts sync to Rock when the gift is edited, so the scheduled transaction points at the current card or bank account. See Set up giving and How giving works.
Prayer requests
Public, approved prayer requests sync from Rock into the app. Prayer requests submitted in the app are created in Rock only when your church's configured prayer visibility allows it, so staff workflows follow the church's privacy choice. See Prayer.
Tags & personas
Rock DataViews power persona-based personalization. For example, tag a content item with a "Dad" DataView (using a Dataview or Dataviews attribute), and only people in that DataView see it in personalized feeds; untagged content shows to everyone. Campus and audience classifications also sync for content filtering. See Personalization: tags & audiences.
Campuses
Campus records sync as read-only data: name, address, map location, campus image, and online vs. physical designation. Keep campus records complete and active in Rock for the best app experience.
Sync timing
- Most Rock changes appear in Apollos within the hour.
- Events and prayer requests update more frequently.
- Groups sync every 60 minutes.
- Settings changes can take up to 5 minutes to take effect.
- To force a full re-sync, toggle the Rock integration off and back on in Data → Catalog.
Troubleshooting
Why won't Apollos connect to Rock?
The most common cause: ROCK.API and ROCK.EVENT_REGISTRATION_URL must both end with "api". Also check that your Rock API token is still valid — tokens need periodic renewal. If sync starts failing with authorization errors, generate a new token in Rock and update ROCK.TOKEN.
Why isn't the registration button showing on my event?
Registration and "More Info" buttons only appear when a registration instance or a details URL is configured on the event in Rock. Add one and it will appear after the next sync.
Why isn't my group showing up in Communities?
Check that the group is active in Rock, belongs to a group type configured to sync, and its visibility settings allow it to appear. Groups sync every 60 minutes — wait for the next cycle or force a re-sync.
Why are new app members getting the wrong connection status in Rock?
Set ROCK.CONNECTION_STATUS_VALUE_ID to the connection status ID you want assigned to person records created by app sign-ups.
Why can't a member sign in after I merged their accounts in Rock?
Merging accounts in Rock can break a member's app sign-in, and duplicate person records can appear when members register through different paths. Both are covered in Integration troubleshooting.
