A command line interface to synchronize BambooHR employees with Google Workspace users. The command uses the BambooHR API and Google Directory API
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.
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.
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.