chiefonboarding / ChiefOnboarding

Free and open-source employee onboarding platform. Onboard new hires through Slack or the web portal.
https://chiefonboarding.com
GNU Affero General Public License v3.0
656 stars 121 forks source link

Import users through third party (Google, Slack, BambooHR etc) #346

Closed GDay closed 12 months ago

GDay commented 1 year ago

This PR allows an admin to create/use an integration to mass import users. These integrations are separate from the normal ones as they do not trigger something for a specific new hire. These are only used to import users.

When someone adds an integration like this (with the type: import_users), then it will add a button to the colleagues page to allow an admin to import one or more users.

On the import page, it will start fetching users directly from the third party API. You can configure how many pages it should fetch (when the results are paginated). You shouldn't fetch more than 5000 users in total as that will take a long time to load/create and could potentially time out. This feature is not intended to be used by very large organizations. Large organizations should use something else, like OpenID to automatically create users when someone logs in or programmatically import users (please contact me if you need help with that).

It will fetch the first_name, last_name, and email from the specified API. These are used to create users, by default, users are saved as an "other" user, they won't receive a message about their account creation, but you can now select them to be assigned as a buddy/manager or in sequences to send messages to.

In some cases, you might want to not include specific users (think of contractors or bot users that are still listed in the API as real users). In those cases you can ignore the user, by clicking on the button next to them. This will permanently ignore this user from every showing up in this list again. You can still create them manually though if you still need them to be in the list of colleagues/admins. Existing users are also be ignored from the list.

image

BambooHR import manifest: https://integrations.chiefonboarding.com/manifest/12

Google import manifest: https://integrations.chiefonboarding.com/manifest/11

coveralls commented 1 year ago

Coverage Status

coverage: 92.128% (-1.3%) from 93.423% when pulling b767a1bfa0a7604f026e65aa39314f0b7093b5b1 on import-colleagues-from-google into e02a95e3c64b24afa2f35540a88186cd91491d0f on master.