Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module provides a way for developers to connect to the Planning Center Online API using Guzzle. It allows you to fetch data from Planning Center services directly within your Drupal site.

This project is not affiliated with Planning Center Online.

PCO is a developer focussed module that leverages guzzle to connect to the Planning Center Online API.

Installation and Configuration

  1. composer require 'drupal/pco:^2.0'
  2. If you haven't already, create a personal access token. Be sure to record your API token and secret for later use.
  3. Enable the PCO Drupal Module.
  4. After enabling the module set the necessary API credentials in Drupal at /admin/config/pco-api You will need to setup your API secret using the required Key module. Storing keys in files outside the webroot or as environment variables is recommended.

Requirements

Key module is required to securely store API credentials.

Code Example

// This would get 50 people from Planning Center.
$client = Drupal::service('pco.client');
$query = [
  'per_page' => 50,
  'include' => 'emails',
];
$request = $client->connect('get', 'people/v2/people', $query, []);
$results = json_decode($request);

Warning moving from 8.x-1.0 to 2.0.x

2.0.x finally addresses the namespace inconsistency where the Drupal project is pco and the namespace was pco_api. It is now the pco for both.

Please take care if you are already using this module. You will need to update your Drupal::service('pco.client'); references and anywhere you have implemented dependency injection.

Activity

Total releases
1
First release
Nov 2025
Latest release
8 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Slowing

Releases

Version Type Release date
2.1.0 Stable Nov 11, 2025