This project connects Wellsouth's BambooHR database and Power Automate through an intermediary program, nicknamed "bampower".
- Clone this repository
- Install poetry (it's recommended that you use pipx to install)
- Create and activate a python virtual environment
- Install packages with
poetry install
- Rename
.env.example
to.env
, and fill out the fields. "API_KEY" is your BambooHR API key, and "DOMAIN" is the name of your BambooHR instance (DOMAIN.bamboohr.com). If you want to enable email error reporting, fill out "EMAIL_ADDRESSES", "EMAIL_PASSWORD", and "RECEIVING_ADDRESSES". - Configure
watching.json
(stored infiles
directory)
python3 bampower
This will create a new snapshot folder under files/snapshots/
, stamped with the current time. Bampower will then use watching.json
to generate multiple reports. Each report will be saved as a JSON file within the current snapshot folder and sent to its specified URL endpoint.
Bampower is configured via watching.json
, like so:
[
{
"title": "updated_job_title",
"sendToEndpoint": "example.com",
"fields": [
{
"id": 17,
"name": "Job Title",
"type": "list",
"alias": "jobTitle"
}
]
}
]
This will create one snapshot file named updated_job_title.json
While the only neccessary field is id, adding the others is recommended, as it increases readability.
Fields that can be added are found in the metafields.json
file, which will be created when bampower is initially run.
Every time bampower runs, a log.txt
file is saved to the current snapshot folder, or to files/log.txt
if the program fails. This may help with troubleshooting.