Skip to content

Command line interface to synchronize BambooHR employees with Google Workspace users

License

Notifications You must be signed in to change notification settings

gartmeier/bamboogooglesync

Repository files navigation

Bamboo Google Sync

A command line interface to synchronize BambooHR employees with Google Workspace users. The command uses the BambooHR API and Google Directory API

Sequence Diagram

Update Google Workspace Users

Before using Bamboo Google Sync for the first time, run the update command first. The command updates all employees' external IDs and organization units. The external id is later used by the synchronization command to get an employees user.

Usage: python -m bamboogooglesync update [OPTIONS]

Options:

  --bamboo-subdomain TEXT    If you access BambooHR at
                             https://mycompany.bamboohr.com, then the
                             subdomain is "mycompany".  [required]
  --bamboo-api-key TEXT      See:
                             https://documentation.bamboohr.com/docs/getting-
                             started.  [required]
  --google-admin TEXT        Google Workspace admin user email. See:
                             https://developers.google.com/admin-
                             sdk/directory/v1/guides/delegation  [required]
  --google-credentials FILE  Path to Google Workspace credentials.json. See:
                             https://developers.google.com/admin-
                             sdk/directory/v1/guides/delegation  [required]
  --help                     Show this message and exit.

Synchronize Google Workspace Users

The command gets information changed in the last 24 hours from BambooHR and updates users in Google Workspace by external id.

Usage: python -m bamboogooglesync sync [OPTIONS]

Options:
  --bamboo-subdomain TEXT    If you access BambooHR at
                             https://mycompany.bamboohr.com, then the
                             subdomain is "mycompany".  [required]
  --bamboo-api-key TEXT      See:
                             https://documentation.bamboohr.com/docs/getting-
                             started.  [required]
  --google-admin TEXT        Google Workspace admin user email. See:
                             https://developers.google.com/admin-
                             sdk/directory/v1/guides/delegation  [required]
  --google-credentials FILE  Path to Google Workspace credentials.json. See:
                             https://developers.google.com/admin-
                             sdk/directory/v1/guides/delegation  [required]
  --help                     Show this message and exit.

SAM

You can use the AWS Serverless Application Model (SAM) to deploy this to your account.

Please, install the AWS SAM CLI.

Specify an Amazon S3 Bucket for the upload with export S3_BUCKET=<YOUR_BUCKET>.

Execute make package in the console. Which will package and upload the function to the bucket. You can then use the packaged.yaml to configure and deploy the stack in AWS CloudFormation Console.

About

Command line interface to synchronize BambooHR employees with Google Workspace users

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published