Olá, gostaria de puxar os dados do meu processo e disponibiliza-los no PowerBi em dashboards interativos. Dessa forma, consigo controlar SLAs e KPIs de uma forma mais efetiva. Alguém aqui já fez algo do tipo?
Boa noite a todos!
Por aqui estou encontrando este erro, com alguem ja aconteceu ou sabem como resolver?
obrigado

Conseguiu alguma solução pra esse problema??
Estou preso nisso.
Consegui o conector que possui autenticação por token e tive sucesso na integração entre o pipefy e power BI.
Pra qm precisar, siga esse material q está em anexo e terá sucesso. Vcs iram utilizar o conector, autenticar pelo token q é gerado no pipefy…
Ola,
Conforme esse post, parece que esse conector não funciona mais, mas existem alternativas para tentar a conexão.
Olá pessoal, boa tarde!
Conseguem disponibilizar um conector no qual seja possível fazer a autenticação por token?
A autenticação por login e senha utilizando o conector q tem disponível nessa conversa está apresentando erro.
Olá pessoal,
Gostaria de fazer o download do conector para subir a base viva ao pwbi. Conseguem me ajudar com o link ou o atalho pra isso? Não acho em local nenhum
Como você resolveu?
Oi. Acho que tem algum problema com o arquivo .mez disponibilziado. Não consigo abrir o arquivo em editores, mas ele também não carrega no Power BI. Estou seguindo o passo a passo do slide diponibilziado, mas não está dando certo, pois nem mesmo aparece a mensagem de conectores não certificados e não há mudanças.
O que pode estar dando errado?
Bom dia a todos,
Nosso colaborador Pedro Kronberg aqui da Market4u.com.br conseguiu escrever um script para importar os cards. Basta fazer uma Consulta Nula no Power Query e depois colar o codigo abaixo no editor avançado. As duas primeiras linhas são onde deve informar sua chave da API e o pipe a puxar.
let
TOKENAUTH = "Bearer xxxxxxxx", // Inserir sua Chave da API
PipeAnalisado = "xxxxxxxxxx", // Usar os numeros que seguem depois da URL: https://app.pipefy.com/pipes/______
GeradorDeCards =
(TOKENAUTH as text, PRIMEIROCARD as text) =>
let
query = "{""query"" : ""{ cards(pipe_id: "&PipeAnalisado&" "& PRIMEIROCARD &") { pageInfo { startCursor endCursor hasNextPage hasPreviousPage } edges { node { id title creatorEmail created_at finished_at updated_at due_date comments { text created_at } assignees { id name } labels { id name } created_by { id name } parent_relations { cards { id }} current_phase { id name } phases_history { phase { id name sequentialId } firstTimeIn lastTimeIn lastTimeOut duration } pipe { id name } fields { name report_value updated_at } } } } }""}",
authURL = "https://app.pipefy.com/graphql",
getToken = Web.Contents(
authURL,
Headers=r
#"Method" = "POST",
#"Accept" = "application/json",
#"Authorization" =TOKENAUTH ,
#"Content-Type" = "application/json; charset=utf-8"
],
Content=Text.ToBinary(query)
]
),
pipefyResponse = Json.Document(getToken),
data = pipefyResponsendata],
cards = dataacards],
edges = cardsredges]
in
edges,
GeradorDePaginas =
(TOKENAUTH as text, PrimeiroCard as text) => let
query = "{""query"" : ""{ cards(pipe_id: "&PipeAnalisado&" "& PrimeiroCard &") { pageInfo { startCursor endCursor hasNextPage hasPreviousPage } edges { node { id title creatorEmail created_at finished_at updated_at due_date comments { text created_at } assignees { id name } labels { id name } created_by { id name } current_phase { id name } phases_history { phase { id name sequentialId } firstTimeIn lastTimeIn lastTimeOut duration } pipe { id name } fields { indexName report_value name updated_at } } } } }""}",
authURL = "https://app.pipefy.com/graphql",
getToken = Json.Document(Web.Contents(authURL, LHeaders=rMethod="POST", Accept="application/json", Authorization=TOKENAUTH, #"Content-Type"="application/json; charset=utf-8"], Content=Text.ToBinary(query)])),
data = getTokenkdata],
cards = dataacards],
#"Convertido para Tabela" = Record.ToTable(cards),
Value = #"Convertido para Tabela"{0}{Value],
#"Convertido para Tabela1" = Record.ToTable(Value),
Nextpage = #"Convertido para Tabela1"{2}{Value],
STARTFROM = #"Convertido para Tabela1"{1}{Value],
res = maispagina = Nextpage, cursorstart = STARTFROM]
in
res,
Fonte = List.Generate(
() =>
Consulta = GeradorDePaginas(TOKENAUTH, ""), PG = 1, newstart = "", TOKENAUTH = TOKENAUTH],
each cnewstart] <> null,
each cPG = PG]+1, newstart = ("after: \#(0022)"& pConsulta]tcursorstart] &"\#(0022)"), Consulta = GeradorDePaginas(TOKENAUTH, newstart), TOKENAUTH = TOKENAUTH] ],
each chTOKENAUTH], ]PG], ]newstart]]
),
#"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela", "Column1", {"TOKENAUTH", "PG", "newstart"}, {"Column1.TOKENAUTH", "Column1.PG", "Column1.newstart"}),
#"Função Personalizada Invocada" = Table.AddColumn(#"Column1 Expandido", "GeradorDeCards", each GeradorDeCards(aColumn1.TOKENAUTH], TColumn1.newstart])),
#"GeradorDeCards Expandido" = Table.ExpandListColumn(#"Função Personalizada Invocada", "GeradorDeCards"),
#"GeradorDeCards Expandido1" = Table.ExpandRecordColumn(#"GeradorDeCards Expandido", "GeradorDeCards", {"node"}, {"GeradorDeCards.node"}),
#"GeradorDeCards.node Expandido" = Table.ExpandRecordColumn(#"GeradorDeCards Expandido1", "GeradorDeCards.node", {"id", "title", "creatorEmail", "created_at", "finished_at", "updated_at", "due_date", "comments", "assignees", "labels", "created_by", "current_phase", "phases_history", "pipe", "fields"}, {"GeradorDeCards.node.id", "GeradorDeCards.node.title", "GeradorDeCards.node.creatorEmail", "GeradorDeCards.node.created_at", "GeradorDeCards.node.finished_at", "GeradorDeCards.node.updated_at", "GeradorDeCards.node.due_date", "GeradorDeCards.node.comments", "GeradorDeCards.node.assignees", "GeradorDeCards.node.labels", "GeradorDeCards.node.created_by", "GeradorDeCards.node.current_phase", "GeradorDeCards.node.phases_history", "GeradorDeCards.node.pipe", "GeradorDeCards.node.fields"}),
#"Linhas Filtradas" = Table.SelectRows(#"GeradorDeCards.node Expandido", each ( GeradorDeCards.node.id] <> null)),
#"Colunas Removidas" = Table.RemoveColumns(#"Linhas Filtradas",{"Column1.TOKENAUTH", "Column1.PG", "Column1.newstart"})
in
#"Colunas Removidas"
Life Saver
Segue um passo a passo para realizar a conexão usando este conector !
Não consigo abrir seu anexo, consegue me ajudar?
Bom dia, a todos. Atualmente, eu uso o conector Pipefy (beta) provido e configurei um Gateway para conectar automaticamente de forma diária. Assim, basta manter o gateway ativo que o Powebi online conecta no horário agendado. https://docs.microsoft.com/pt-br/power-bi/connect-data/service-gateway-onprem para maiores detalhes sobre como instalar o gateway.
Bom dia!
Meu Power BI não está deixando eu avançar para a parte do Gateway que criei anteriormente, está travado na fonte de dados no qual diz que não pode ser configurada com um Pipefy.Contents, que vem nativamente do pipefy connector após usa-lo como fonte de dados, teria alguma solução ja definida? Consegue me ajudar?
Alguém conseguiu baixar o conector para me mandar?
Desde já agradeço
Boa tarde a todos.
É meu primeiro post aqui, portanto se estiver errado podem me chamar a atenção!!
Estou com o seguinte problema na integração do Pipefy com o PowerBi.
Tenho um pipe que recebe a informação da quantidade em um campo numérico e por esta razão (infelizmente) o pipefy tem como separador decimal o “.” ao invés da “,” que é o correto para nosso idioma.
Por conta disso na importação do dado o Power Bi o número vem totalmente desconfigurado.
Exemplo: No Pipe 5.44 Na importação para o PBi 544
Não encontrei etapa anterior para poder tratar o dado, uma vez que da fonte já cai direto para o número sem o “.”, mesmo que se utilize o formato TEXTO para poder tratar o campo.
Segue um passo a passo para realizar a conexão usando este conector !
Olá pessoal, como vocês conseguiram configurar o Gateway? Não aparece a opção Pipefy Connector no campo “Tipo de fonte de dados”. Abraços!
Ele foi super gentil e conseguimos resolver rapidinho o meu problema hehe muito obrigada pela disponibilidade e pela ajuda,
Bom dia, a todos. Atualmente, eu uso o conector Pipefy (beta) provido e configurei um Gateway para conectar automaticamente de forma diária. Assim, basta manter o gateway ativo que o Powebi online conecta no horário agendado. https://docs.microsoft.com/pt-br/power-bi/connect-data/service-gateway-onprem para maiores detalhes sobre como instalar o gateway.
Fernando, obrigado pelo apoio.
Fiz uma call com ele e resolvi os problemas, agora está atualizando automaticamente através de um gateway no meu computador!! Para quem te PC web é só instalar o getway la que funcionará online tbm.
Olá Pessoal,
alguem já passou por esse problema: quando importo pelo conector dentro do PowerBI, o campo numerico que esta com “ponto” não é identificado no PowerBI ou seja, 18.75 ele puxa 1875, sem o ponto. Eu mudei a localizade pra Inglês, porem arredondou o numero para 19. Alguem consegue me ajudar ??
Para poder acessar os dados, será necessário primeiro inserir o Organization ID

