📰 IT NachrichtenToday’s NYT Mini Crossword Answers for Saturay, Sept. 12(12.09.2026 um 07:43 Uhr)
🔧 AI Nachrichten Etzioni on AI: What kids tell chatbots, but not you(04.09.2026 um 16:05 Uhr)
🔧 AI Nachrichten OpenAI Wants to Know if an AI Industry Slowdown Would Even Be Legal(11.09.2026 um 01:28 Uhr)
🔧 AI Nachrichten OpenAI puts Pro subscriptions on hold due to Astra demand(10.09.2026 um 22:59 Uhr)
🔧 AI Nachrichten OpenAI’s feud with mathematicians is only escalating(11.09.2026 um 22:57 Uhr)
📰 IT NachrichtenToday’s NYT Mini Crossword Answers for Saturay, Sept. 12(12.09.2026 um 07:43 Uhr)
🔧 AI Nachrichten Etzioni on AI: What kids tell chatbots, but not you(04.09.2026 um 16:05 Uhr)
🔧 AI Nachrichten OpenAI Wants to Know if an AI Industry Slowdown Would Even Be Legal(11.09.2026 um 01:28 Uhr)
🔧 AI Nachrichten OpenAI puts Pro subscriptions on hold due to Astra demand(10.09.2026 um 22:59 Uhr)
🔧 AI Nachrichten OpenAI’s feud with mathematicians is only escalating(11.09.2026 um 22:57 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 4 Min Lesezeit
0

Extracting Pipefy API data into Power BI with M language

↗ Quelle (dev.to)
🗣️ Stimme:

Have you ever tried making a web request to






I had a short deadline, and the solution I found was using M Language.



In Power Query:



Open a Blank query > right click > Advanced editor.



Try the script below:




CODE
let
url = "https://api.pipefy.com/graphql",
token = "Bearer YOUR_TOKEN_HERE",

// Function to make the GraphQL request
FetchPage = (cursor as nullable text) as record =>
let
queryBody = if cursor = null then
"{ ""query"": ""query { allCards(pipeId: \""PIPE_ID_HERE\"", first: 40) { nodes { title updated_at due_date current_phase { name } fields { name value } } pageInfo { hasNextPage endCursor } } }"" }"
else
"{ ""query"": ""query { allCards(pipeId: \""PIPE_ID_HERE\"", first: 40, after: \""" & cursor & "\"") { nodes { title updated_at due_date current_phase { name } fields { name value } } pageInfo { hasNextPage endCursor } } }"" }",

response = Web.Contents(
url,
[
Headers = [
#"Authorization" = token,
#"Content-Type" = "application/json"
],
Content = Text.ToBinary(queryBody)
]
),

jsonResponse = Json.Document(response),
data = jsonResponse[data][allCards]
in
data,

// Recursive function to iterate through all pages
GetAllPages = (cursor as nullable text, accumulatedCards as list) as list =>
let
currentPage = FetchPage(cursor),
currentCards = List.Transform(currentPage[nodes], each
[
title = _[title],
updated_at = _[updated_at],
due_date = _[due_date],
current_phase = _[current_phase][name],
fields = _[fields]
]
),
newCards = List.Combine({accumulatedCards, currentCards}),
hasNext = currentPage[pageInfo][hasNextPage],
nextCursor = currentPage[pageInfo][endCursor]
in
if hasNext then
@GetAllPages(nextCursor, newCards)
else
newCards,

// Calling GetAllPages function to retrieve all pages
allCards = GetAllPages(null, {}),

// Converting the list of records into a table
resultTable = Table.FromRecords(allCards),

// Extracting unique custom field names
allFieldNames = List.Distinct(List.Combine(List.Transform(resultTable[fields], each List.Transform(_, each _[name])))),

// Adding columns for each custom field
resultWithFields = Table.TransformColumns(resultTable, {"fields", each
let
// Create a record for each field
fieldRecord = Record.FromList(
List.Transform(allFieldNames, (fieldName) =>
let
// Attempt to find the field value
selectedField = List.First(List.Select(_, (field) => field[name] = fieldName), null)
in
if selectedField <> null then selectedField[value] else null // Retorna o valor ou null
),
allFieldNames
)
in
fieldRecord
}),

// Expanding custom fields into separate columns
finalTable = Table.ExpandRecordColumn(resultWithFields, "fields", allFieldNames)
in
finalTable






Considerations:



FetchPage



Makes the HTTP request to the API; uses pagination with the cursor to fetch data in parts (40 records per page).



cursor as nullable text



Used to handle pagination, indicating the position of the next page to be fetched.



first: 40



Defines the number of records retrieved per request (you can adjust this value as needed).



→ I chose 40 because it worked best for my request size and Pipe structure. Check out .



→ The documentation allows you to build your GraphQL queries by selecting the exact information you need. Once you have your query ready, you can ask gepeto to convert it to JSON format for you.



Final Result



The script converts all the data into a neat table in Power BI (you can expand it as needed, and the code will dynamically adjust).



Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
2 Quellen
Seattle Times sues Microsoft and OpenAI, alleging they trained their AI on its journalism
1 Quelle
Today’s NYT Mini Crossword Answers for Saturay, Sept. 12
1 Quelle
Etzioni on AI: What kids tell chatbots, but not you
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Extracting Pipefy API data into Power BI with M language

Thematisch verwandte Begriffe: Extracting, Pipefy, data, into · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...