Get Execution by ID
Retrieve the result of a workflow execution using the run ID returned by executeIntegration.
Function Signature
client.workflow.getIntegrationExecuteById(executionId: string): Promise<BolticSuccessResponse<IntegrationExecutionData> | BolticErrorResponse>
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
executionId | string | ✅ | The execution run ID returned by executeIntegration |
Basic Usage
import { createClient } from "@boltic/sdk";
const client = createClient("your-api-key");
const result = await client.workflow.getIntegrationExecuteById("execution-run-id");
if (result.error) {
console.error("Failed:", result.error.message);
} else {
console.log("Execution data:", result.data);
}
With Fire-and-Forget Pattern
Use this in combination with executeOnly: true for manual polling or deferred result retrieval:
// Step 1: Fire the execution
const execResult = await client.workflow.executeIntegration({
data: {
type: "apiActivity",
name: "long-running-task",
properties: {
method: "post",
endpoint: "https://api.example.com/process",
body: { data: "large-payload" },
body_type: "json",
integration_slug: "blt-int.api",
},
},
executeOnly: true,
});
if (execResult.error) {
console.error("Failed to start:", execResult.error.message);
process.exit(1);
}
const executionId = execResult.data.execution_id;
console.log("Started execution:", executionId);
// Step 2: Wait and check later
await new Promise((r) => setTimeout(r, 5000)); // wait 5 seconds
const result = await client.workflow.getIntegrationExecuteById(executionId);
if (!result.error && result.data && Object.keys(result.data).length > 0) {
console.log("Completed:", result.data);
} else {
console.log("Still running or failed");
}
Return Value
Success Response
{
data: {
// Execution result data — shape varies by integration
[key: string]: unknown;
},
message?: string;
}
Error Response
{
error: {
code: string; // e.g., "WORKFLOW_ERROR"
message: string;
meta: string[];
}
}