{"id":21017628,"url":"https://github.com/orbit-love/community-ruby-planningcenter-orbit","last_synced_at":"2025-05-15T05:33:50.447Z","repository":{"id":48701188,"uuid":"377811503","full_name":"orbit-love/community-ruby-planningcenter-orbit","owner":"orbit-love","description":"Add interactions from Planning Center into your Orbit workspace","archived":false,"fork":false,"pushed_at":"2023-08-24T01:41:07.000Z","size":120,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-26T08:43:59.247Z","etag":null,"topics":["api","api-client","orbit","planningcenter","planningcenteronline","ruby","ruby-gem"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orbit-love.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-17T11:46:20.000Z","updated_at":"2023-07-25T14:47:05.000Z","dependencies_parsed_at":"2023-02-12T07:31:27.330Z","dependency_job_id":null,"html_url":"https://github.com/orbit-love/community-ruby-planningcenter-orbit","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbit-love%2Fcommunity-ruby-planningcenter-orbit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbit-love%2Fcommunity-ruby-planningcenter-orbit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbit-love%2Fcommunity-ruby-planningcenter-orbit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbit-love%2Fcommunity-ruby-planningcenter-orbit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orbit-love","download_url":"https://codeload.github.com/orbit-love/community-ruby-planningcenter-orbit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254282994,"owners_count":22045131,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-client","orbit","planningcenter","planningcenteronline","ruby","ruby-gem"],"created_at":"2024-11-19T10:20:19.995Z","updated_at":"2025-05-15T05:33:50.092Z","avatar_url":"https://github.com/orbit-love.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Planning Center to Orbit Workspace Ruby App\n\n![Build Status](https://github.com/orbit-love/community-ruby-planningcenter-orbit/workflows/CI/badge.svg)\n[![Gem Version](https://badge.fury.io/rb/planningcenter_orbit.svg)](https://badge.fury.io/rb/planningcenter_orbit)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\nAdd your Planning Center interactions into your Orbit workspace with this community-built integration.\n\n![New Planning Center check-in for event in Orbit screenshot](readme_images/new-checkin-screenshot.png)\n\n|\u003cp align=\"left\"\u003e:sparkles:\u003c/p\u003e This is a *community project*. The Orbit team does its best to maintain it and keep it up to date with any recent API changes.\u003cbr/\u003e\u003cbr/\u003eWe welcome community contributions to make sure that it stays current. \u003cp align=\"right\"\u003e:sparkles:\u003c/p\u003e|\n|-----------------------------------------|\n\n![There are three ways to use this integration. Install package - build and run your own applications. Run the CLI - run on-demand directly from your terminal. Schedule an automation with GitHub - get started in minutes - no coding required](docs/ways-to-use.png)\n## First Time Setup\n\nTo set up this integration you will need your Planning Center API secret and your Planning Center app ID. See the below table for instructions on where to find them, along with your Orbit API credentials.\n## Application Credentials\n\nThe application requires the following environment variables:\n\n| Variable | Description | More Info\n|---|---|--|\n| `PLANNING_CENTER_APP_ID` | Planning Center App ID | Create a new \"Personal Access Token\" in the [Planning Center Developer Dashboard](https://api.planningcenteronline.com/oauth/applications), your Application ID will be shown after creating it.\n| `PLANNING_CENTER_API_SECRET` | Planning Center API secret | Create a new \"Personal Access Token\" in the [Planning Center Developer Dashboard](https://api.planningcenteronline.com/oauth/applications), your API secret will be shown after creating it.\n| `ORBIT_API_KEY` | API key for Orbit | Found in `Account Settings` in your Orbit workspace\n| `ORBIT_WORKSPACE_ID` | ID for your Orbit workspace | Last part of the Orbit workspace URL, i.e. `https://app.orbit.love/my-workspace`, the ID is `my-workspace`\n\n## Package Usage\n\nTo install this integration in a standalone app, add the gem to your `Gemfile`:\n\n```ruby\ngem \"planningcenter_orbit\"\n```\n\nThen, run `bundle install` from your terminal.\n\nYou can instantiate a client by either passing in the required credentials during instantiation or by providing them in your `.env` file.\n\n### Instantiation with credentials:\n\n```ruby\nclient = PlanningcenterOrbit::Client.new(\n    orbit_api_key: YOUR_API_KEY,\n    orbit_workspace_id: YOUR_ORBIT_WORKSPACE_ID,\n    pc_app_id: YOUR_PLANNING_CENTER_APP_ID,\n    pc_api_secret: YOUR_PLANNING_CENTER_API_SECRET\n)\n```\n\n### Instantiation with credentials in dotenv file:\n\n```ruby\nclient = PlanningcenterOrbit::Client.new\n```\n\n### Performing a Historical Import\n\nBy default, the integration will only import activities that are newer than the newest Planning Center activity in your Orbit workspace. You may want to perform a one-time historical import to fetch all your previous Planning Center activities and bring them into your Orbit workspace. To do so, instantiate your `client` with the `historical_import` flag:\n\n```ruby\nclient = PlanningcenterOrbit::Client.new(\n  historical_import: true\n)\n```\n\n### Fetching Planning Center Event Check-ins\n\nOnce, you have an instantiated client, you can fetch event check-ins from Planning Center and send them to Orbit by invoking the `#check_ins` instance method:\n\n```ruby\nclient.check_ins\n```\n## CLI Usage\n\nYou can also use this package with the included CLI. To use the CLI pass in the required environment variables on the command line before invoking the CLI:\n\n```bash\n$ ORBIT_API_KEY=... ORBIT_WORKSPACE_ID=... LINKEDIN_TOKEN=... LINKEDIN_ORGANIZATION=... bundle exec planningcenter_orbit --check-event-checkins\n```\n\nAdd the `--historical-import` flag to your CLI command to perform a historical import of all your Planning Center data using the CLI.\n## GitHub Actions Automation Setup\n\n⚡ You can set up this integration in a matter of minutes using our GitHub Actions template. It will run regularly to add new activities to your Orbit workspace. All you need is a GitHub account.\n\n[See our guide for setting up this automation](https://github.com/orbit-love/github-actions-templates/blob/main/PlanningCenter/README.md).\n## Contributing\n\nWe 💜 contributions from everyone! Check out the [Contributing Guidelines](.github/CONTRIBUTING.md) for more information.\n\n## License\n\nThis is available as open source under the terms of the [MIT License](LICENSE).\n\n## Code of Conduct\n\nThis project uses the [Contributor Code of Conduct](.github/CODE_OF_CONDUCT.md). We ask everyone to please adhere by its guidelines.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forbit-love%2Fcommunity-ruby-planningcenter-orbit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forbit-love%2Fcommunity-ruby-planningcenter-orbit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forbit-love%2Fcommunity-ruby-planningcenter-orbit/lists"}