Below, you can find code snippets that show how to use PyGEAI’s The Lab module to create and list Agentic Processes and Tasks.
Initiate AILabManager interface to define and register a new Agentic Process. Set up AgenticProcess, agentic_activities, artifact_signals, user_signals, user_signals and SequenceFlow.
from pygeai.lab.managers import AILabManager
from pygeai.lab.models import AgenticProcess, KnowledgeBase, AgenticActivity, ArtifactSignal, UserSignal, Event, SequenceFlow
manager = AILabManager()
process = AgenticProcess(
key="product_def",
name="Basic Process V6",
description="This is a sample process",
kb=KnowledgeBase(name="basic-sample", artifact_type_name=["sample-artifact"]),
agentic_activities=[AgenticActivity(key="activityOne", name="First Step", task_name="basic-task", agent_name="sample-translator", agent_revision_id=0)],
artifact_signals=[ArtifactSignal(key="artifact.upload.1", name="artifact.upload", handling_type="C", artifact_type_name=["sample-artifact"])],
user_signals=[UserSignal(key="signal_done", name="process-completed")],
start_event=Event(key="artifact.upload.1", name="artifact.upload"),
end_event=Event(key="end", name="Done"),
sequence_flows=[
SequenceFlow(key="step1", source_key="artifact.upload.1", target_key="activityOne"),
SequenceFlow(key="step2", source_key="activityOne", target_key="signal_done"),
SequenceFlow(key="stepEnd", source_key="signal_done", target_key="end")
]
)
result = manager.create_process(process=process, automatic_publish=False)
print(f"Created process: {result.name}, ID: {result.id}")
Start AILabManager to List Agentic Processes from the system. Apply filter_settings (by id, start, count and allow_drafts) and retrieve up to 100 Agentic Processes.
from pygeai.lab.managers import AILabManager
from pygeai.lab.models import FilterSettings, AgenticProcessList
manager = AILabManager()
filter_settings = FilterSettings(id="30a2ab8c-7503-4220-b6a0-77f3ee40d365", start="0", count="100", allow_drafts=True)
result = manager.list_processes(filter_settings=filter_settings)
print(f"Found {len(result.processes)} processes:")
for proc in result.processes:
print(f"Name: {proc.name}, ID: {proc.id}")
Initiate AILabManager to create a new Task. Definite the Task with a name, description, and title_template.
from pygeai.lab.managers import AILabManager
from pygeai.lab.models import Task
manager = AILabManager()
task = Task(name="basic-task-4", description="Basic task for process", title_template="Basic Task")
result = manager.create_task(task=task, automatic_publish=True)
print(f"Created task: {result.name}, ID: {result.id}")
Since version 2025-09