Microsoft Power BI is an interactive data visualisation software product developed by Microsoft with a primary focus on business intelligence.
You can now send data from Recruiterflow to PowerBI and make custom reports.
To integrate Recruiterflow and PowerBI, you need to do the following :
The first step is to get your API Key from Recruiterflow :
Here is how you can get you API Key :
Go to the settings page from the top right corner and then click integrations as shown below :
Once you are on the integrations page you will see the PowerBI section
From here you can copy the authentication key (API key) for your account for you to be able connect Recruiterflow to PowerBI.
After obtaining your API key :
.
The second step is to go on the toolbar click on 'Get Data' and from the dropdown select the 'Blank Query' option
This will open up a new query editor.
Once you open the blank query, paste the desired function
from our query documentation in the section shown below:
In the example above we have pasted the function to fetch candidate data.
To replicate the same: In the query editor area, paste the below function to get all the candidates data
Function to fetch candidates=(current_page) =>
let
apiKey = "INSERT KEY",
headers = [#"powerbi-api-key" = apiKey],
baseUrl = "https://recruiterflow.com/api/integrations/feed/power-bi",
relativePath = "candidates",
queryParameters = [
items_per_page = "100", // maximum allowed
current_page = Number.ToText(current_page)
],
Source = Json.Document(Web.Contents(baseUrl, [
RelativePath = relativePath,
Query = queryParameters,
Headers = headers
]))
in
Source
After pasting the function, please replace : <api key that you created in step 1>
with your API key from Recruiterflow.
To get all the candidates
URL: “/api/integrations/feed/power-bi/candidates”
Query params supported: items_per_page (max allowed is 100), current_page
Once the function is pasted with your API key, you can check if it's working by doing the following :
You can pull data for a particular page and to do so you need to enter a page number in the 'current_page' box as shown below :
Once you add a page number, for eg '1' then you can invoke the function. Once you invoke the function you will see as below :
And once you click on the 'list' you will be able to see all the records from page 1 :
This function allows you to pull data page by page. Each page will have 100 records.
To automatically pull all pages in a loop you can use the pagination function after the previous set up.
Pagination Function :
API pagination refers to a technique used in API design and development to retrieve large data sets in a structured and manageable manner. When an API endpoint returns a large amount of data, pagination allows the data to be divided into smaller, more manageable chunks or pages
After creating the function in the previous section, click on 'New Source' in the toolbar, and create another blank query.
in the query field, paste the below code to paginate and get all the candidates data to your data model.
For paginating candidate API
= List.Generate(
() => [current_page = 1, candidate = FnGetCandidates(current_page)],
each not List.IsEmpty([candidate][data]),
each [current_page = [current_page] + 1, candidate = FnGetCandidates(current_page)],
each [candidate]
)
Pagination will essentially help you pull all the records (all pages of your data) automatically.
Current data points sent from Recruiterflow to PowerBI
Candidates and Contacts: |
added-by-email |
added-by-name |
added-time |
angellist-profile |
behance-profile |
candidate.Jobs |
city |
company-block-status |
country |
current-designation |
current-organization |
do-not-email |
dribbble-profile |
education-details |
facebook-profile |
first-name |
github-profile |
id |
img-link |
last-contact-type |
last-contacted |
last-engaged |
last-engagement_type |
last-name |
latest-activity-time |
lead-owner-email |
lead-owner-name |
linkedin-profile |
location |
phone-number |
postal-code |
source-name |
state |
street-address-1 |
street-address-2 |
submission-times |
tags |
twitter-profile |
xing-profile |
custom-fields |
|
Jobs: |
candidate-applied |
candidate-hired |
candidate-sourced |
client-company-name |
created-by-email |
created-by-name |
department |
employment-type |
id |
last-opened |
name |
number-of-openings |
skills |
title |
custom-fields |
|
Stage-Movement: |
added-by-email |
added-by-name |
added-time |
angellist-profile |
behance-profile |
city |
client-company-name |
country |
current-designation |
current-organization |
dribbble-profile |
facebook-profile |
first-name |
from-stage-name |
github-profile |
last-name |
lead-owner-email |
lead-owner-name |
linkedin-profile |
location |
prospect-id |
source-name |
stage-moved-by-name |
state |
to-stage-name |
twitter-profile |
xing-profile |
|
Deals: |
amount-currency |
client-company_name |
closed-date |
current-stage-name |
deal-amount |
deal-owner-name |
id |
name |