# LinkedIn to Orbit Workspace Ruby App ![Build Status](https://github.com/orbit-love/community-ruby-linkedin-orbit/workflows/CI/badge.svg) [![Gem Version](https://badge.fury.io/rb/linkedin_orbit.svg)](https://badge.fury.io/rb/dev_orbit) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md) This is a Ruby app that can be used to integrate LinkedIn post comments into your organization's Orbit workspace. |

:sparkles:

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.

We welcome community contributions to make sure that it stays current.

:sparkles:

| |-----------------------------------------| ![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](readme_images/ways-to-use.png) ## First Time Setup To set up this integration you will need to follow some steps required by LinkedIn. Please follow the [First Time Setup guide](docs/FIRST_TIME_INSTRUCTIONS.md) for step-by-step instructions. ## Application Credentials The application requires the following environment variables: | Variable | Description | More Info |---|---|--| | `LINKEDIN_TOKEN` | LinkedIn Token | Follow the [First Time Setup guide](docs/FIRST_TIME_INSTRUCTIONS.md) to obtain the token | `LINKEDIN_ORGANIZATION` | LinkedIn Organization Page ID | Format: `urn:li:organization:#{id}`. ID is the set of numbers in LinkedIn page URL, i.e. `https://www.linkedin.com/company/28866695`, the ID is `28866695`. | `ORBIT_API_KEY` | API key for Orbit | Found in `Account Settings` in your Orbit workspace | `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` ## Package Usage To install this integration in a standalone app, add the gem to your `Gemfile`: ```ruby gem "linkedin_orbit" ``` Then, run `bundle install` from your terminal. You can instantiate a client by either passing in the required credentials during instantiation or by providing them in your `.env` file. ### Instantiation with credentials: ```ruby client = LinkedinOrbit::Client.new( orbit_api_key: YOUR_API_KEY, orbit_workspace_id: YOUR_ORBIT_WORKSPACE_ID, linkedin_token: YOUR_LINKEDIN_TOKEN, linkedin_organization: YOUR_LINKEDIN_ORGANIZATION_ID ) ``` ### Instantiation with credentials in dotenv file: ```ruby client = LinkedinOrbit::Client.new ``` ### Fetching LinkedIn Comments Once, you have an instantiated client, you can fetch LinkedIn comments on your organization's posts and send them to Orbit by invoking the `#comments` instance method: ```ruby client.comments ``` ## CLI Usage You 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: ```bash $ ORBIT_API_KEY=... ORBIT_WORKSPACE_ID=... LINKEDIN_TOKEN=... LINKEDIN_ORGANIZATION=... bundle exec linkedin_orbit --check_comments ``` ## GitHub Actions Automation Setup ⚡ 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. [See our guide for setting up this automation](https://github.com/orbit-love/github-actions-templates/blob/main/LinkedIn/README.md). ## Contributing We 💜 contributions from everyone! Check out the [Contributing Guidelines](.github/CONTRIBUTING.md) for more information. ## License This is available as open source under the terms of the [MIT License](LICENSE). ## Code of Conduct This project uses the [Contributor Code of Conduct](.github/CODE_OF_CONDUCT.md). We ask everyone to please adhere by its guidelines.