Temporal API
Creating a Workflow
With one request, you can create a Temporal Workflow which will durably, atomically, and consistently ensure the creation of an Org, License, and User.
GraphQL
mutation CreateOnboardingWorkflow { createOnboardingWorkflow( input: { license: { start: "2023-11-16T12:00:00Z" end: "2024-01-16T12:00:00Z" } org: { name: "Org 1" } profile: { fullName: "Kevin Chen" } } ) { workflowId orgId profileId licenseId }}
Response
{ "data": { "createOnboardingWorkflow": { "workflowId": "9c6a8d59-782d-4f07-b1bc-8369e8c5e495", "orgId": "7371a850-626e-4a1e-9ab5-26aef10ac52d", "profileId": "c61decbe-90c7-44d3-bbe5-465dc960906b", "licenseId": "2e93b283-5e54-4db8-b58d-deb874e55f3a" } }}
Connect
pkgx http POST \ http://localhost:8081/temporal.v1beta1.TemporalService/CreateOnboardingWorkflow <<<' { "license": { "start": "2023-11-16T12:00:00Z", "end": "2024-01-16T12:00:00Z" }, "org": { "name": "Org 1" }, "profile": { "full_name": "Kevin Chen" } } '
curl -v http://localhost:8081/temporal.v1beta1.TemporalService/CreateOnboardingWorkflow \ -H "Content-Type: application/json" \ --data-binary @- <<EOF { "license": { "start": "2023-11-16T12:00:00Z", "end": "2024-01-16T12:00:00Z" }, "org": { "name": "Org 1" }, "profile": { "full_name": "Kevin Chen" } }EOF
pkgx grpcurl \ -use-reflection \ -plaintext \ -d @ localhost:8081 \ temporal.v1beta1.TemporalService/CreateOnboardingWorkflow <<EOM{ "license": { "start": "2023-11-16T12:00:00Z", "end": "2024-01-16T12:00:00Z" }, "org": { "name": "Org 1" }, "profile": { "full_name": "Kevin Chen" }}EOM
Response
{ "licenseId": "0f19c913-19fe-4aa1-9fc9-b4ab05cc4978", "orgId": "9997faf2-b1f1-4982-8c75-8d05a73d88f4", "profileId": "8816d06a-32da-4b54-8e71-3e4ca9422058", "workflowId": "ff2b522c-e284-4357-b806-67b25ba64b55"}
REST
pkgx http POST \ http://localhost:8081/temporal/workflows/onboarding <<<' { "license": { "start": "2023-11-16T12:00:00Z", "end": "2024-01-16T12:00:00Z" }, "org": { "name": "Org 1" }, "profile": { "full_name": "Kevin Chen" } } '