Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

pco

5 sites Security covered
View on drupal.org

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
6 months ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
2.1.0 Stable Nov 11, 2025