--- name: unifai-workflow-execution version: 1.0.0 description: Execute a multi-agent workflow on the UnifAI platform using a specified blueprint and user prompt. inputs: - blueprint_id or blueprint_name - user_shortcut - user_question steps: - 'Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method)' - 'Step 2: Create a new session from the blueprint (create_session method)' - 'Step 3: Submit the session for background execution with the user prompt (submit_session method)' - 'Step 4: Poll session status until execution completes (poll_session_status method)' outputs: - session_id - workflow_id tags: [] metadata: source_repo: https://github.com/redhat-community-ai-tools/UnifAI.git extracted_at: '' confidence: 0.95 --- # unifai-workflow-execution Execute a multi-agent workflow on the UnifAI platform using a specified blueprint and user prompt. ## Setup **Dependencies:** ```text pip install requests urllib3 ``` **Setup steps:** 1. Install required dependencies using pip install requests urllib3 1. Ensure the environment variables are set correctly (BLUEPRINT_ID, BLUEPRINT_NAME, USER_SHORTCUT, POLLING_INTERVAL, UNIFAI_BASE_URL) ## Key Files - `scripts/execution_workflow.py - Main script for workflow execution` ## Steps 1. Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method) 2. Step 2: Create a new session from the blueprint (create_session method) 3. Step 3: Submit the session for background execution with the user prompt (submit_session method) 4. Step 4: Poll session status until execution completes (poll_session_status method) ## Implementation Details ```python resolve_blueprint_id(client: UnifAIClient) -> str {...} # Resolve the blueprint ID from either direct ID or name lookup. ``` ```python create_session(client: UnifAIClient, blueprint_id: str) -> str {...} # Create a new session from the blueprint. ``` ```python submit_session(client: UnifAIClient, session_id: str) -> dict {...} # Submit the session for background execution with the user prompt. ``` ## Inputs - blueprint_id or blueprint_name - user_shortcut - user_question ## Outputs - session_id - workflow_id ## Failure Modes - Blueprint name not found or not unique - error during blueprint resolution - Session creation fails - error from API response - Session submission fails - error from API response - Polling session status fails - error from API response ## Source Extracted from: [https://github.com/redhat-community-ai-tools/UnifAI.git](https://github.com/redhat-community-ai-tools/UnifAI.git) Confidence: 0.95