Skip to main content

hrflow-connectors is an open source project created by HrFlow.ai to allow developers to connect easily HR ecosystem component.

Project description

hrflow

HrFlow.ai connectors

GitHub Repo stars

hrflow


hrflow-connectors is an open-source project created by HrFlow.ai to allow developers to connect easily HR ecosystem component.

This project is designed to simply and easily handle, complex HR integrations by using workflows feature.

About HrFlow.ai

https://www.HrFlow.ai is an API first company that provides the most sophisticated AI-Powered JOB & PROFILE API. Corporates and Software vendors can leverage our technology layers to Parse, Enrich and Score both job and candidate data. The platform supports +200 apps, pipelines, and code integrations so you can automate workflows with your favorite tools.

🪄 Quickstart

What I can do?

With Hrflow Connector, you can synchronize and process multiple HR data streams in just a few lines of code.

You can do 3 types of actions:

  • Job flow :arrow_right: Hrflow.ai Board
  • Profile flow :arrow_right: Hrflow.ai Source
  • Hrflow.ai :arrow_right: External destination

The features offered by this package:

  • Synchronize an entire data stream with a ready-to-use solution
  • Synchronize only certain data in a stream meeting a condition defined by you : logics
  • Format the data as you wish or use the default formatting that we propose adapted to each connector : format & format_function_name
  • Enrich the data processed with Hrflow.ai's Parsing by activating only one option in the connector : hydrate_with_parsing=True

How to use a connector ?

Prerequisites

  1. pip install hrflow-connectors
  2. I configure the connector that I want to use. Let's take for example Crosstalent GetAllJobs.
from hrflow import Hrflow

from hrflow_connectors.core.auth import OAuth2PasswordCredentialsBody
from hrflow_connectors.connectors.boards.crosstalent import GetAllJobs

# 2.1 Hrflow client configuration
client = Hrflow(api_secret="MY_X-API-KEY", api_user="MY_X-USER-EMAIL")

# 2.2 Configuring authentication to Crosstalent via the Salesforce API
access_token_url = "https://test.salesforce.com/services/oauth2/token"
auth = OAuth2PasswordCredentialsBody(
    access_token_url=access_token_url,
    client_id="MY_CLIENT_ID",
    client_secret="MY_CLIENT_SECRET",
    username="MY_USERNAME",
    password="MY_PASSWORD",
)

# 2.3 General connector configuration
action = GetAllJobs(
    auth=auth,
    subdomain="MY_SUBDOMAIN",
    hrflow_client=client,
    board_key="MY_BOARD_KEY",
    hydrate_with_parsing=True,
)
  1. I write the line of code action.execute() to run the connector.

🐇 TADA! You have just called your first connector.

📖 Documentation

To find out how to use the connectors in detail, you can take a look at the 📖 documentation.

🚀 Environment

Hrflow connector was initially developed to be integrated into workflows. For this reason it is compatible with Python 3.6+.

The project mainly uses 4 packages :

  • requests=="2.26.0"
  • hrflow=="1.9.0"
  • pydantic=="1.7.4"
  • selenium=="3.141.0"

To find the list of dependencies, you can look at the pyproject.toml file

:electric_plug: List of Connectors

  • ADP (soon)
  • Craigslist : CraigslistFeed
  • Careerbuilder (soon)
  • Cegid(Meta4) (soon)
  • Ceridian (soon)
  • Cornerstone OnDemand (soon)
  • Crosstalent : GetAllJobs, PushProfile
  • Digitalrecruiters (soon)
  • Flatchr : PushProfile, EnrichProfile
  • Indeed : IndeedFeed
  • Kronos(UKG) (soon)
  • Laponi (soon)
  • Mailchimp (soon)
  • Monster (soon)
  • Oracle (soon)
  • SAP Successfactors (soon)
  • Salesforce (soon)
  • Smartrecruiters : SmartJobs
  • Staffme (soon)
  • Talentsoft (soon)
  • Twilio (soon)
  • Ultimate Software(UKG) (soon)
  • Workday (soon)

🧐 What's inside?

A quick look at the project structure.

  • legacy/ : Folder containing the old code snippets that we used to connect the data streams in the workflows
  • src/hrflow_connectors/connectors/ : Folder containing the connectors sorted according to the type of their actions
    • boards/ : Job flow :arrow_right: Hrflow.ai Board Folder containing the set of connectors that synchronise the job stream in a Hrflow.ai Board.
      • ConnectorName/ : Connector folder named ConnectorName.
        • actions.py : File containing all the actions of a connector.
        • spec.py : File listing the available actions and the particularities of the connector (version, ...)
        • README.md : File documenting the use of the connector.
    • sources/ : Profile flow :arrow_right: Hrflow.ai Source Folder containing the set of connectors that synchronise the profile stream in a Hrflow.ai Source. The architecture is the same as for boards/.
    • destinations/ : Hrflow.ai :arrow_right: External destination Folder containing all the connectors that export talent data from Hrflow to an external destination. The architecture is the same as for boards/.
  • src/hrflow_connectors/core/ : Containing the core of the connectors shared by all.
  • src/hrflow_connectors/utils/ : Containing the useful out-of-context functions of the package.
  • tests/ : Folder containing all unit and functional tests of the project.
  • .coveragerc : Configuration file for evaluating test coverage with pytest-cov.
  • .gitignore : This file tells git which files it should not track / not maintain a version history for.
  • AUTHORS.md : File listing the authors who participated in the project code.
  • CHANGELOG.md : File listing the changes made for each version.
  • CONTRIBUTING.md : File describing how to participate in the project.
  • LICENSE : Project license.
  • README.md: A text file containing useful reference information about this project.
  • VERSION : File containing the project version.
  • poetry.lock : File containing the exact versions of the dependencies to ensure that the package versions are consistent for everyone working on your project.
  • pyproject.toml : File that orchestrates the project and its dependencies.
  • pytest.ini : The main configuration file of pytest, which can change the running mode of pytest.
  • setup.cfg : A Python package that supports providing all of a Python distribution's metadata and build configuration rather than in the setup.py script.
  • setup.py : The minimal setup.py which calls the configuration in setup.cfg.

:woman_technologist: Contributions

Please feel free to contribute to the quality of this content by submitting PRs for improvements to code, architecture, etc.

Any contributions you make to this effort are of course greatly appreciated.

👉 To find out more about how to proceed, the rules and conventions to follow, read carefully CONTRIBUTING.md.

:page_with_curl: License

See the LICENSE file for licensing information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hrflow-connectors-0.2.0.tar.gz (120.9 kB view hashes)

Uploaded Source

Built Distribution

hrflow_connectors-0.2.0-py3-none-any.whl (54.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page