Why we chose GraphQL for our new WorkflowGen API

GraphQL API: A new level of integration.

WorkflowGen is a low-code development tool for creating process-based applications with a high level of configuration. Through its flexible and modern approach, GraphQL allows WorkflowGen to reach a new level of integration and customization.

{
viewer {
actions(filter: {as: ASSIGNEE, status: OPEN}) {
totalCount
hasNextPage
hasPreviousPage
items {
request {
number
description
}
number
name
description
limit
launchUrl
}
}
}
}

GraphQL was a natural choice for the new WorkflowGen API and fits perfectly into the product innovation strategy around fluidity, transparency and innovation.

Fluidity

Thanks to the GraphQL schema and the GraphiQL in-browser GraphQL IDE, the API is intuitive and the integration can start immediately with the technologies involved.

GraphiQL in action

With our BPM engine, we are already familiar with graph algorithms and recursivity (e.g sub-processes). A graph-oriented API is consistent with the product logic and allows the developers to create complex queries in a simple manner.

GraphQL helps us to offer the best API developer experience to discover and use our technology.

The GraphiQL tool offers a fluid experience when discovering the schema with its great built-in features such as code completion and integrated schema documentation. The ability to instantly perform advanced queries and mutations makes our product evaluation smoother. The developers can thus stay focused on their solution with a minimum of friction with our API.

Transparency

Whether for a mobile application, a web application or micro services, GraphQL developers have exactly the data they want with optimal performance.

# An action.
type Action implements Node {
  # Action identifier.
id: ID!
  # Action name.
name: String!
  # Action description.
description: String!
  # Action number.
number: Int!
  # Request associated to the action.
request: Request
  # Action status.
status: ActionStatus!
  # Action sub-status.
subStatus: ActionSubStatus!
  # Activity associated to the action.
activity: Activity!
  # Date and time limit of the action.
limit: DateTime
}
But what seduced us even more with GraphQL is the possibility to open our API and especially our GraphQL schema.

It is indeed possible for our customers to “extend” our GraphQL schema with their own fields, types and mutations. This new possibility brought about by our use of GraphQL with Node.js in WorkflowGen opens new fields in the integration and creation of complex solution and this as soon as possible.

“Augmented API” is now a reality thanks to GraphQL!

So instead of “hooking” their APIs to that of WorkflowGen, developers can “extend” the WorkflowGen GraphQL schema to add their integration for transparent natural use. For example, a client can extend the Request or Action types to add fields querying its real-time information system. The front end developer can therefore continue working in the GraphQL schema, which allows significant development time savings and optimized teamwork.

Innovation

GraphQL is perfectly suited to modern frameworks like React, React Native, Angular, Vue, .Net Core and many others supported by a very dynamic community.

Most importantly, GraphQL allows us to address needs that only our customers know in an elegant and modern way.

We believe that the ecosystem will be great and future third-party tools will bring a new dimension to API development and usage (integration with popular IDEs, AI, IoT, Serverless, Monitoring, etc.). We are also very interested in GraphQL subscription solutions to offer real-time features.

The new GraphQL API is also an accelerator for our own product modernization.

We are in the process of completing our new mobile app developed in React Native (it was also a great way to build our GraphQL schema!), and future front end developments will rely on the GraphQL backend.

The new WorkflowGen GraphQL API is available in Alpha with version 7.0.0.