Solved

Integração Pipefy e PowerBI


Userlevel 4

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? 

icon

Best answer by bruno-aarao 3 December 2021, 20:25

View original

43 replies

Alguém conseguiu baixar o conector para me mandar?

Desde já agradeço

 

Badge +2

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.

@consultoria24 obrigado pelo apoio na configuração, tinha problemas na conexão e verifiquei que tratava-se do arquivo .mez. 

Userlevel 4
Badge +1

Segue um passo a passo para realizar a conexão usando este conector !

@consultoria24, boa noite! o gateway precisa de servidor (virtual ou nossa própria máquina/servidor local) ou você consegue "burlar” esse requisito?

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!

@consultoria24 conseguiu me ajudar, pessoal! Eu estava com o mesmo problema da maioria de não conseguir ativar a atualização automática usando gateway. O meu problema foi que precisava ativar dois detalhes da configuração das credenciais da fonte de dados no power bi online. Importante: só conseguir usando o gateway no modo pessoal e isso já resolvia o meu problema. Mas também aprendi a configurar com o outro modo.

Ele foi super gentil e conseguimos resolver rapidinho o meu problema hehe muito obrigada pela disponibilidade e pela ajuda, @consultoria24 :)

 

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.

Userlevel 2

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 ??

 

Yves PeixotoJorge Sampaio 

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?

Userlevel 2

 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 @consultoria24, consegui uma versão atualizada do conector mencionado, onde é possível realizar a carga de dados do pipefy para o PBI (inclusive esse conector traz informações de relações entre pipes!!!!), assim como realizar a atualização no PBI Service, uma vez configurado o Gateway (Inclusive consegui atualizar via gateway padrão e no modo pessoal).

 

Segue anexado o conector atualizado.

 

Obrigado demais @consultoria24 !!!!!



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? 

