Skip to main content
All CollectionsIntegrations
PowerBI Integration
PowerBI Integration

How to integrate Recruiterflow with PowerBI for in depth analysis.

Amritanshu Anand avatar
Written by Amritanshu Anand
Updated over 5 months ago

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

email

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


Did this answer your question?