Query Workflows
Workflow: Query Workflows
User Intent
"I want to list all my workflows or find a specific workflow by name"
Operation
SDK Method:
graphlit.queryWorkflows()orgraphlit.getWorkflow()GraphQL:
queryWorkflowsorgetWorkflowqueryEntity Type: Workflow
Common Use Cases: List workflows, find workflow by name, check workflow configuration
TypeScript (Canonical)
import { Graphlit } from 'graphlit-client';
import { EntityState } from 'graphlit-client/dist/generated/graphql-types';
const graphlit = new Graphlit();
// Query all workflows
const workflows = await graphlit.queryWorkflows();
console.log(`Total workflows: ${workflows.workflows.results.length}`);
workflows.workflows.results.forEach(workflow => {
console.log(`- ${workflow.name} (${workflow.state})`);
});
// Search by name
const searchResults = await graphlit.queryWorkflows({
search: 'Extraction'
});
console.log(`\nFound ${searchResults.workflows.results.length} extraction workflows`);
// Get specific workflow
// Replace with ID from creating a workflow or from queryWorkflows results above
const workflowId = 'workflow-id-here';
const workflow = await graphlit.getWorkflow(workflowId);
console.log(`\nWorkflow: ${workflow.workflow.name}`);
console.log(`Created: ${workflow.workflow.creationDate}`);
// Check workflow type
if (workflow.workflow.extraction) {
console.log('Type: Extraction workflow');
console.log(`Jobs: ${workflow.workflow.extraction.jobs?.length || 0}`);
} else if (workflow.workflow.preparation) {
console.log('Type: Preparation workflow');
console.log(`Jobs: ${workflow.workflow.preparation.jobs?.length || 0}`);
}Query all workflows (snake_case)
workflows = await graphlit.queryWorkflows()
print(f"Total workflows: {len(workflows.workflows.results)}")
for workflow in workflows.workflows.results: print(f"- {workflow.name} ({workflow.state})")
Search by name
search_results = await graphlit.queryWorkflows( filter=WorkflowFilterInput( search="Extraction" ) )
Get specific workflow
workflow = await graphlit.getWorkflow(workflow_id) print(f"Workflow: {workflow.workflow.name}")
**C#**:
```csharp
using Graphlit;
var client = new Graphlit();
// Query all workflows (PascalCase)
var workflows = await graphlit.QueryWorkflows();
Console.WriteLine($"Total workflows: {workflows.Workflows.Results.Count}");
foreach (var workflow in workflows.Workflows.Results)
{
Console.WriteLine($"- {workflow.Name} ({workflow.State})");
}
// Search by name
var searchResults = await graphlit.QueryWorkflows(new WorkflowFilter {
Search = "Extraction"
});
// Get specific workflow
var workflow = await graphlit.GetWorkflow(workflowId);
Console.WriteLine($"Workflow: {workflow.Workflow.Name}");Parameters
queryWorkflows (Optional Filter)
search(string): Search by workflow namestates(EntityState[]): Filter by stateENABLED,DISABLED
getWorkflow (Required)
id(string): Workflow ID
Response
{
workflows: {
results: Workflow[];
}
}
interface Workflow {
id: string;
name: string;
state: EntityState;
creationDate: Date;
preparation?: PreparationWorkflowStage;
extraction?: ExtractionWorkflowStage;
}Developer Hints
Workflow Types
Three main workflow types:
// Preparation workflow (PDF, audio, video)
if (workflow.workflow.preparation) {
console.log('Preparation workflow');
}
// Extraction workflow (entities, knowledge graph)
if (workflow.workflow.extraction) {
console.log('Extraction workflow');
}
// Combined workflow (both stages)
if (workflow.workflow.preparation && workflow.workflow.extraction) {
console.log('Combined workflow');
}Find Workflow by Name
const results = await graphlit.queryWorkflows({
search: 'PDF Preparation'
});
if (results.workflows.results.length > 0) {
const workflow = results.workflows.results[0];
console.log(`Found: ${workflow.name} (${workflow.id})`);
} else {
console.log('Workflow not found');
}Workflow Inventory
const workflows = await graphlit.queryWorkflows();
const byType = {
preparation: 0,
extraction: 0,
combined: 0
};
workflows.workflows.results.forEach(w => {
if (w.preparation && w.extraction) {
byType.combined++;
} else if (w.preparation) {
byType.preparation++;
} else if (w.extraction) {
byType.extraction++;
}
});
console.log('Workflow Inventory:');
console.log(` Preparation: ${byType.preparation}`);
console.log(` Extraction: ${byType.extraction}`);
console.log(` Combined: ${byType.combined}`);Variations
1. List All Workflows
Get all workflows:
const workflows = await graphlit.queryWorkflows();
console.log(`You have ${workflows.workflows.results.length} workflows`);2. Search by Name
Find specific workflows:
const results = await graphlit.queryWorkflows({
search: 'Entity Extraction'
});
console.log('Extraction workflows:');
results.workflows.results.forEach(w => {
console.log(`- ${w.name}`);
});3. Get Workflow Details
Retrieve full configuration:
const workflow = await graphlit.getWorkflow(workflowId);
console.log(`Workflow: ${workflow.workflow.name}`);
console.log(`State: ${workflow.workflow.state}`);
console.log(`Created: ${workflow.workflow.creationDate}`);
if (workflow.workflow.extraction) {
console.log(`\nExtraction Jobs: ${workflow.workflow.extraction.jobs?.length || 0}`);
}
if (workflow.workflow.preparation) {
console.log(`Preparation Jobs: ${workflow.workflow.preparation.jobs?.length || 0}`);
}4. Filter Active Workflows
Only enabled workflows:
const active = await graphlit.queryWorkflows({
states: [EntityState.Enabled]
});
console.log(`Active workflows: ${active.workflows.results.length}`);5. Workflow Summary Report
Generate workflow summary:
const workflows = await graphlit.queryWorkflows();
console.log('=== WORKFLOW SUMMARY ===\n');
for (const w of workflows.workflows.results) {
const fullWorkflow = await graphlit.getWorkflow(w.id);
console.log(`📋 ${fullWorkflow.workflow.name}`);
console.log(` ID: ${fullWorkflow.workflow.id}`);
console.log(` State: ${fullWorkflow.workflow.state}`);
if (fullWorkflow.workflow.preparation) {
console.log(` Type: Preparation`);
console.log(` Jobs: ${fullWorkflow.workflow.preparation.jobs?.length || 0}`);
}
if (fullWorkflow.workflow.extraction) {
console.log(` Type: Extraction`);
console.log(` Jobs: ${fullWorkflow.workflow.extraction.jobs?.length || 0}`);
}
console.log('');
}Common Issues
Issue: Workflow not found error
Solution: Verify workflow ID is correct. Workflow may have been deleted.
Issue: Search returns no results Solution: Search is case-sensitive. Try partial matches.
Issue: Can't determine workflow type
Solution: Check preparation and extraction properties. One or both will be present.
Production Example
Workflow management dashboard:
const workflows = await graphlit.queryWorkflows();
console.log('=== WORKFLOW DASHBOARD ===\n');
for (const w of workflows.workflows.results) {
const full = await graphlit.getWorkflow(w.id);
let type = 'Unknown';
if (full.workflow.preparation && full.workflow.extraction) {
type = 'Preparation + Extraction';
} else if (full.workflow.preparation) {
type = 'Preparation';
} else if (full.workflow.extraction) {
type = 'Extraction';
}
const status = full.workflow.state === EntityState.Enabled ? '' : '';
console.log(`${status} ${full.workflow.name}`);
console.log(` Type: ${type}`);
console.log(` Created: ${new Date(full.workflow.creationDate).toLocaleDateString()}\n`);
}Last updated
Was this helpful?