How Can I Use Camunda to Automate Workflows While Accessing a Device's GPS Location, Such as for a Qibla Compass Tool?

I’ve been exploring Camunda for automating workflows and business process management, and I’m really enjoying its flexibility and potential. While working on a few process models, I came across an idea of incorporating GPS-based features into my workflow, particularly for something like a qibla compass tool(boussole qibla). For context, the qibla compass tool helps users find the direction of the Qibla (the direction Muslims face during prayers) based on their current GPS location.
I’m curious about how Camunda could handle a scenario like this. Specifically, if I wanted to automate a workflow that involves accessing a device’s GPS coordinates, how would I go about doing that?

Here are some of the key points I’m trying to figure out:

  • Is it possible to integrate external data from a GPS sensor or similar location services within a Camunda process? I know Camunda allows for external services and APIs to be called, but would this apply to something like a GPS signal?
  • Once the device’s GPS location is obtained (like for the qibla compass), can Camunda trigger the next step in a workflow based on that real-time data? For example, if the location matches certain criteria, the workflow could move forward automatically.
  • Does Camunda have any specific connectors or plugins that can simplify working with location-based data, or would this need to be done using custom scripting or external APIs?
  • Also, if a user grants permission to access their location, is there a way to securely store or handle that location data within Camunda without violating any privacy concerns?

In addition, I’ve seen some examples of Camunda working with third-party systems, but nothing directly related to location services like GPS. I’d appreciate some guidance or examples on how to handle this type of data within a BPMN process. Specifically, I’d love to know how the process model would look when incorporating something like the qibla compass tool’s functionality, where the workflow reacts dynamically to the user’s location.

If anyone has tried using Camunda with GPS-based tools or has thoughts on whether this is feasible, I’d love to hear your experience. Is it overcomplicating things, or does Camunda handle such integrations smoothly?

Hi @HaroonRoghayeh, welcome to the forums! There’s a lot to answer, so I’ll try to give a broad answer and let me know if you have more specific questions:

As you already said, you can integrate Camunda with any service. This is done with a job worker or a Connector. These are services that run outside of Camunda that are “invoked” by Camunda when the process reaches a certain task. That means you certain could use GIS data in your process.

However, the process is run outside your main application in a separate engine, not on the users device. Camunda and the process engine wouldn’t need permission to access location data; it would be provided by a job worker or Connector when that task is encountered in the process. You would develop the process with BPMN as you would any other BPMN process, and query the GIS data when needed. On the application side, this may mean needing to keep a current location so that it can be used whenever the process needs it.

As for data security, we don’t recommend storing PII or any sensitive information inside the process engine, and instead use IDs or other reference data. The ID could then be sent to your main application when your application needs to interact with the sensitive data.