{
  "slug": "planning-center",
  "url": "https://apps.sectorgrowth.com/integrations/planning-center/",
  "name": "Planning Center",
  "vendor": "Planning Center",
  "aliases": [
    "Planning Center Online",
    "PCO",
    "Planning Center People",
    "Church Center"
  ],
  "website": "https://www.planningcenter.com/",
  "category": {
    "slug": "insurance-legal-and-nonprofit",
    "name": "Insurance, legal and nonprofit",
    "url": "https://apps.sectorgrowth.com/categories/insurance-legal-and-nonprofit/"
  },
  "summary": "Planning Center holds the roll, the groups, the check-ins and the giving. Nothing is listed for HubSpot, so the work is a keyed build on a good API.",
  "answer": "No. The HubSpot App Marketplace carries no Planning Center app as of September 2026, and the only listed routes are general automation platforms. The API itself is good: real webhooks with signed payloads, a documented rate limit, and date filtering on reads. A keyed service is the right answer once giving or attendance is in scope, at 70 to 150 build hours.",
  "nativeApp": {
    "status": "none",
    "verifiedAt": "2026-09-22"
  },
  "api": {
    "style": "rest",
    "auth": "oauth2",
    "webhooks": "yes",
    "changedSince": "partial",
    "sandbox": "unknown",
    "rateLimit": "100 requests per 20 seconds per authenticated user, 75 above an offset of 30,000",
    "docsUrl": "https://api.planningcenteronline.com/docs/overview/getting-started"
  },
  "objects": [
    {
      "source": "Person",
      "hubspot": "contact",
      "direction": "two_way",
      "key": "Person identifier in a unique property on the contact"
    },
    {
      "source": "Household",
      "hubspot": "company",
      "direction": "to_hubspot",
      "key": "Household identifier, with each member associated to it",
      "notes": "A household gives and attends as a unit, though it is not a business."
    },
    {
      "source": "Group",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Group identifier"
    },
    {
      "source": "Group membership",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Person identifier plus group identifier",
      "notes": "Modelled as an association, because one person joins several groups."
    },
    {
      "source": "Donation",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Donation identifier, associated to the contact",
      "notes": "Amount, date and fund only. Payment details never leave Giving."
    },
    {
      "source": "Check-in",
      "hubspot": "engagement",
      "direction": "to_hubspot",
      "key": "Check-in identifier, associated to the contact"
    }
  ],
  "approaches": [
    {
      "kind": "custom",
      "fit": "recommended",
      "why": "Households, group membership and fund-level giving are associations and custom objects, and a keyed service is the only route that models them properly while respecting a stated field policy."
    },
    {
      "kind": "ipaas",
      "fit": "possible",
      "why": "An automation platform wires new people into HubSpot contacts in an afternoon with no engineer. It is the right answer when that is the whole requirement and nothing high volume is in scope."
    },
    {
      "kind": "data-sync",
      "fit": "avoid",
      "why": "HubSpot Data Sync carries no Planning Center connector, so there is nothing to switch on, and a fixed mapping could not express the household and group structure anyway."
    }
  ],
  "effort": {
    "discoveryHours": [
      10,
      20
    ],
    "buildHours": [
      70,
      150
    ],
    "buildBand": "70 to 150 hours",
    "typicalElapsed": "4 to 8 weeks"
  },
  "pattern": "webhook-queue",
  "faqs": [
    {
      "q": "Is there a Planning Center app in the HubSpot App Marketplace?",
      "a": "No. Nothing is published for Planning Center, and a search from inside a HubSpot portal returns fuzzy matches only. The routes that are listed are general automation platforms rather than a direct connector, so a church either accepts a per-task tool or has a service built against the API."
    },
    {
      "q": "Does Planning Center support webhooks?",
      "a": "Yes, and they are well specified. Subscriptions are managed under a user account, each delivery carries an HMAC-SHA256 digest in an authenticity header keyed on the subscription secret, and failed deliveries are retried up to sixteen times on a backoff running from 30 seconds out to four days. Webhook deliveries themselves carry no rate limit."
    },
    {
      "q": "What is the Planning Center API rate limit?",
      "a": "The documented default is 100 requests per 20 seconds per authenticated user, dropping to 75 for requests using an offset above 30,000. Individual endpoints may set their own. Every response carries the limit, the count so far and the period, and a 429 includes a retry delay, so a worker can pace from the headers."
    },
    {
      "q": "Can a personal access token run a church's HubSpot sync?",
      "a": "It can, and for a one-off script that is the simplest option. A personal access token acts as one user inside one organization, so it cannot serve a multi-church integration and it stops working when that person's access ends. Anything a church depends on week to week should use an application with OAuth instead."
    },
    {
      "q": "Should giving records go into HubSpot at all?",
      "a": "Only the parts a stewardship programme needs, and only with a policy behind it. Amount, date and fund are enough to build lapsed-donor sequences and thank-you automation. Payment details never leave the Giving product. Anything beyond the minimum belongs behind HubSpot's sensitive data settings and a written decision from the church."
    },
    {
      "q": "How do you model a Planning Center household in HubSpot?",
      "a": "As a company, with each member associated to it. It feels wrong for about a day and then stops, because the household is the unit that gives, attends and receives mail. Modelling it as a company keeps membership an association, so a person moving between households is a re-association rather than a rewrite of their history."
    },
    {
      "q": "How do you find Planning Center records that changed since the last run?",
      "a": "With where parameters on a date attribute. The API follows the JSON-API specification and supports greater-than and less-than comparisons on dates, so a sweep asks for records after a stored watermark instead of paging the whole roll. Which attributes are queryable varies by endpoint, so confirm it per resource before relying on it."
    },
    {
      "q": "How many hours does a Planning Center and HubSpot integration take?",
      "a": "Plan on 10 to 20 hours of discovery and 70 to 150 hours of build for people, households, groups, giving and check-ins. People alone sits well below that. The range is driven by the association modelling and by pacing a first load of an established roll with its giving history against the rate limit."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect Planning Center to HubSpot",
      "anchor": "#why-teams-connect-planning-center-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#why-teams-connect-planning-center-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "100 requests every 20 seconds",
      "anchor": "#100-requests-every-20-seconds",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#100-requests-every-20-seconds"
    },
    {
      "depth": 3,
      "text": "Deep offset pagination",
      "anchor": "#deep-offset-pagination",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#deep-offset-pagination"
    },
    {
      "depth": 3,
      "text": "People moving between households",
      "anchor": "#people-moving-between-households",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#people-moving-between-households"
    },
    {
      "depth": 3,
      "text": "A volunteer’s personal access token",
      "anchor": "#a-volunteers-personal-access-token",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#a-volunteers-personal-access-token"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/planning-center/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/"
  ],
  "builtBySectorGrowth": false,
  "status": "published",
  "verifiedAt": "2026-09-22",
  "updatedAt": "2026-09-25",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "Authentication - Planning Center",
      "url": "https://api.planningcenteronline.com/docs/overview/authentication"
    },
    {
      "title": "Webhooks - Planning Center",
      "url": "https://api.planningcenteronline.com/docs/overview/webhooks"
    },
    {
      "title": "Rate Limiting - Planning Center",
      "url": "https://api.planningcenteronline.com/docs/overview/rate-limiting"
    },
    {
      "title": "JSON-API - Planning Center",
      "url": "https://api.planningcenteronline.com/docs/overview/json-api"
    },
    {
      "title": "Planning Center | Church Management Software",
      "url": "https://www.planningcenter.com/"
    }
  ]
}