Sticky

Introduction | What is GraphQL?

  • 18 March 2021
  • 2 replies
  • 93 views
Introduction | What is GraphQL?
Userlevel 7
Badge +5

The GraphQL data query language is:

  • A specification. The spec determines the validity of the schema on the API server. The schema determines the validity of client calls.

  • Strongly typed. The schema defines an API's type system and all object relationships.

  • Introspective. A client can query the schema for details about the schema.

  • Hierarchical. The shape of a GraphQL call mirrors the shape of the JSON data it returns. Nested fields let you query for and receive only the data you specify in a single round trip.

  • An application layer. GraphQL is not a storage model or a database query language. The graph refers to graph structures defined in the schema, where nodes define objects and edges define relationships between objects. The API traverses and returns application data based on the schema definitions, independent of how the data is stored.

It allows for reading and writing through queries and mutations (see GraphQL documentation).
 

📌Authentication

 

For authentication against Pipefy GraphQL endpoints, you will need an OAuth2 Bearer token. To get one:

  • Goto https://app.pipefy.com/tokens
  • Click on 'Generate new token'
  • Give the token a description
  • Click 'Save'
  • Reference the token as you need when authenticating against Pipefy

📌 Pipefy GraphQL Reference

Click here to access Pipefy GraphQL API reference

Example 

 

👆 BODY PARAMS

query*string

{ me { name } }

 

👆 HEADERS

Authorization*string

Bearer YOUR_TOKEN

 

👆 Content-Type*string

application/json

 

This example allows you to interact with the /queries endpoint. For more information, see the documentation.

 

📌 Importing

Create cards or records from a xlsx spreadsheet.

If you have a spreadsheet with important information and wish to create cards or records with that data, it is possible with our API. Each line of the sheet will be converted to a card/record.

This mutation copies the data from your sheet and creates multiple cards in a pipe or records in a database table.

 

🚧 Permission 🚧

You MUST be the pipe or table Admin!

 

🚧 Make sure the sheet is public 🚧

To send the information to Pipefy, the XSLX's URL file must be public.

 

👆 How to set up the sheet?

The column represents a field on Pipefy and the line represents a card/record. Example:

❗❗❗ First-line -  We ignore the first line of the sheet, so use it as a place to put the title of each column.

 

👆 How should I configure the information of each column regarding the field type?
The information sent to pipefy must follow a pattern. The content should match exactly the fields configuration on Pipefy!

 

📌 Cards Importer

Mutation to create multiple cards in a pipe from a xlsx spreadsheet.

 
In the tab cardsImporter (bellow) you can see an example mutation. Once you change the query to your variables, send it to https://api.pipefy.com/graphql and cards will be created with the information of your spreadsheet. In the tab Structure you can have a better view of the query and you can use this format in our IDE: pipefy.com/graphiql 

 

cardsImporter:

{ "query": "mutation { cardsImporter(input: {pipeId: \"219739\", url: \"https://docs.google.com/spreadsheets/d/13sohSO0eGjgZYqQSFyp0LUFwZhktiU9t3BX6Sgnb_yk/export?format=xlsx\", assigneesColumn: \"a\", labelsColumn: \"b\", dueDateColumn: \"c\", currentPhaseColumn: \"d\", fieldValuesColumns: [{column: \"e\", fieldId: \"company_name\"}, {column: \"f\", fieldId: \"contact_email\"}, {column: \"g\", fieldId: \"deal_value\"}]}) { cardsImportation { id } } }" }

Structure 
 

 

 

📘 URL - If you are using google spreadsheet, change the end of the URL from /edit#gid=1144534632  to  /export?format=xlsx

 

👆 Response - After sending the query to Pipefy, you will recieve a response in your email when the importation proccess its done!

 

📌 Records Importer

Mutation to create multiple records in a database table from a xlsx spreadsheet.

In the tab recordsImporter (bellow) you can see an example mutation. Once you change the query to your variables, send it to https://api.pipefy.com/graphql and records will be created with the information of your spreadsheet.
In the tab Structure you can have a better view of the query and you can use this format in our IDE: pipefy.com/graphiql

{ "query": "mutation { recordsImporter(input: {tableId: \"p0A_JWST\", url: \"https://docs.google.com/spreadsheets/d/13sohSO0eGjgZYqQSFyp0LUFwZhktiU9t3BX6Sgnb_yk/export?format=xlsx\", statusColumn: \"d\", fieldValuesColumns: [{column: \"e\", fieldId: \"company_name\"}, {column: \"f\", fieldId: \"contact_email\"}]}) { recordsImportation { id } } }" } 

 

📘 URL - If you are using google spreadsheet, change the end of the URL from /edit#gid=1144534632 to /export?format=xlsx

 

👆  Response - After sending the query to Pipefy, you will recieve a response in your email when the importation proccess its done!

📌 Integrations

 

Integrations - UI Path

UI Path Activity (Integration)

 

📌 Sample payloads

 

card.move

card.done 

 

card.field_update

card.create

 


2 replies

Userlevel 7
Badge +5

@genietim Now it is completed! :smile:

I also added information in Customs Apps & Integrations. If you want to check and see if it is useful content it would be great!! 

Userlevel 5
Badge +2

Awesome, @Juliana Spinardi , looks really nice, thanks so much.

Reply