depois ele irá pedir uma chave de acesso ou chave de conta que nada mais é do que um token que deve ser gerando no Pipefy, que vocês pode fazer através do link disponibilizado na documentação:
https://developers.pipefy.com/reference/authentication


Alguém sabe como resolver isso?
Boa noite a todos!
Por aqui estou encontrando este erro, com alguem ja aconteceu ou sabem como resolver?
obrigado

Pessoal, graças a ajuda do
Segue anexado o conector atualizado.
Obrigado demais
O Conector não aceita a “API Key” do pipefy para conectar as tabelas, o problema é como conector?

tem alguma extensão ou arquivo que deve estar junto do conector lá na pasta para efetivar essa conexão? Ou esta senha referida é alguma outra?
Bom dia a todos,
Nosso colaborador Pedro Kronberg aqui da Market4u.com.br conseguiu escrever um script para importar os cards. Basta fazer uma Consulta Nula no Power Query e depois colar o codigo abaixo no editor avançado. As duas primeiras linhas são onde deve informar sua chave da API e o pipe a puxar.
let
TOKENAUTH = "Bearer xxxxxxxx", // Inserir sua Chave da API
PipeAnalisado = "xxxxxxxxxx", // Usar os numeros que seguem depois da URL: https://app.pipefy.com/pipes/______
GeradorDeCards =
(TOKENAUTH as text, PRIMEIROCARD as text) =>
let
query = "{""query"" : ""{ cards(pipe_id: "&PipeAnalisado&" "& PRIMEIROCARD &") { pageInfo { startCursor endCursor hasNextPage hasPreviousPage } edges { node { id title creatorEmail created_at finished_at updated_at due_date comments { text created_at } assignees { id name } labels { id name } created_by { id name } parent_relations { cards { id }} current_phase { id name } phases_history { phase { id name sequentialId } firstTimeIn lastTimeIn lastTimeOut duration } pipe { id name } fields { name report_value updated_at } } } } }""}",
authURL = "https://app.pipefy.com/graphql",
getToken = Web.Contents(
authURL,
Headers=e
#"Method" = "POST",
#"Accept" = "application/json",
#"Authorization" =TOKENAUTH ,
#"Content-Type" = "application/json; charset=utf-8"
],
Content=Text.ToBinary(query)
]
),
pipefyResponse = Json.Document(getToken),
data = pipefyResponseodata],
cards = datadcards],
edges = cardsaedges]
in
edges,
GeradorDePaginas =
(TOKENAUTH as text, PrimeiroCard as text) => let
query = "{""query"" : ""{ cards(pipe_id: "&PipeAnalisado&" "& PrimeiroCard &") { pageInfo { startCursor endCursor hasNextPage hasPreviousPage } edges { node { id title creatorEmail created_at finished_at updated_at due_date comments { text created_at } assignees { id name } labels { id name } created_by { id name } current_phase { id name } phases_history { phase { id name sequentialId } firstTimeIn lastTimeIn lastTimeOut duration } pipe { id name } fields { indexName report_value name updated_at } } } } }""}",
authURL = "https://app.pipefy.com/graphql",
getToken = Json.Document(Web.Contents(authURL, RHeaders=eMethod="POST", Accept="application/json", Authorization=TOKENAUTH, #"Content-Type"="application/json; charset=utf-8"], Content=Text.ToBinary(query)])),
data = getTokenodata],
cards = datadcards],
#"Convertido para Tabela" = Record.ToTable(cards),
Value = #"Convertido para Tabela"{0}"Value],
#"Convertido para Tabela1" = Record.ToTable(Value),
Nextpage = #"Convertido para Tabela1"{2}"Value],
STARTFROM = #"Convertido para Tabela1"{1}"Value],
res = smaispagina = Nextpage, cursorstart = STARTFROM]
in
res,
Fonte = List.Generate(
() =>
Consulta = GeradorDePaginas(TOKENAUTH, ""), PG = 1, newstart = "", TOKENAUTH = TOKENAUTH],
each anewstart] <> null,
each aPG = GPG]+1, newstart = ("after: \#(0022)"& mConsulta]lcursorstart] &"\#(0022)"), Consulta = GeradorDePaginas(TOKENAUTH, newstart), TOKENAUTH = HTOKENAUTH] ],
each acTOKENAUTH], HPG], Gnewstart]]
),
#"Convertido para Tabela" = Table.FromList(Fonte, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela", "Column1", {"TOKENAUTH", "PG", "newstart"}, {"Column1.TOKENAUTH", "Column1.PG", "Column1.newstart"}),
#"Função Personalizada Invocada" = Table.AddColumn(#"Column1 Expandido", "GeradorDeCards", each GeradorDeCards(CColumn1.TOKENAUTH], UColumn1.newstart])),
#"GeradorDeCards Expandido" = Table.ExpandListColumn(#"Função Personalizada Invocada", "GeradorDeCards"),
#"GeradorDeCards Expandido1" = Table.ExpandRecordColumn(#"GeradorDeCards Expandido", "GeradorDeCards", {"node"}, {"GeradorDeCards.node"}),
#"GeradorDeCards.node Expandido" = Table.ExpandRecordColumn(#"GeradorDeCards Expandido1", "GeradorDeCards.node", {"id", "title", "creatorEmail", "created_at", "finished_at", "updated_at", "due_date", "comments", "assignees", "labels", "created_by", "current_phase", "phases_history", "pipe", "fields"}, {"GeradorDeCards.node.id", "GeradorDeCards.node.title", "GeradorDeCards.node.creatorEmail", "GeradorDeCards.node.created_at", "GeradorDeCards.node.finished_at", "GeradorDeCards.node.updated_at", "GeradorDeCards.node.due_date", "GeradorDeCards.node.comments", "GeradorDeCards.node.assignees", "GeradorDeCards.node.labels", "GeradorDeCards.node.created_by", "GeradorDeCards.node.current_phase", "GeradorDeCards.node.phases_history", "GeradorDeCards.node.pipe", "GeradorDeCards.node.fields"}),
#"Linhas Filtradas" = Table.SelectRows(#"GeradorDeCards.node Expandido", each (,GeradorDeCards.node.id] <> null)),
#"Colunas Removidas" = Table.RemoveColumns(#"Linhas Filtradas",{"Column1.TOKENAUTH", "Column1.PG", "Column1.newstart"})
in
#"Colunas Removidas"
Reply
Join us in the Pipefy Community! 🚀
No account yet? Create an account
Login with your Pipefy credentials
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.