Create a Workflow from a Blueprint (Deep Dive)
The most common way to start a SignStack process is by using a pre-defined Blueprint. This guide provides a detailed look at the POST /workflows/from-blueprint API endpoint and its parameters.
This endpoint acts like a "compiler," taking the reusable Blueprint plan, combining it with your specific transaction data, and creating a live, running Workflow instance.
Endpoint
POST /v1/organizations/{organizationId}/workflows/from-blueprint/{blueprintKey}
-
organizationId: The ID of your organization (or useme). -
blueprintKey: The uniquekeyof theBlueprintyou want to use.
Authentication
This endpoint requires a valid, short-lived SignStack JWT Access Token obtained via the /v1/auth/token endpoint. Include it in the Authorization: Bearer <token> header.
Request Body
The request body is a JSON object where you provide the specific data and participants for this one transaction.
JSON
{
"displayName": "Optional Workflow Name (e.g., Q4 Sales Contract - ACME Corp)",
"entityData": [
{
"key": "clientInfo",
"data": {
"companyName": "ACME Corporation",
"contactEmail": "contact@acme.com",
"tier": "Enterprise"
}
},
{
"key": "dealInfo",
"data": {
"value": 150000,
"product": "Enterprise Suite",
"termMonths": 24
}
}
],
"participantMapping": {
"primaryBuyer": {
"firstName": "Jane",
"lastName": "Doe",
"email": "jane.doe@acme.com"
},
"salesRep": {
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@yourcompany.com"
}
}
}
Key Request Body Fields:
-
displayName(Optionalstring): A human-readable name for this specificWorkflowinstance. If omitted, a default name might be generated. -
entityData(Requiredarray): This array provides the initial data for theEntitiesrequired by theBlueprint. Each object in the array must contain:-
key: Thekeyof theentitySlotdefined in theBlueprint(e.g.,clientInfo). -
data: The full JSON object for that entity. SignStack will validate this data against theSchemaspecified in theBlueprint'sentitySlot.
-
-
participantMapping(Requiredobject): This object maps the abstractRolesdefined in theBlueprintto real people for thisWorkflow.-
Keys: The
keyof theroledefined in theBlueprint'srolesarray (e.g.,primaryBuyer). -
Values: An object containing the participant's details:
-
firstName(Requiredstring) -
lastName(Requiredstring) -
email(Requiredstring)
-
-
Response (Success: 201 Created)
If the request is successful, SignStack compiles the Blueprint with your provided data, creates the Workflow instance, and starts the first step(s). The response body contains the full Workflow object.
Example Response (truncated):
{
"id": "wf_123abc456def", // The unique ID of the new Workflow
"organizationId": "org_...",
"status": "InProgress", // The workflow has started
"displayName": "Q4 Sales Contract - ACME Corp",
"blueprintId": "bp_xyz789", // ID of the source Blueprint version
"participants": [
{ "participantId": "p_jane_doe_...", "firstName": "Jane", ... },
{ "participantId": "p_john_smith_...", "firstName": "John", ... }
],
"documents": [
// Details of the specific document instances for this workflow
],
"steps": [
// The fully resolved execution plan (steps) for this workflow
],
"createdAt": "...",
"updatedAt": "..."
}
You can now use the returned id to track the status of this Workflow using the GET /workflows/{workflowId} endpoint. The first participant(s) will also receive their email notifications to begin their tasks.
➡️ Next: Guides: Build a Workflow from Scratch (Builder API)