Userlevel 3

 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=[
#"Method" = "POST",
#"Accept" = "application/json",
#"Authorization" =TOKENAUTH ,
#"Content-Type" = "application/json; charset=utf-8"
],
Content=Text.ToBinary(query)
]
),
pipefyResponse = Json.Document(getToken),
data = pipefyResponse[data],
cards = data[cards],
edges = cards[edges]
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, [Headers=[Method="POST", Accept="application/json", Authorization=TOKENAUTH, #"Content-Type"="application/json; charset=utf-8"], Content=Text.ToBinary(query)])),
data = getToken[data],
cards = data[cards],
#"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 [newstart] <> null,
each [PG = [PG]+1, newstart = ("after: \#(0022)"& [Consulta][cursorstart] &"\#(0022)"), Consulta = GeradorDePaginas(TOKENAUTH, newstart), TOKENAUTH = [TOKENAUTH] ],
each [[TOKENAUTH], [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([Column1.TOKENAUTH], [Column1.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"

 
 

Userlevel 3

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=[
#"Method" = "POST",
#"Accept" = "application/json",
#"Authorization" =TOKENAUTH ,
#"Content-Type" = "application/json; charset=utf-8"
],
Content=Text.ToBinary(query)
]
),
pipefyResponse = Json.Document(getToken),
data = pipefyResponse[data],
cards = data[cards],
edges = cards[edges]
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, [Headers=[Method="POST", Accept="application/json", Authorization=TOKENAUTH, #"Content-Type"="application/json; charset=utf-8"], Content=Text.ToBinary(query)])),
data = getToken[data],
cards = data[cards],
#"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 [newstart] <> null,
each [PG = [PG]+1, newstart = ("after: \#(0022)"& [Consulta][cursorstart] &"\#(0022)"), Consulta = GeradorDePaginas(TOKENAUTH, newstart), TOKENAUTH = [TOKENAUTH] ],
each [[TOKENAUTH], [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([Column1.TOKENAUTH], [Column1.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"

 

 

Bom dia!

 

Estou tentando realizar a integração pelo método fácil, utilizando um conector, mas não estou conseguindo finalizar, pois não aparece a opção Pipefy na obtenção dos dados. É como se a conexão não tenha sido realmente realizada.

 

Estou utilizando o conector que foi enviado nesse tópico e um vídeo do Pipefy com o passo a passo de como realizar essa conexão mas até o momento não tive êxito.

 

Alguém passou pelo mesmo problema? Se sim, como conseguiu resolver?

 

Link do vídeo: https://screencast-o-matic.com/watch/cYV3lhvLvU

Estou com o mesmo problema. Alguém sabe me dizer como resolver?

Userlevel 1

Boa tarde, pessoal, tudo bem ?

  Estou trabalhando praticamente nesta mesma integração, porém estou com dificuldades na atualização do dash na nuvem. @consultoria24 se puder me ajudar agradeceria, já baixei e instalei o conector, no power bi desktop, consigo trazer as informações do pipe, consigo publicar, mais na hora de atualizar tenho o seguinte erro 

“Falha ao atualizar as credenciais da fonte de dados: Não há suporte para o tipo de fonte de dados especificado. Tipo de fonte de dados: Pipefy.”

Onde posso baixar a versão 3000.66.8, citada acima, atualmente estou usando a versão mais recente 3000.110.3

 

Obrigado pela atenção,

 

Olá pessoal tudo bem ?

 Gostaria de deixar registrado meu agradecimento @consultoria24 pela atenção e disponibilidade, graças a Deus consegui resolver minha atividade integrar pipefy ao Power BI via api.

Userlevel 1

Boa tarde, pessoal, tudo bem ?

  Estou trabalhando praticamente nesta mesma integração, porém estou com dificuldades na atualização do dash na nuvem. @consultoria24 se puder me ajudar agradeceria, já baixei e instalei o conector, no power bi desktop, consigo trazer as informações do pipe, consigo publicar, mais na hora de atualizar tenho o seguinte erro 

“Falha ao atualizar as credenciais da fonte de dados: Não há suporte para o tipo de fonte de dados especificado. Tipo de fonte de dados: Pipefy.”

Onde posso baixar a versão 3000.66.8, citada acima, atualmente estou usando a versão mais recente 3000.110.3

 

Obrigado pela atenção,

 

Userlevel 4
Badge +1

Pessoal, graças a ajuda do @consultoria24, consegui uma versão atualizada do conector mencionado, onde é possível realizar a carga de dados do pipefy para o PBI (inclusive esse conector traz informações de relações entre pipes!!!!), assim como realizar a atualização no PBI Service, uma vez configurado o Gateway (Inclusive consegui atualizar via gateway padrão e no modo pessoal).

 

Segue anexado o conector atualizado.

 

Obrigado demais @consultoria24 !!!!!

olá @bruno-cunha , foi um prazer apoiá-lo nesta jornada. Forte abraço :)

@bruno-aarao … quis dizer :)   \o/

Userlevel 4
Badge +1

Pessoal, graças a ajuda do @consultoria24, consegui uma versão atualizada do conector mencionado, onde é possível realizar a carga de dados do pipefy para o PBI (inclusive esse conector traz informações de relações entre pipes!!!!), assim como realizar a atualização no PBI Service, uma vez configurado o Gateway (Inclusive consegui atualizar via gateway padrão e no modo pessoal).

 

Segue anexado o conector atualizado.

 

Obrigado demais @consultoria24 !!!!!

olá @bruno-cunha , foi um prazer apoiá-lo nesta jornada. Forte abraço :)

Userlevel 2

Pessoal, graças a ajuda do @consultoria24, consegui uma versão atualizada do conector mencionado, onde é possível realizar a carga de dados do pipefy para o PBI (inclusive esse conector traz informações de relações entre pipes!!!!), assim como realizar a atualização no PBI Service, uma vez configurado o Gateway (Inclusive consegui atualizar via gateway padrão e no modo pessoal).

 

Segue anexado o conector atualizado.

 

Obrigado demais @consultoria24 !!!!!

Userlevel 2

Olá Arthur,

Este erro ocorreu comigo também. Eu instalei o Gateway on premise data gateway versão 3000.66.8 (já tem uma mais recente) e refiz a configuração. Mas antes, é importante você ter a versão correta do conector também e apontar para o diretório correto onde está este arquivo no gateway (às vezes, o local do arquivo fica mascarado no windows com outro nome - tivemos isso com um colega da Vale que , depois de revisar este ponto, passou a funcionar). Se vc quiser, podemos fazer um call via zoom (email fnascimento@p4rconsulting.com ) para revisarmos os passos.

grande abraço,

Fernando

Eu consegui configurar o gateway corretamente, mas na hora de inserir as credenciais para atualização, não é evidenciada os campos de login, nem consigo selecionar nenhum método de autenticação.

Por um acaso, saberia me dizer oq pode ser, por favor?

 

 

Userlevel 2

Olá, Estou usando o Connector, mas estou notando bastante demora ao carregar as informações ou em tratar os dados no editor do Power BI, existe alguma forma de deixar a conexão mais rápida?

@Caio , essa lentidão acontece porque o Connector traz tudo da base. Se você tiver campos com anexos ele vai trazer o anexo em si ao invés do link, isso deixa a conexão ultra lenta.

Userlevel 4
Badge +1

Olá Arthur,

Este erro ocorreu comigo também. Eu instalei o Gateway on premise data gateway versão 3000.66.8 (já tem uma mais recente) e refiz a configuração. Mas antes, é importante você ter a versão correta do conector também e apontar para o diretório correto onde está este arquivo no gateway (às vezes, o local do arquivo fica mascarado no windows com outro nome - tivemos isso com um colega da Vale que , depois de revisar este ponto, passou a funcionar). Se vc quiser, podemos fazer um call via zoom (email fnascimento@p4rconsulting.com ) para revisarmos os passos.

grande abraço,

Fernando

Userlevel 1

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.

Boa tarde.

Gostaria de saber mais detalhes sobre como vc configurou o gateway para o pipefy.

Hoje já uso esse gateway para bases externas como access e excel e para um banco de dados no ORACLE, mas quando tento configurar o Pipefy por meio do API Pipefy Conector ele me apresenta o seguinte erro:

Não é possível conectar: Encontramos um erro ao tentar conectar a . Detalhes: "Não foi possível registrar essa fonte de dados para nenhuma instância de gateway nesse cluster. Veja mais detalhes abaixo sobre erros específicos para cada instância de gateway."

Reply