Complete Execution Output (JSON):
{
"execution_summary": {
"completed_tasks": 3,
"dependencies_detected": false,
"end_time": "2025-08-01T09:55:28.713698",
"execution_mode": "distributed",
"start_time": "2025-08-01T09:53:49.472075",
"total_tasks": 3
},
"final_report": {
"execution_details": {
"actual_result": {
"output": "__OUTPUTS__ {\"workflow_execution\": {\"status\": \"failed\", \"error\": \"name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\", \"completed_at\": \"2025-08-01T09:55:28.629943\"}, \"processing_summary\": {\"companies_processed\": 0, \"successful_extractions\": 0, \"error_details\": \"name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\"}}\n",
"return_code": 0,
"status": "completed",
"stderr": "Error generating final report: name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\n"
},
"duration_seconds": 0.216604,
"end_time": "2025-08-01T09:55:28.692501",
"message_sent": true,
"start_time": "2025-08-01T09:55:28.475897",
"timestamp": "2025-08-01T09:55:28.692501",
"worker_executed": true,
"workers_notified": true
},
"output": "__OUTPUTS__ {\"workflow_execution\": {\"status\": \"failed\", \"error\": \"name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\", \"completed_at\": \"2025-08-01T09:55:28.629943\"}, \"processing_summary\": {\"companies_processed\": 0, \"successful_extractions\": 0, \"error_details\": \"name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\"}}\n",
"processing_summary": {
"companies_processed": 0,
"error_details": "name \u0027UNRESOLVED_list_company_folders\u0027 is not defined",
"successful_extractions": 0
},
"return_code": 0,
"status": "completed",
"stderr": "Error generating final report: name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\n",
"task_id": "final_report",
"workflow_execution": {
"completed_at": "2025-08-01T09:55:28.629943",
"error": "name \u0027UNRESOLVED_list_company_folders\u0027 is not defined",
"status": "failed"
}
},
"list_company_folders": {
"access_token": "ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207",
"execution_details": {
"actual_result": {
"output": "\ud83d\udcc1 LISTING COMPANY FOLDERS\n==================================================\n\n\ud83d\udccb Target Folder ID: 1W22-59ESyR-E_1PMVWevzL-WvlFALDl-\n\n\ud83d\udd10 Getting access token...\n\u2705 Access token obtained\n\ud83d\udcc2 Fetching company folders...\n\u2705 Found 3 total companies\n\ud83d\udcca Processing 3 companies (limited for demo)\n 1. LTTS (ID: 1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG)\n 2. AFFLE (ID: 1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp)\n 3. DALBHARAT (ID: 1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv)\n\n__OUTPUTS__ {\"folders\": [{\"id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"name\": \"LTTS\"}, {\"id\": \"1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp\", \"name\": \"AFFLE\"}, {\"id\": \"1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv\", \"name\": \"DALBHARAT\"}], \"total_companies\": 3, \"processing_companies\": 3, \"access_token\": \"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\", \"status\": \"success\"}\n",
"return_code": 0,
"status": "completed",
"stderr": ""
},
"duration_seconds": 0.702459,
"end_time": "2025-08-01T09:53:51.773481",
"message_sent": true,
"start_time": "2025-08-01T09:53:51.071022",
"timestamp": "2025-08-01T09:53:51.773481",
"worker_executed": true,
"workers_notified": true
},
"folders": [
{
"id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"name": "LTTS"
},
{
"id": "1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp",
"name": "AFFLE"
},
{
"id": "1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv",
"name": "DALBHARAT"
}
],
"output": "\ud83d\udcc1 LISTING COMPANY FOLDERS\n==================================================\n\n\ud83d\udccb Target Folder ID: 1W22-59ESyR-E_1PMVWevzL-WvlFALDl-\n\n\ud83d\udd10 Getting access token...\n\u2705 Access token obtained\n\ud83d\udcc2 Fetching company folders...\n\u2705 Found 3 total companies\n\ud83d\udcca Processing 3 companies (limited for demo)\n 1. LTTS (ID: 1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG)\n 2. AFFLE (ID: 1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp)\n 3. DALBHARAT (ID: 1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv)\n\n__OUTPUTS__ {\"folders\": [{\"id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"name\": \"LTTS\"}, {\"id\": \"1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp\", \"name\": \"AFFLE\"}, {\"id\": \"1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv\", \"name\": \"DALBHARAT\"}], \"total_companies\": 3, \"processing_companies\": 3, \"access_token\": \"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\", \"status\": \"success\"}\n",
"processing_companies": 3,
"return_code": 0,
"status": "completed",
"stderr": "",
"task_id": "list_company_folders",
"total_companies": 3
},
"process_companies_loop": {
"execution_details": {
"actual_result": {
"loop_result": {
"exit_reason": "max_iterations",
"final_state": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"iteration_results": [
{
"iteration": 0,
"tasks": {
"process_current_company": {
"output": "\ud83d\udd0d DEBUG: folder data {\u0027folders\u0027: [{\u0027id\u0027: \u00271UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\u0027, \u0027name\u0027: \u0027LTTS\u0027}, {\u0027id\u0027: \u00271I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp\u0027, \u0027name\u0027: \u0027AFFLE\u0027}, {\u0027id\u0027: \u00271BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv\u0027, \u0027name\u0027: \u0027DALBHARAT\u0027}], \u0027access_token\u0027: \u0027ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\u0027, \u0027total_companies\u0027: 3, \u0027processing_companies\u0027: 3}\n\ud83d\udd0d DEBUG: Loop iteration 0\n\ud83d\udcc1 Folder data status: unknown\n\ud83d\udcca Number of folders found: 3\n\ud83d\udccb Company index: 0\n\ud83d\udd10 DEBUG: Getting fresh access token for file processing...\n\u2705 DEBUG: Fresh access token obtained\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_folders\": [{\"id\": \"1hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl\", \"name\": \"FY24\"}, {\"id\": \"18zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR\", \"name\": \"FY25\"}], \"total_fy_folders\": 2, \"company_index\": 0, \"status\": \"success\"}\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_folders\": \"\u003clist\u003e (size: 122 chars)\", \"total_fy_folders\": 2, \"company_index\": 0, \"status\": \"success\"}\n__STATE_UPDATES__ {}\n__OUTPUTS_FILE__ /tmp/loop_context_process_current_company_iter_0_xifnh8ym/outputs.json\n__STATE_UPDATES_FILE__ /tmp/loop_context_process_current_company_iter_0_xifnh8ym/state_updates.json\n",
"outputs": {
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_index": 0,
"company_name": "LTTS",
"fy_folders": [
{
"id": "1hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl",
"name": "FY24"
},
{
"id": "18zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR",
"name": "FY25"
}
],
"status": "success",
"total_fy_folders": 2
},
"state_updates": {},
"status": "completed"
},
"process_fy_folders_current_company": {
"output": "\ud83d\udd0d DEBUG: All available inputs: [\u0027folder_id\u0027, \u0027nango_key\u0027, \u0027EXECUTION_ID\u0027, \u0027execution_id\u0027, \u0027gemini_api_key\u0027, \u0027nango_connection_id\u0027, \u0027list_company_folders\u0027, \u0027company_index\u0027, \u0027total_extractions\u0027, \u0027processed_companies\u0027, \u0027successful_extractions\u0027, \u0027company_name\u0027, \u0027company_id\u0027, \u0027fy_folders\u0027, \u0027total_fy_folders\u0027, \u0027status\u0027, \u0027Process Current Company\u0027]\n\ud83d\udd0d DEBUG: Loop state keys: [\u0027total_extractions\u0027, \u0027processed_companies\u0027, \u0027successful_extractions\u0027]\n\ud83d\udd0d DEBUG: Company name: LTTS\n\ud83d\udd0d DEBUG: Company ID: 1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\n\ud83d\udd0d DEBUG: FY folders: [{\u0027id\u0027: \u00271hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl\u0027, \u0027name\u0027: \u0027FY24\u0027}, {\u0027id\u0027: \u002718zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR\u0027, \u0027name\u0027: \u0027FY25\u0027}]\n\ud83d\udd0d DEBUG: Task status: success\n\ud83d\udd10 DEBUG: Getting fresh access token for file downloads...\n\u2705 DEBUG: Fresh access token obtained for downloads\n\ud83d\udd0d DEBUG: Starting FY processing for LTTS\n\ud83d\udd0d DEBUG: FY folders to process: 2\n\ud83d\udd0d DEBUG: Processing FY folder 1/2: FY24\n\ud83d\udd0d DEBUG: Found item: Yearly report (MIME: application/vnd.google-apps.folder)\n\ud83d\udcc1 DEBUG: Searching inside folder: Yearly report\n\ud83d\udcc4 DEBUG: Found 0 items inside Yearly report\n\ud83d\udcca DEBUG: Total files found after folder exploration: 0\n\ud83d\udd0d DEBUG: Found 0 total files, 0 PDF files in FY24\n\u26a0\ufe0f DEBUG: No PDF files found in LTTS - FY24\n\ud83d\udd0d DEBUG: Processing FY folder 2/2: FY25\n\ud83d\udd0d DEBUG: Found item: Yearly report (MIME: application/vnd.google-apps.folder)\n\ud83d\udcc1 DEBUG: Searching inside folder: Yearly report\n\ud83d\udcc4 DEBUG: Found 1 items inside Yearly report\n\ud83d\udcca DEBUG: Total files found after folder exploration: 1\n\ud83d\udd0d DEBUG: Checking file: LTTS_FY25_Annual_Report.pdf (MIME: application/pdf)\n\u2705 DEBUG: Added PDF file: LTTS_FY25_Annual_Report.pdf\n\ud83d\udd0d DEBUG: Found 1 total files, 1 PDF files in FY25\n\ud83d\udd0d DEBUG: Starting file upload for 1 files\n\ud83d\udd0d DEBUG: Processing file: LTTS_FY25_Annual_Report.pdf (ID: 1U761OEJr6tUtIX9wEN0Smc48omYJznPC)\n\ud83d\udd0d DEBUG: File MIME type: application/pdf\n\ud83d\udd0d DEBUG: Using direct download endpoint\n\ud83d\udd0d DEBUG: Downloading file from: https://www.googleapis.com/drive/v3/files/1U761OEJr6tUtIX9wEN0Smc48omYJznPC\n\ud83d\udd0d DEBUG: Download successful, status: 200\n\ud83d\udd0d DEBUG: Downloaded complete file: 20972462 bytes\n\u2705 DEBUG: PDF validation passed for LTTS_FY25_Annual_Report.pdf\n\ud83d\udd0d DEBUG: Content size: 20972462 bytes, uploading to Gemini...\n\u2705 DEBUG: File uploaded to Gemini: files/xuqvjcf0m893\n\ud83d\udd0d DEBUG: Gemini file state: FileState.ACTIVE\n\ud83d\udd0d DEBUG: Gemini detected MIME: application/pdf\n\u2705 DEBUG: Successfully uploaded 1 files for LTTS - FY25\n\ud83d\udd17 DEBUG: Getting Gemini file references...\n\ud83d\udd17 DEBUG: Got reference for: LTTS_FY25_Annual_Report.pdf -\u003e files/xuqvjcf0m893\n\ud83d\ude80 DEBUG: Ready to process 1 files with Gemini AI\n\u23f3 DEBUG: Waiting for all files to be fully processed by Gemini...\n\ud83d\udd0d DEBUG: Verifying file readiness...\n\ud83d\udcc4 DEBUG: File files/xuqvjcf0m893 state: ACTIVE\n\ud83e\udd16 DEBUG: Starting Gemini extraction for Balance Sheet data...\n\ud83e\udd16 DEBUG: Sending Balance Sheet prompt to Gemini...\n\ud83e\udd16 DEBUG: Gemini Balance Sheet response: {\n \"assets\": {\n \"total_assets\": 96435,\n \"current_assets\": 64641,\n \"fixed_assets\": 31794\n },\n \"liabilities\": {\n \"total_liabilities\": 35460,\n \"current_liabilities\": 29900\n },\n \"equit...\n\u2705 DEBUG: Balance Sheet data extracted successfully\n\ud83e\udd16 DEBUG: Starting Gemini extraction for P\u0026L data...\n\ud83e\udd16 DEBUG: Sending P\u0026L prompt to Gemini...\n\ud83e\udd16 DEBUG: Gemini P\u0026L response: {\n \"revenue\": {\n \"net_revenue\": 106701,\n \"revenue_growth\": 10.6\n },\n \"profitability\": {\n \"ebitda\": 18925,\n \"net_profit\": 12667,\n \"ebitda_margin\": 17.7\n },\n \"financial_year\": \"FY25\"...\n\u2705 DEBUG: P\u0026L data extracted successfully\n\ud83d\udcca DEBUG: Extraction result compiled:\n - Company: LTTS\n - FY: FY25\n - Files processed: 1\n - Balance Sheet extracted: True\n - P\u0026L extracted: True\n\u2705 DEBUG: Added extraction result to company_extractions (1 total)\n\ud83d\udd0d DEBUG: Final results for LTTS: 1 extractions completed\n\ud83d\udcca DEBUG: Creating Excel workbook for LTTS\n\ud83d\udd0d DEBUG: Found sections to export: [\u0027profit_loss\u0027, \u0027balance_sheet\u0027]\n\u2705 DEBUG: Created sheet: balance_sheet with 8 metrics\n\u2705 DEBUG: Created sheet: profit_loss with 7 metrics\n\ud83d\udce4 DEBUG: Uploading LTTS_Financial_Analysis.xlsx to Google Drive...\n\ud83d\udd0d DEBUG: nango_key = 8df3e2de-2307-48d3-94bd-ddd3fd6a62ec\n\ud83d\udd0d DEBUG: nango_connection_id = 4274993f-c614-4efa-a01e-8d07422f4b09\n\ud83d\udd0d DEBUG: Request URL = https://auth-dev.assistents.ai/connection/4274993f-c614-4efa-a01e-8d07422f4b09?provider_config_key=google-drive-hq3h\n\ud83d\udd0d DEBUG: Response status code = 200\n\ud83d\udd0d DEBUG: Response text = {\"id\":136,\"connection_id\":\"4274993f-c614-4efa-a01e-8d07422f4b09\",\"provider_config_key\":\"google-drive-hq3h\",\"provider\":\"google-drive\",\"errors\":[],\"end_user\":{\"id\":\"test_unknown\",\"display_name\":\"unknown\",\"email\":\"unknown@example.com\",\"organization\":null},\"metadata\":null,\"connection_config\":{},\"created_at\":\"2025-07-31T12:47:36.613+00:00\",\"updated_at\":\"2025-08-01T09:37:13.97+00:00\",\"last_fetched_at\":\"2025-08-01T09:55:27.344+00:00\",\"credentials\":{\"type\":\"OAUTH2\",\"access_token\":\"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\",\"expires_at\":\"2025-08-01T10:37:12.970Z\",\"raw\":{\"access_token\":\"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\",\"expires_in\":3599,\"scope\":\"https://www.googleapis.com/auth/drive.appdata https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.scripts https://www.googleapis.com/auth/drive.metadata https://www.googleapis.com/auth/drive.readonly\",\"token_type\":\"Bearer\",\"refresh_token_expires_in\":529822,\"expires_at\":\"2025-08-01T10:37:12.970Z\"}}}\n\u2705 DEBUG: Successfully uploaded LTTS_Financial_Analysis.xlsx\n\ud83d\udccb DEBUG: File ID: 17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"extractions_completed\": 1, \"excel_upload\": {\"filename\": \"LTTS_Financial_Analysis.xlsx\", \"file_id\": \"17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15\", \"status\": \"success\"}, \"status\": \"success\"}\n__STATE_UPDATES__ {\"processed_companies\": [{\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_extractions\": [{\"company_name\": \"LTTS\", \"fy_name\": \"FY25\", \"files_processed\": 1, \"balance_sheet\": {\"assets\": {\"total_assets\": 96435, \"current_assets\": 64641, \"fixed_assets\": 31794}, \"liabilities\": {\"total_liabilities\": 35460, \"current_liabilities\": 29900}, \"equity\": {\"shareholders_funds\": 60800}, \"financial_year\": \"FY25\"}, \"profit_loss\": {\"revenue\": {\"net_revenue\": 106701, \"revenue_growth\": 10.6}, \"profitability\": {\"ebitda\": 18925, \"net_profit\": 12667, \"ebitda_margin\": 17.7}, \"financial_year\": \"FY25\"}, \"extraction_timestamp\": \"2025-08-01T09:55:26.541299\", \"status\": \"success\"}], \"total_fy_processed\": 1}], \"total_extractions\": 1, \"successful_extractions\": 1}\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"extractions_completed\": 1, \"excel_upload\": \"\u003cdict\u003e (size: 113 chars)\", \"status\": \"success\"}\n__STATE_UPDATES__ {\"processed_companies\": \"\u003clist\u003e (size: 691 chars)\", \"total_extractions\": 1, \"successful_extractions\": 1}\n__OUTPUTS_FILE__ /tmp/loop_context_process_fy_folders_current_company_iter_0_ym52cjin/outputs.json\n__STATE_UPDATES_FILE__ /tmp/loop_context_process_fy_folders_current_company_iter_0_ym52cjin/state_updates.json\n",
"outputs": {
"company_name": "LTTS",
"excel_upload": {
"file_id": "17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15",
"filename": "LTTS_Financial_Analysis.xlsx",
"status": "success"
},
"extractions_completed": 1,
"status": "success"
},
"state_updates": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"status": "completed"
}
}
}
],
"iterations_completed": 1
},
"output": "Loop completed after 1 iterations",
"status": "completed"
},
"duration_seconds": 96.647876,
"end_time": "2025-08-01T09:55:28.445546",
"message_sent": true,
"start_time": "2025-08-01T09:53:51.797670",
"timestamp": "2025-08-01T09:55:28.445546",
"worker_executed": true,
"workers_notified": true
},
"exit_reason": "max_iterations",
"final_state": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"iterations_completed": 1,
"loop_result": {
"exit_reason": "max_iterations",
"final_state": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"iteration_results": [
{
"iteration": 0,
"tasks": {
"process_current_company": {
"output": "\ud83d\udd0d DEBUG: folder data {\u0027folders\u0027: [{\u0027id\u0027: \u00271UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\u0027, \u0027name\u0027: \u0027LTTS\u0027}, {\u0027id\u0027: \u00271I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp\u0027, \u0027name\u0027: \u0027AFFLE\u0027}, {\u0027id\u0027: \u00271BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv\u0027, \u0027name\u0027: \u0027DALBHARAT\u0027}], \u0027access_token\u0027: \u0027ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\u0027, \u0027total_companies\u0027: 3, \u0027processing_companies\u0027: 3}\n\ud83d\udd0d DEBUG: Loop iteration 0\n\ud83d\udcc1 Folder data status: unknown\n\ud83d\udcca Number of folders found: 3\n\ud83d\udccb Company index: 0\n\ud83d\udd10 DEBUG: Getting fresh access token for file processing...\n\u2705 DEBUG: Fresh access token obtained\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_folders\": [{\"id\": \"1hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl\", \"name\": \"FY24\"}, {\"id\": \"18zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR\", \"name\": \"FY25\"}], \"total_fy_folders\": 2, \"company_index\": 0, \"status\": \"success\"}\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_folders\": \"\u003clist\u003e (size: 122 chars)\", \"total_fy_folders\": 2, \"company_index\": 0, \"status\": \"success\"}\n__STATE_UPDATES__ {}\n__OUTPUTS_FILE__ /tmp/loop_context_process_current_company_iter_0_xifnh8ym/outputs.json\n__STATE_UPDATES_FILE__ /tmp/loop_context_process_current_company_iter_0_xifnh8ym/state_updates.json\n",
"outputs": {
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_index": 0,
"company_name": "LTTS",
"fy_folders": [
{
"id": "1hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl",
"name": "FY24"
},
{
"id": "18zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR",
"name": "FY25"
}
],
"status": "success",
"total_fy_folders": 2
},
"state_updates": {},
"status": "completed"
},
"process_fy_folders_current_company": {
"output": "\ud83d\udd0d DEBUG: All available inputs: [\u0027folder_id\u0027, \u0027nango_key\u0027, \u0027EXECUTION_ID\u0027, \u0027execution_id\u0027, \u0027gemini_api_key\u0027, \u0027nango_connection_id\u0027, \u0027list_company_folders\u0027, \u0027company_index\u0027, \u0027total_extractions\u0027, \u0027processed_companies\u0027, \u0027successful_extractions\u0027, \u0027company_name\u0027, \u0027company_id\u0027, \u0027fy_folders\u0027, \u0027total_fy_folders\u0027, \u0027status\u0027, \u0027Process Current Company\u0027]\n\ud83d\udd0d DEBUG: Loop state keys: [\u0027total_extractions\u0027, \u0027processed_companies\u0027, \u0027successful_extractions\u0027]\n\ud83d\udd0d DEBUG: Company name: LTTS\n\ud83d\udd0d DEBUG: Company ID: 1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\n\ud83d\udd0d DEBUG: FY folders: [{\u0027id\u0027: \u00271hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl\u0027, \u0027name\u0027: \u0027FY24\u0027}, {\u0027id\u0027: \u002718zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR\u0027, \u0027name\u0027: \u0027FY25\u0027}]\n\ud83d\udd0d DEBUG: Task status: success\n\ud83d\udd10 DEBUG: Getting fresh access token for file downloads...\n\u2705 DEBUG: Fresh access token obtained for downloads\n\ud83d\udd0d DEBUG: Starting FY processing for LTTS\n\ud83d\udd0d DEBUG: FY folders to process: 2\n\ud83d\udd0d DEBUG: Processing FY folder 1/2: FY24\n\ud83d\udd0d DEBUG: Found item: Yearly report (MIME: application/vnd.google-apps.folder)\n\ud83d\udcc1 DEBUG: Searching inside folder: Yearly report\n\ud83d\udcc4 DEBUG: Found 0 items inside Yearly report\n\ud83d\udcca DEBUG: Total files found after folder exploration: 0\n\ud83d\udd0d DEBUG: Found 0 total files, 0 PDF files in FY24\n\u26a0\ufe0f DEBUG: No PDF files found in LTTS - FY24\n\ud83d\udd0d DEBUG: Processing FY folder 2/2: FY25\n\ud83d\udd0d DEBUG: Found item: Yearly report (MIME: application/vnd.google-apps.folder)\n\ud83d\udcc1 DEBUG: Searching inside folder: Yearly report\n\ud83d\udcc4 DEBUG: Found 1 items inside Yearly report\n\ud83d\udcca DEBUG: Total files found after folder exploration: 1\n\ud83d\udd0d DEBUG: Checking file: LTTS_FY25_Annual_Report.pdf (MIME: application/pdf)\n\u2705 DEBUG: Added PDF file: LTTS_FY25_Annual_Report.pdf\n\ud83d\udd0d DEBUG: Found 1 total files, 1 PDF files in FY25\n\ud83d\udd0d DEBUG: Starting file upload for 1 files\n\ud83d\udd0d DEBUG: Processing file: LTTS_FY25_Annual_Report.pdf (ID: 1U761OEJr6tUtIX9wEN0Smc48omYJznPC)\n\ud83d\udd0d DEBUG: File MIME type: application/pdf\n\ud83d\udd0d DEBUG: Using direct download endpoint\n\ud83d\udd0d DEBUG: Downloading file from: https://www.googleapis.com/drive/v3/files/1U761OEJr6tUtIX9wEN0Smc48omYJznPC\n\ud83d\udd0d DEBUG: Download successful, status: 200\n\ud83d\udd0d DEBUG: Downloaded complete file: 20972462 bytes\n\u2705 DEBUG: PDF validation passed for LTTS_FY25_Annual_Report.pdf\n\ud83d\udd0d DEBUG: Content size: 20972462 bytes, uploading to Gemini...\n\u2705 DEBUG: File uploaded to Gemini: files/xuqvjcf0m893\n\ud83d\udd0d DEBUG: Gemini file state: FileState.ACTIVE\n\ud83d\udd0d DEBUG: Gemini detected MIME: application/pdf\n\u2705 DEBUG: Successfully uploaded 1 files for LTTS - FY25\n\ud83d\udd17 DEBUG: Getting Gemini file references...\n\ud83d\udd17 DEBUG: Got reference for: LTTS_FY25_Annual_Report.pdf -\u003e files/xuqvjcf0m893\n\ud83d\ude80 DEBUG: Ready to process 1 files with Gemini AI\n\u23f3 DEBUG: Waiting for all files to be fully processed by Gemini...\n\ud83d\udd0d DEBUG: Verifying file readiness...\n\ud83d\udcc4 DEBUG: File files/xuqvjcf0m893 state: ACTIVE\n\ud83e\udd16 DEBUG: Starting Gemini extraction for Balance Sheet data...\n\ud83e\udd16 DEBUG: Sending Balance Sheet prompt to Gemini...\n\ud83e\udd16 DEBUG: Gemini Balance Sheet response: {\n \"assets\": {\n \"total_assets\": 96435,\n \"current_assets\": 64641,\n \"fixed_assets\": 31794\n },\n \"liabilities\": {\n \"total_liabilities\": 35460,\n \"current_liabilities\": 29900\n },\n \"equit...\n\u2705 DEBUG: Balance Sheet data extracted successfully\n\ud83e\udd16 DEBUG: Starting Gemini extraction for P\u0026L data...\n\ud83e\udd16 DEBUG: Sending P\u0026L prompt to Gemini...\n\ud83e\udd16 DEBUG: Gemini P\u0026L response: {\n \"revenue\": {\n \"net_revenue\": 106701,\n \"revenue_growth\": 10.6\n },\n \"profitability\": {\n \"ebitda\": 18925,\n \"net_profit\": 12667,\n \"ebitda_margin\": 17.7\n },\n \"financial_year\": \"FY25\"...\n\u2705 DEBUG: P\u0026L data extracted successfully\n\ud83d\udcca DEBUG: Extraction result compiled:\n - Company: LTTS\n - FY: FY25\n - Files processed: 1\n - Balance Sheet extracted: True\n - P\u0026L extracted: True\n\u2705 DEBUG: Added extraction result to company_extractions (1 total)\n\ud83d\udd0d DEBUG: Final results for LTTS: 1 extractions completed\n\ud83d\udcca DEBUG: Creating Excel workbook for LTTS\n\ud83d\udd0d DEBUG: Found sections to export: [\u0027profit_loss\u0027, \u0027balance_sheet\u0027]\n\u2705 DEBUG: Created sheet: balance_sheet with 8 metrics\n\u2705 DEBUG: Created sheet: profit_loss with 7 metrics\n\ud83d\udce4 DEBUG: Uploading LTTS_Financial_Analysis.xlsx to Google Drive...\n\ud83d\udd0d DEBUG: nango_key = 8df3e2de-2307-48d3-94bd-ddd3fd6a62ec\n\ud83d\udd0d DEBUG: nango_connection_id = 4274993f-c614-4efa-a01e-8d07422f4b09\n\ud83d\udd0d DEBUG: Request URL = https://auth-dev.assistents.ai/connection/4274993f-c614-4efa-a01e-8d07422f4b09?provider_config_key=google-drive-hq3h\n\ud83d\udd0d DEBUG: Response status code = 200\n\ud83d\udd0d DEBUG: Response text = {\"id\":136,\"connection_id\":\"4274993f-c614-4efa-a01e-8d07422f4b09\",\"provider_config_key\":\"google-drive-hq3h\",\"provider\":\"google-drive\",\"errors\":[],\"end_user\":{\"id\":\"test_unknown\",\"display_name\":\"unknown\",\"email\":\"unknown@example.com\",\"organization\":null},\"metadata\":null,\"connection_config\":{},\"created_at\":\"2025-07-31T12:47:36.613+00:00\",\"updated_at\":\"2025-08-01T09:37:13.97+00:00\",\"last_fetched_at\":\"2025-08-01T09:55:27.344+00:00\",\"credentials\":{\"type\":\"OAUTH2\",\"access_token\":\"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\",\"expires_at\":\"2025-08-01T10:37:12.970Z\",\"raw\":{\"access_token\":\"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\",\"expires_in\":3599,\"scope\":\"https://www.googleapis.com/auth/drive.appdata https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.scripts https://www.googleapis.com/auth/drive.metadata https://www.googleapis.com/auth/drive.readonly\",\"token_type\":\"Bearer\",\"refresh_token_expires_in\":529822,\"expires_at\":\"2025-08-01T10:37:12.970Z\"}}}\n\u2705 DEBUG: Successfully uploaded LTTS_Financial_Analysis.xlsx\n\ud83d\udccb DEBUG: File ID: 17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"extractions_completed\": 1, \"excel_upload\": {\"filename\": \"LTTS_Financial_Analysis.xlsx\", \"file_id\": \"17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15\", \"status\": \"success\"}, \"status\": \"success\"}\n__STATE_UPDATES__ {\"processed_companies\": [{\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_extractions\": [{\"company_name\": \"LTTS\", \"fy_name\": \"FY25\", \"files_processed\": 1, \"balance_sheet\": {\"assets\": {\"total_assets\": 96435, \"current_assets\": 64641, \"fixed_assets\": 31794}, \"liabilities\": {\"total_liabilities\": 35460, \"current_liabilities\": 29900}, \"equity\": {\"shareholders_funds\": 60800}, \"financial_year\": \"FY25\"}, \"profit_loss\": {\"revenue\": {\"net_revenue\": 106701, \"revenue_growth\": 10.6}, \"profitability\": {\"ebitda\": 18925, \"net_profit\": 12667, \"ebitda_margin\": 17.7}, \"financial_year\": \"FY25\"}, \"extraction_timestamp\": \"2025-08-01T09:55:26.541299\", \"status\": \"success\"}], \"total_fy_processed\": 1}], \"total_extractions\": 1, \"successful_extractions\": 1}\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"extractions_completed\": 1, \"excel_upload\": \"\u003cdict\u003e (size: 113 chars)\", \"status\": \"success\"}\n__STATE_UPDATES__ {\"processed_companies\": \"\u003clist\u003e (size: 691 chars)\", \"total_extractions\": 1, \"successful_extractions\": 1}\n__OUTPUTS_FILE__ /tmp/loop_context_process_fy_folders_current_company_iter_0_ym52cjin/outputs.json\n__STATE_UPDATES_FILE__ /tmp/loop_context_process_fy_folders_current_company_iter_0_ym52cjin/state_updates.json\n",
"outputs": {
"company_name": "LTTS",
"excel_upload": {
"file_id": "17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15",
"filename": "LTTS_Financial_Analysis.xlsx",
"status": "success"
},
"extractions_completed": 1,
"status": "success"
},
"state_updates": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"status": "completed"
}
}
}
],
"iterations_completed": 1
},
"output": "Loop completed after 1 iterations",
"return_code": 0,
"status": "completed",
"stderr": "",
"task_id": "process_companies_loop"
},
"status": "SUCCESS",
"task_outputs": {
"final_report": {
"execution_details": {
"actual_result": {
"output": "__OUTPUTS__ {\"workflow_execution\": {\"status\": \"failed\", \"error\": \"name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\", \"completed_at\": \"2025-08-01T09:55:28.629943\"}, \"processing_summary\": {\"companies_processed\": 0, \"successful_extractions\": 0, \"error_details\": \"name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\"}}\n",
"return_code": 0,
"status": "completed",
"stderr": "Error generating final report: name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\n"
},
"duration_seconds": 0.216604,
"end_time": "2025-08-01T09:55:28.692501",
"message_sent": true,
"start_time": "2025-08-01T09:55:28.475897",
"timestamp": "2025-08-01T09:55:28.692501",
"worker_executed": true,
"workers_notified": true
},
"output": "__OUTPUTS__ {\"workflow_execution\": {\"status\": \"failed\", \"error\": \"name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\", \"completed_at\": \"2025-08-01T09:55:28.629943\"}, \"processing_summary\": {\"companies_processed\": 0, \"successful_extractions\": 0, \"error_details\": \"name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\"}}\n",
"processing_summary": {
"companies_processed": 0,
"error_details": "name \u0027UNRESOLVED_list_company_folders\u0027 is not defined",
"successful_extractions": 0
},
"return_code": 0,
"status": "completed",
"stderr": "Error generating final report: name \u0027UNRESOLVED_list_company_folders\u0027 is not defined\n",
"task_id": "final_report",
"workflow_execution": {
"completed_at": "2025-08-01T09:55:28.629943",
"error": "name \u0027UNRESOLVED_list_company_folders\u0027 is not defined",
"status": "failed"
}
},
"list_company_folders": {
"access_token": "ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207",
"execution_details": {
"actual_result": {
"output": "\ud83d\udcc1 LISTING COMPANY FOLDERS\n==================================================\n\n\ud83d\udccb Target Folder ID: 1W22-59ESyR-E_1PMVWevzL-WvlFALDl-\n\n\ud83d\udd10 Getting access token...\n\u2705 Access token obtained\n\ud83d\udcc2 Fetching company folders...\n\u2705 Found 3 total companies\n\ud83d\udcca Processing 3 companies (limited for demo)\n 1. LTTS (ID: 1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG)\n 2. AFFLE (ID: 1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp)\n 3. DALBHARAT (ID: 1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv)\n\n__OUTPUTS__ {\"folders\": [{\"id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"name\": \"LTTS\"}, {\"id\": \"1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp\", \"name\": \"AFFLE\"}, {\"id\": \"1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv\", \"name\": \"DALBHARAT\"}], \"total_companies\": 3, \"processing_companies\": 3, \"access_token\": \"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\", \"status\": \"success\"}\n",
"return_code": 0,
"status": "completed",
"stderr": ""
},
"duration_seconds": 0.702459,
"end_time": "2025-08-01T09:53:51.773481",
"message_sent": true,
"start_time": "2025-08-01T09:53:51.071022",
"timestamp": "2025-08-01T09:53:51.773481",
"worker_executed": true,
"workers_notified": true
},
"folders": [
{
"id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"name": "LTTS"
},
{
"id": "1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp",
"name": "AFFLE"
},
{
"id": "1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv",
"name": "DALBHARAT"
}
],
"output": "\ud83d\udcc1 LISTING COMPANY FOLDERS\n==================================================\n\n\ud83d\udccb Target Folder ID: 1W22-59ESyR-E_1PMVWevzL-WvlFALDl-\n\n\ud83d\udd10 Getting access token...\n\u2705 Access token obtained\n\ud83d\udcc2 Fetching company folders...\n\u2705 Found 3 total companies\n\ud83d\udcca Processing 3 companies (limited for demo)\n 1. LTTS (ID: 1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG)\n 2. AFFLE (ID: 1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp)\n 3. DALBHARAT (ID: 1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv)\n\n__OUTPUTS__ {\"folders\": [{\"id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"name\": \"LTTS\"}, {\"id\": \"1I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp\", \"name\": \"AFFLE\"}, {\"id\": \"1BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv\", \"name\": \"DALBHARAT\"}], \"total_companies\": 3, \"processing_companies\": 3, \"access_token\": \"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\", \"status\": \"success\"}\n",
"processing_companies": 3,
"return_code": 0,
"status": "completed",
"stderr": "",
"task_id": "list_company_folders",
"total_companies": 3
},
"process_companies_loop": {
"execution_details": {
"actual_result": {
"loop_result": {
"exit_reason": "max_iterations",
"final_state": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"iteration_results": [
{
"iteration": 0,
"tasks": {
"process_current_company": {
"output": "\ud83d\udd0d DEBUG: folder data {\u0027folders\u0027: [{\u0027id\u0027: \u00271UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\u0027, \u0027name\u0027: \u0027LTTS\u0027}, {\u0027id\u0027: \u00271I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp\u0027, \u0027name\u0027: \u0027AFFLE\u0027}, {\u0027id\u0027: \u00271BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv\u0027, \u0027name\u0027: \u0027DALBHARAT\u0027}], \u0027access_token\u0027: \u0027ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\u0027, \u0027total_companies\u0027: 3, \u0027processing_companies\u0027: 3}\n\ud83d\udd0d DEBUG: Loop iteration 0\n\ud83d\udcc1 Folder data status: unknown\n\ud83d\udcca Number of folders found: 3\n\ud83d\udccb Company index: 0\n\ud83d\udd10 DEBUG: Getting fresh access token for file processing...\n\u2705 DEBUG: Fresh access token obtained\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_folders\": [{\"id\": \"1hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl\", \"name\": \"FY24\"}, {\"id\": \"18zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR\", \"name\": \"FY25\"}], \"total_fy_folders\": 2, \"company_index\": 0, \"status\": \"success\"}\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_folders\": \"\u003clist\u003e (size: 122 chars)\", \"total_fy_folders\": 2, \"company_index\": 0, \"status\": \"success\"}\n__STATE_UPDATES__ {}\n__OUTPUTS_FILE__ /tmp/loop_context_process_current_company_iter_0_xifnh8ym/outputs.json\n__STATE_UPDATES_FILE__ /tmp/loop_context_process_current_company_iter_0_xifnh8ym/state_updates.json\n",
"outputs": {
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_index": 0,
"company_name": "LTTS",
"fy_folders": [
{
"id": "1hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl",
"name": "FY24"
},
{
"id": "18zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR",
"name": "FY25"
}
],
"status": "success",
"total_fy_folders": 2
},
"state_updates": {},
"status": "completed"
},
"process_fy_folders_current_company": {
"output": "\ud83d\udd0d DEBUG: All available inputs: [\u0027folder_id\u0027, \u0027nango_key\u0027, \u0027EXECUTION_ID\u0027, \u0027execution_id\u0027, \u0027gemini_api_key\u0027, \u0027nango_connection_id\u0027, \u0027list_company_folders\u0027, \u0027company_index\u0027, \u0027total_extractions\u0027, \u0027processed_companies\u0027, \u0027successful_extractions\u0027, \u0027company_name\u0027, \u0027company_id\u0027, \u0027fy_folders\u0027, \u0027total_fy_folders\u0027, \u0027status\u0027, \u0027Process Current Company\u0027]\n\ud83d\udd0d DEBUG: Loop state keys: [\u0027total_extractions\u0027, \u0027processed_companies\u0027, \u0027successful_extractions\u0027]\n\ud83d\udd0d DEBUG: Company name: LTTS\n\ud83d\udd0d DEBUG: Company ID: 1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\n\ud83d\udd0d DEBUG: FY folders: [{\u0027id\u0027: \u00271hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl\u0027, \u0027name\u0027: \u0027FY24\u0027}, {\u0027id\u0027: \u002718zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR\u0027, \u0027name\u0027: \u0027FY25\u0027}]\n\ud83d\udd0d DEBUG: Task status: success\n\ud83d\udd10 DEBUG: Getting fresh access token for file downloads...\n\u2705 DEBUG: Fresh access token obtained for downloads\n\ud83d\udd0d DEBUG: Starting FY processing for LTTS\n\ud83d\udd0d DEBUG: FY folders to process: 2\n\ud83d\udd0d DEBUG: Processing FY folder 1/2: FY24\n\ud83d\udd0d DEBUG: Found item: Yearly report (MIME: application/vnd.google-apps.folder)\n\ud83d\udcc1 DEBUG: Searching inside folder: Yearly report\n\ud83d\udcc4 DEBUG: Found 0 items inside Yearly report\n\ud83d\udcca DEBUG: Total files found after folder exploration: 0\n\ud83d\udd0d DEBUG: Found 0 total files, 0 PDF files in FY24\n\u26a0\ufe0f DEBUG: No PDF files found in LTTS - FY24\n\ud83d\udd0d DEBUG: Processing FY folder 2/2: FY25\n\ud83d\udd0d DEBUG: Found item: Yearly report (MIME: application/vnd.google-apps.folder)\n\ud83d\udcc1 DEBUG: Searching inside folder: Yearly report\n\ud83d\udcc4 DEBUG: Found 1 items inside Yearly report\n\ud83d\udcca DEBUG: Total files found after folder exploration: 1\n\ud83d\udd0d DEBUG: Checking file: LTTS_FY25_Annual_Report.pdf (MIME: application/pdf)\n\u2705 DEBUG: Added PDF file: LTTS_FY25_Annual_Report.pdf\n\ud83d\udd0d DEBUG: Found 1 total files, 1 PDF files in FY25\n\ud83d\udd0d DEBUG: Starting file upload for 1 files\n\ud83d\udd0d DEBUG: Processing file: LTTS_FY25_Annual_Report.pdf (ID: 1U761OEJr6tUtIX9wEN0Smc48omYJznPC)\n\ud83d\udd0d DEBUG: File MIME type: application/pdf\n\ud83d\udd0d DEBUG: Using direct download endpoint\n\ud83d\udd0d DEBUG: Downloading file from: https://www.googleapis.com/drive/v3/files/1U761OEJr6tUtIX9wEN0Smc48omYJznPC\n\ud83d\udd0d DEBUG: Download successful, status: 200\n\ud83d\udd0d DEBUG: Downloaded complete file: 20972462 bytes\n\u2705 DEBUG: PDF validation passed for LTTS_FY25_Annual_Report.pdf\n\ud83d\udd0d DEBUG: Content size: 20972462 bytes, uploading to Gemini...\n\u2705 DEBUG: File uploaded to Gemini: files/xuqvjcf0m893\n\ud83d\udd0d DEBUG: Gemini file state: FileState.ACTIVE\n\ud83d\udd0d DEBUG: Gemini detected MIME: application/pdf\n\u2705 DEBUG: Successfully uploaded 1 files for LTTS - FY25\n\ud83d\udd17 DEBUG: Getting Gemini file references...\n\ud83d\udd17 DEBUG: Got reference for: LTTS_FY25_Annual_Report.pdf -\u003e files/xuqvjcf0m893\n\ud83d\ude80 DEBUG: Ready to process 1 files with Gemini AI\n\u23f3 DEBUG: Waiting for all files to be fully processed by Gemini...\n\ud83d\udd0d DEBUG: Verifying file readiness...\n\ud83d\udcc4 DEBUG: File files/xuqvjcf0m893 state: ACTIVE\n\ud83e\udd16 DEBUG: Starting Gemini extraction for Balance Sheet data...\n\ud83e\udd16 DEBUG: Sending Balance Sheet prompt to Gemini...\n\ud83e\udd16 DEBUG: Gemini Balance Sheet response: {\n \"assets\": {\n \"total_assets\": 96435,\n \"current_assets\": 64641,\n \"fixed_assets\": 31794\n },\n \"liabilities\": {\n \"total_liabilities\": 35460,\n \"current_liabilities\": 29900\n },\n \"equit...\n\u2705 DEBUG: Balance Sheet data extracted successfully\n\ud83e\udd16 DEBUG: Starting Gemini extraction for P\u0026L data...\n\ud83e\udd16 DEBUG: Sending P\u0026L prompt to Gemini...\n\ud83e\udd16 DEBUG: Gemini P\u0026L response: {\n \"revenue\": {\n \"net_revenue\": 106701,\n \"revenue_growth\": 10.6\n },\n \"profitability\": {\n \"ebitda\": 18925,\n \"net_profit\": 12667,\n \"ebitda_margin\": 17.7\n },\n \"financial_year\": \"FY25\"...\n\u2705 DEBUG: P\u0026L data extracted successfully\n\ud83d\udcca DEBUG: Extraction result compiled:\n - Company: LTTS\n - FY: FY25\n - Files processed: 1\n - Balance Sheet extracted: True\n - P\u0026L extracted: True\n\u2705 DEBUG: Added extraction result to company_extractions (1 total)\n\ud83d\udd0d DEBUG: Final results for LTTS: 1 extractions completed\n\ud83d\udcca DEBUG: Creating Excel workbook for LTTS\n\ud83d\udd0d DEBUG: Found sections to export: [\u0027profit_loss\u0027, \u0027balance_sheet\u0027]\n\u2705 DEBUG: Created sheet: balance_sheet with 8 metrics\n\u2705 DEBUG: Created sheet: profit_loss with 7 metrics\n\ud83d\udce4 DEBUG: Uploading LTTS_Financial_Analysis.xlsx to Google Drive...\n\ud83d\udd0d DEBUG: nango_key = 8df3e2de-2307-48d3-94bd-ddd3fd6a62ec\n\ud83d\udd0d DEBUG: nango_connection_id = 4274993f-c614-4efa-a01e-8d07422f4b09\n\ud83d\udd0d DEBUG: Request URL = https://auth-dev.assistents.ai/connection/4274993f-c614-4efa-a01e-8d07422f4b09?provider_config_key=google-drive-hq3h\n\ud83d\udd0d DEBUG: Response status code = 200\n\ud83d\udd0d DEBUG: Response text = {\"id\":136,\"connection_id\":\"4274993f-c614-4efa-a01e-8d07422f4b09\",\"provider_config_key\":\"google-drive-hq3h\",\"provider\":\"google-drive\",\"errors\":[],\"end_user\":{\"id\":\"test_unknown\",\"display_name\":\"unknown\",\"email\":\"unknown@example.com\",\"organization\":null},\"metadata\":null,\"connection_config\":{},\"created_at\":\"2025-07-31T12:47:36.613+00:00\",\"updated_at\":\"2025-08-01T09:37:13.97+00:00\",\"last_fetched_at\":\"2025-08-01T09:55:27.344+00:00\",\"credentials\":{\"type\":\"OAUTH2\",\"access_token\":\"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\",\"expires_at\":\"2025-08-01T10:37:12.970Z\",\"raw\":{\"access_token\":\"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\",\"expires_in\":3599,\"scope\":\"https://www.googleapis.com/auth/drive.appdata https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.scripts https://www.googleapis.com/auth/drive.metadata https://www.googleapis.com/auth/drive.readonly\",\"token_type\":\"Bearer\",\"refresh_token_expires_in\":529822,\"expires_at\":\"2025-08-01T10:37:12.970Z\"}}}\n\u2705 DEBUG: Successfully uploaded LTTS_Financial_Analysis.xlsx\n\ud83d\udccb DEBUG: File ID: 17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"extractions_completed\": 1, \"excel_upload\": {\"filename\": \"LTTS_Financial_Analysis.xlsx\", \"file_id\": \"17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15\", \"status\": \"success\"}, \"status\": \"success\"}\n__STATE_UPDATES__ {\"processed_companies\": [{\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_extractions\": [{\"company_name\": \"LTTS\", \"fy_name\": \"FY25\", \"files_processed\": 1, \"balance_sheet\": {\"assets\": {\"total_assets\": 96435, \"current_assets\": 64641, \"fixed_assets\": 31794}, \"liabilities\": {\"total_liabilities\": 35460, \"current_liabilities\": 29900}, \"equity\": {\"shareholders_funds\": 60800}, \"financial_year\": \"FY25\"}, \"profit_loss\": {\"revenue\": {\"net_revenue\": 106701, \"revenue_growth\": 10.6}, \"profitability\": {\"ebitda\": 18925, \"net_profit\": 12667, \"ebitda_margin\": 17.7}, \"financial_year\": \"FY25\"}, \"extraction_timestamp\": \"2025-08-01T09:55:26.541299\", \"status\": \"success\"}], \"total_fy_processed\": 1}], \"total_extractions\": 1, \"successful_extractions\": 1}\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"extractions_completed\": 1, \"excel_upload\": \"\u003cdict\u003e (size: 113 chars)\", \"status\": \"success\"}\n__STATE_UPDATES__ {\"processed_companies\": \"\u003clist\u003e (size: 691 chars)\", \"total_extractions\": 1, \"successful_extractions\": 1}\n__OUTPUTS_FILE__ /tmp/loop_context_process_fy_folders_current_company_iter_0_ym52cjin/outputs.json\n__STATE_UPDATES_FILE__ /tmp/loop_context_process_fy_folders_current_company_iter_0_ym52cjin/state_updates.json\n",
"outputs": {
"company_name": "LTTS",
"excel_upload": {
"file_id": "17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15",
"filename": "LTTS_Financial_Analysis.xlsx",
"status": "success"
},
"extractions_completed": 1,
"status": "success"
},
"state_updates": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"status": "completed"
}
}
}
],
"iterations_completed": 1
},
"output": "Loop completed after 1 iterations",
"status": "completed"
},
"duration_seconds": 96.647876,
"end_time": "2025-08-01T09:55:28.445546",
"message_sent": true,
"start_time": "2025-08-01T09:53:51.797670",
"timestamp": "2025-08-01T09:55:28.445546",
"worker_executed": true,
"workers_notified": true
},
"exit_reason": "max_iterations",
"final_state": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"iterations_completed": 1,
"loop_result": {
"exit_reason": "max_iterations",
"final_state": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"iteration_results": [
{
"iteration": 0,
"tasks": {
"process_current_company": {
"output": "\ud83d\udd0d DEBUG: folder data {\u0027folders\u0027: [{\u0027id\u0027: \u00271UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\u0027, \u0027name\u0027: \u0027LTTS\u0027}, {\u0027id\u0027: \u00271I04bUHHD6nVXG3L1SsWVyExz0tEpg2wp\u0027, \u0027name\u0027: \u0027AFFLE\u0027}, {\u0027id\u0027: \u00271BefzZiXTBoB0lmLF7oKCEPLdM4LaUYRv\u0027, \u0027name\u0027: \u0027DALBHARAT\u0027}], \u0027access_token\u0027: \u0027ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\u0027, \u0027total_companies\u0027: 3, \u0027processing_companies\u0027: 3}\n\ud83d\udd0d DEBUG: Loop iteration 0\n\ud83d\udcc1 Folder data status: unknown\n\ud83d\udcca Number of folders found: 3\n\ud83d\udccb Company index: 0\n\ud83d\udd10 DEBUG: Getting fresh access token for file processing...\n\u2705 DEBUG: Fresh access token obtained\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_folders\": [{\"id\": \"1hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl\", \"name\": \"FY24\"}, {\"id\": \"18zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR\", \"name\": \"FY25\"}], \"total_fy_folders\": 2, \"company_index\": 0, \"status\": \"success\"}\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_folders\": \"\u003clist\u003e (size: 122 chars)\", \"total_fy_folders\": 2, \"company_index\": 0, \"status\": \"success\"}\n__STATE_UPDATES__ {}\n__OUTPUTS_FILE__ /tmp/loop_context_process_current_company_iter_0_xifnh8ym/outputs.json\n__STATE_UPDATES_FILE__ /tmp/loop_context_process_current_company_iter_0_xifnh8ym/state_updates.json\n",
"outputs": {
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_index": 0,
"company_name": "LTTS",
"fy_folders": [
{
"id": "1hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl",
"name": "FY24"
},
{
"id": "18zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR",
"name": "FY25"
}
],
"status": "success",
"total_fy_folders": 2
},
"state_updates": {},
"status": "completed"
},
"process_fy_folders_current_company": {
"output": "\ud83d\udd0d DEBUG: All available inputs: [\u0027folder_id\u0027, \u0027nango_key\u0027, \u0027EXECUTION_ID\u0027, \u0027execution_id\u0027, \u0027gemini_api_key\u0027, \u0027nango_connection_id\u0027, \u0027list_company_folders\u0027, \u0027company_index\u0027, \u0027total_extractions\u0027, \u0027processed_companies\u0027, \u0027successful_extractions\u0027, \u0027company_name\u0027, \u0027company_id\u0027, \u0027fy_folders\u0027, \u0027total_fy_folders\u0027, \u0027status\u0027, \u0027Process Current Company\u0027]\n\ud83d\udd0d DEBUG: Loop state keys: [\u0027total_extractions\u0027, \u0027processed_companies\u0027, \u0027successful_extractions\u0027]\n\ud83d\udd0d DEBUG: Company name: LTTS\n\ud83d\udd0d DEBUG: Company ID: 1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\n\ud83d\udd0d DEBUG: FY folders: [{\u0027id\u0027: \u00271hzDCRz1BSHA0aylQ94ePjy_tfGbmBvPl\u0027, \u0027name\u0027: \u0027FY24\u0027}, {\u0027id\u0027: \u002718zJUpjOfdhOnVdCacFwX0lTS6vzmr1YR\u0027, \u0027name\u0027: \u0027FY25\u0027}]\n\ud83d\udd0d DEBUG: Task status: success\n\ud83d\udd10 DEBUG: Getting fresh access token for file downloads...\n\u2705 DEBUG: Fresh access token obtained for downloads\n\ud83d\udd0d DEBUG: Starting FY processing for LTTS\n\ud83d\udd0d DEBUG: FY folders to process: 2\n\ud83d\udd0d DEBUG: Processing FY folder 1/2: FY24\n\ud83d\udd0d DEBUG: Found item: Yearly report (MIME: application/vnd.google-apps.folder)\n\ud83d\udcc1 DEBUG: Searching inside folder: Yearly report\n\ud83d\udcc4 DEBUG: Found 0 items inside Yearly report\n\ud83d\udcca DEBUG: Total files found after folder exploration: 0\n\ud83d\udd0d DEBUG: Found 0 total files, 0 PDF files in FY24\n\u26a0\ufe0f DEBUG: No PDF files found in LTTS - FY24\n\ud83d\udd0d DEBUG: Processing FY folder 2/2: FY25\n\ud83d\udd0d DEBUG: Found item: Yearly report (MIME: application/vnd.google-apps.folder)\n\ud83d\udcc1 DEBUG: Searching inside folder: Yearly report\n\ud83d\udcc4 DEBUG: Found 1 items inside Yearly report\n\ud83d\udcca DEBUG: Total files found after folder exploration: 1\n\ud83d\udd0d DEBUG: Checking file: LTTS_FY25_Annual_Report.pdf (MIME: application/pdf)\n\u2705 DEBUG: Added PDF file: LTTS_FY25_Annual_Report.pdf\n\ud83d\udd0d DEBUG: Found 1 total files, 1 PDF files in FY25\n\ud83d\udd0d DEBUG: Starting file upload for 1 files\n\ud83d\udd0d DEBUG: Processing file: LTTS_FY25_Annual_Report.pdf (ID: 1U761OEJr6tUtIX9wEN0Smc48omYJznPC)\n\ud83d\udd0d DEBUG: File MIME type: application/pdf\n\ud83d\udd0d DEBUG: Using direct download endpoint\n\ud83d\udd0d DEBUG: Downloading file from: https://www.googleapis.com/drive/v3/files/1U761OEJr6tUtIX9wEN0Smc48omYJznPC\n\ud83d\udd0d DEBUG: Download successful, status: 200\n\ud83d\udd0d DEBUG: Downloaded complete file: 20972462 bytes\n\u2705 DEBUG: PDF validation passed for LTTS_FY25_Annual_Report.pdf\n\ud83d\udd0d DEBUG: Content size: 20972462 bytes, uploading to Gemini...\n\u2705 DEBUG: File uploaded to Gemini: files/xuqvjcf0m893\n\ud83d\udd0d DEBUG: Gemini file state: FileState.ACTIVE\n\ud83d\udd0d DEBUG: Gemini detected MIME: application/pdf\n\u2705 DEBUG: Successfully uploaded 1 files for LTTS - FY25\n\ud83d\udd17 DEBUG: Getting Gemini file references...\n\ud83d\udd17 DEBUG: Got reference for: LTTS_FY25_Annual_Report.pdf -\u003e files/xuqvjcf0m893\n\ud83d\ude80 DEBUG: Ready to process 1 files with Gemini AI\n\u23f3 DEBUG: Waiting for all files to be fully processed by Gemini...\n\ud83d\udd0d DEBUG: Verifying file readiness...\n\ud83d\udcc4 DEBUG: File files/xuqvjcf0m893 state: ACTIVE\n\ud83e\udd16 DEBUG: Starting Gemini extraction for Balance Sheet data...\n\ud83e\udd16 DEBUG: Sending Balance Sheet prompt to Gemini...\n\ud83e\udd16 DEBUG: Gemini Balance Sheet response: {\n \"assets\": {\n \"total_assets\": 96435,\n \"current_assets\": 64641,\n \"fixed_assets\": 31794\n },\n \"liabilities\": {\n \"total_liabilities\": 35460,\n \"current_liabilities\": 29900\n },\n \"equit...\n\u2705 DEBUG: Balance Sheet data extracted successfully\n\ud83e\udd16 DEBUG: Starting Gemini extraction for P\u0026L data...\n\ud83e\udd16 DEBUG: Sending P\u0026L prompt to Gemini...\n\ud83e\udd16 DEBUG: Gemini P\u0026L response: {\n \"revenue\": {\n \"net_revenue\": 106701,\n \"revenue_growth\": 10.6\n },\n \"profitability\": {\n \"ebitda\": 18925,\n \"net_profit\": 12667,\n \"ebitda_margin\": 17.7\n },\n \"financial_year\": \"FY25\"...\n\u2705 DEBUG: P\u0026L data extracted successfully\n\ud83d\udcca DEBUG: Extraction result compiled:\n - Company: LTTS\n - FY: FY25\n - Files processed: 1\n - Balance Sheet extracted: True\n - P\u0026L extracted: True\n\u2705 DEBUG: Added extraction result to company_extractions (1 total)\n\ud83d\udd0d DEBUG: Final results for LTTS: 1 extractions completed\n\ud83d\udcca DEBUG: Creating Excel workbook for LTTS\n\ud83d\udd0d DEBUG: Found sections to export: [\u0027profit_loss\u0027, \u0027balance_sheet\u0027]\n\u2705 DEBUG: Created sheet: balance_sheet with 8 metrics\n\u2705 DEBUG: Created sheet: profit_loss with 7 metrics\n\ud83d\udce4 DEBUG: Uploading LTTS_Financial_Analysis.xlsx to Google Drive...\n\ud83d\udd0d DEBUG: nango_key = 8df3e2de-2307-48d3-94bd-ddd3fd6a62ec\n\ud83d\udd0d DEBUG: nango_connection_id = 4274993f-c614-4efa-a01e-8d07422f4b09\n\ud83d\udd0d DEBUG: Request URL = https://auth-dev.assistents.ai/connection/4274993f-c614-4efa-a01e-8d07422f4b09?provider_config_key=google-drive-hq3h\n\ud83d\udd0d DEBUG: Response status code = 200\n\ud83d\udd0d DEBUG: Response text = {\"id\":136,\"connection_id\":\"4274993f-c614-4efa-a01e-8d07422f4b09\",\"provider_config_key\":\"google-drive-hq3h\",\"provider\":\"google-drive\",\"errors\":[],\"end_user\":{\"id\":\"test_unknown\",\"display_name\":\"unknown\",\"email\":\"unknown@example.com\",\"organization\":null},\"metadata\":null,\"connection_config\":{},\"created_at\":\"2025-07-31T12:47:36.613+00:00\",\"updated_at\":\"2025-08-01T09:37:13.97+00:00\",\"last_fetched_at\":\"2025-08-01T09:55:27.344+00:00\",\"credentials\":{\"type\":\"OAUTH2\",\"access_token\":\"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\",\"expires_at\":\"2025-08-01T10:37:12.970Z\",\"raw\":{\"access_token\":\"ya29.A0AS3H6NyvZ9r-NhcznRsj1jyV741zu1P9asPBtNOEDI5h-GAs399MHewQjHlYO2jj70fMJaJJ5-8r95oEILFr4zbuoeaRwOkUor1Og7CkfWHVLq_kKZmoMYUfnG3AqOrtV0SLbaXD3MeWDepQmvhGavO_sol7-ctni24luMLIDHbzoUdSomMe-mtwhZY-AgKvIhBut_82aCgYKAX8SARUSFQHGX2MiwlIyDSuqNZwcUAe976OKyw0207\",\"expires_in\":3599,\"scope\":\"https://www.googleapis.com/auth/drive.appdata https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.scripts https://www.googleapis.com/auth/drive.metadata https://www.googleapis.com/auth/drive.readonly\",\"token_type\":\"Bearer\",\"refresh_token_expires_in\":529822,\"expires_at\":\"2025-08-01T10:37:12.970Z\"}}}\n\u2705 DEBUG: Successfully uploaded LTTS_Financial_Analysis.xlsx\n\ud83d\udccb DEBUG: File ID: 17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"extractions_completed\": 1, \"excel_upload\": {\"filename\": \"LTTS_Financial_Analysis.xlsx\", \"file_id\": \"17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15\", \"status\": \"success\"}, \"status\": \"success\"}\n__STATE_UPDATES__ {\"processed_companies\": [{\"company_name\": \"LTTS\", \"company_id\": \"1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG\", \"fy_extractions\": [{\"company_name\": \"LTTS\", \"fy_name\": \"FY25\", \"files_processed\": 1, \"balance_sheet\": {\"assets\": {\"total_assets\": 96435, \"current_assets\": 64641, \"fixed_assets\": 31794}, \"liabilities\": {\"total_liabilities\": 35460, \"current_liabilities\": 29900}, \"equity\": {\"shareholders_funds\": 60800}, \"financial_year\": \"FY25\"}, \"profit_loss\": {\"revenue\": {\"net_revenue\": 106701, \"revenue_growth\": 10.6}, \"profitability\": {\"ebitda\": 18925, \"net_profit\": 12667, \"ebitda_margin\": 17.7}, \"financial_year\": \"FY25\"}, \"extraction_timestamp\": \"2025-08-01T09:55:26.541299\", \"status\": \"success\"}], \"total_fy_processed\": 1}], \"total_extractions\": 1, \"successful_extractions\": 1}\n__OUTPUTS__ {\"company_name\": \"LTTS\", \"extractions_completed\": 1, \"excel_upload\": \"\u003cdict\u003e (size: 113 chars)\", \"status\": \"success\"}\n__STATE_UPDATES__ {\"processed_companies\": \"\u003clist\u003e (size: 691 chars)\", \"total_extractions\": 1, \"successful_extractions\": 1}\n__OUTPUTS_FILE__ /tmp/loop_context_process_fy_folders_current_company_iter_0_ym52cjin/outputs.json\n__STATE_UPDATES_FILE__ /tmp/loop_context_process_fy_folders_current_company_iter_0_ym52cjin/state_updates.json\n",
"outputs": {
"company_name": "LTTS",
"excel_upload": {
"file_id": "17s6hZI7FSUcJPyy_rhgvX31-fFrGDR15",
"filename": "LTTS_Financial_Analysis.xlsx",
"status": "success"
},
"extractions_completed": 1,
"status": "success"
},
"state_updates": {
"processed_companies": [
{
"company_id": "1UG3CBbdMsZvt7C0CddZtk-C7CMKpoFOG",
"company_name": "LTTS",
"fy_extractions": [
{
"balance_sheet": {
"assets": {
"current_assets": 64641,
"fixed_assets": 31794,
"total_assets": 96435
},
"equity": {
"shareholders_funds": 60800
},
"financial_year": "FY25",
"liabilities": {
"current_liabilities": 29900,
"total_liabilities": 35460
}
},
"company_name": "LTTS",
"extraction_timestamp": "2025-08-01T09:55:26.541299",
"files_processed": 1,
"fy_name": "FY25",
"profit_loss": {
"financial_year": "FY25",
"profitability": {
"ebitda": 18925,
"ebitda_margin": 17.7,
"net_profit": 12667
},
"revenue": {
"net_revenue": 106701,
"revenue_growth": 10.6
}
},
"status": "success"
}
],
"total_fy_processed": 1
}
],
"successful_extractions": 1,
"total_extractions": 1
},
"status": "completed"
}
}
}
],
"iterations_completed": 1
},
"output": "Loop completed after 1 iterations",
"return_code": 0,
"status": "completed",
"stderr": "",
"task_id": "process_companies_loop"
}
}
}