BPMN 2.0 · 5-Minute Setup · No Infrastructure

From zero to running BPMN
in under 5 minutes.

Sign up, point your modeler at Priostack, deploy your first process. No Kubernetes cluster, no Zeebe to configure, no Operate to install. Just a REST API and your existing BPMN file.

Get your free API key →

Four steps. No infrastructure.

1

Sign up and get your API key

Enter your email below. You'll receive a verification link instantly. Click it - your API key is in the confirmation email. Takes 60 seconds.

2

Point your modeler at Priostack

In Camunda Modeler, bpmn.io or Signavio, change the connection endpoint to:

https://priostack.com/api/v1

Nothing else changes. Your existing workers, your existing models.

3

Deploy your BPMN file

Hit Deploy in your modeler, or use curl directly:

curl -X POST https://priostack.com/api/v1/process-definitions \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@my-process.bpmn"
4

Start an instance and watch it run

Trigger a process instance. Open your dashboard at priostack.com/dashboard - every active instance, job queue and incident is visible in real time.

curl -X POST https://priostack.com/api/v1/process-instances \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"processDefinitionKey":"my-process","variables":{}}'

Step 5 — Run a worker

Workers poll for jobs and complete them. Copy the snippet in your language, swap in your API key, run it.

package main import ( "bytes" "encoding/json" "fmt" "net/http" "time" ) const ( baseURL = "https://priostack.com/api/v1" apiKey = "YOUR_API_KEY" ) func main() { for { jobs := activateJobs("credit-check", 5) for _, job := range jobs { result := map[string]interface{}{"creditScore": 720} completeJob(job["key"].(string), result) fmt.Printf("completed job %s\n", job["key"]) } time.Sleep(2 * time.Second) } } func activateJobs(jobType string, max int) []map[string]interface{} { body, _ := json.Marshal(map[string]interface{}{"type": jobType, "maxJobsToActivate": max, "timeout": 30000}) req, _ := http.NewRequest("POST", baseURL+"/jobs/activate", bytes.NewReader(body)) req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req) var result struct{ Jobs []map[string]interface{} } json.NewDecoder(resp.Body).Decode(&result) return result.Jobs } func completeJob(key string, vars map[string]interface{}) { body, _ := json.Marshal(map[string]interface{}{"variables": vars}) req, _ := http.NewRequest("POST", baseURL+"/jobs/"+key+"/complete", bytes.NewReader(body)) req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/json") http.DefaultClient.Do(req) }

Start step 1 now

100 free workflow executions. No credit card. API key in your inbox in 60 seconds.

No credit card · Instant key · Full API docs →