165 lines
4.2 KiB
JSON
165 lines
4.2 KiB
JSON
{
|
|
"original_draft": {
|
|
"agent_name": "local_business_extractor",
|
|
"goal": "Find local businesses on Maps, extract contacts, and sync to Google Sheets.",
|
|
"description": "",
|
|
"success_criteria": [
|
|
"Extract business details from Maps",
|
|
"Sync data to Google Sheets"
|
|
],
|
|
"constraints": [
|
|
"Must verify website presence before scraping"
|
|
],
|
|
"nodes": [
|
|
{
|
|
"id": "map-search-worker",
|
|
"name": "Maps Browser Worker",
|
|
"description": "Browser subagent that searches Google Maps and extracts business links.",
|
|
"node_type": "gcu",
|
|
"tools": [],
|
|
"input_keys": [
|
|
"query"
|
|
],
|
|
"output_keys": [
|
|
"business_list"
|
|
],
|
|
"success_criteria": "",
|
|
"sub_agents": [],
|
|
"flowchart_type": "browser",
|
|
"flowchart_shape": "hexagon",
|
|
"flowchart_color": "#3a4a9b"
|
|
},
|
|
{
|
|
"id": "extract-contacts",
|
|
"name": "Extract Business Details",
|
|
"description": "Scrapes business websites and Maps for comprehensive business details.",
|
|
"node_type": "event_loop",
|
|
"tools": [
|
|
"exa_get_contents",
|
|
"exa_search"
|
|
],
|
|
"input_keys": [
|
|
"user_request"
|
|
],
|
|
"output_keys": [
|
|
"business_data"
|
|
],
|
|
"success_criteria": "Comprehensive business details (reviews, hours, contacts) extracted.",
|
|
"sub_agents": [
|
|
"map-search-worker"
|
|
],
|
|
"flowchart_type": "subprocess",
|
|
"flowchart_shape": "subroutine",
|
|
"flowchart_color": "#4c7f7f"
|
|
},
|
|
{
|
|
"id": "sheets-sync",
|
|
"name": "Google Sheets Sync",
|
|
"description": "Appends the extracted business data to a Google Sheets spreadsheet.",
|
|
"node_type": "event_loop",
|
|
"tools": [
|
|
"google_sheets_create_spreadsheet",
|
|
"google_sheets_update_values",
|
|
"google_sheets_append_values",
|
|
"google_sheets_get_values"
|
|
],
|
|
"input_keys": [
|
|
"business_data"
|
|
],
|
|
"output_keys": [
|
|
"spreadsheet_id"
|
|
],
|
|
"success_criteria": "Data successfully synced to Google Sheets.",
|
|
"sub_agents": [],
|
|
"flowchart_type": "terminal",
|
|
"flowchart_shape": "stadium",
|
|
"flowchart_color": "#a04444"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge-0",
|
|
"source": "extract-contacts",
|
|
"target": "sheets-sync",
|
|
"condition": "on_success",
|
|
"description": "",
|
|
"label": ""
|
|
},
|
|
{
|
|
"id": "edge-1",
|
|
"source": "sheets-sync",
|
|
"target": "extract-contacts",
|
|
"condition": "always",
|
|
"description": "",
|
|
"label": ""
|
|
},
|
|
{
|
|
"id": "edge-subagent-2",
|
|
"source": "extract-contacts",
|
|
"target": "map-search-worker",
|
|
"condition": "always",
|
|
"description": "sub-agent delegation",
|
|
"label": "delegate"
|
|
},
|
|
{
|
|
"id": "edge-subagent-3",
|
|
"source": "map-search-worker",
|
|
"target": "extract-contacts",
|
|
"condition": "always",
|
|
"description": "sub-agent report back",
|
|
"label": "report"
|
|
}
|
|
],
|
|
"entry_node": "extract-contacts",
|
|
"terminal_nodes": [
|
|
"sheets-sync"
|
|
],
|
|
"flowchart_legend": {
|
|
"start": {
|
|
"shape": "stadium",
|
|
"color": "#3fa66a"
|
|
},
|
|
"terminal": {
|
|
"shape": "stadium",
|
|
"color": "#a04444"
|
|
},
|
|
"process": {
|
|
"shape": "rectangle",
|
|
"color": "#616d83"
|
|
},
|
|
"decision": {
|
|
"shape": "diamond",
|
|
"color": "#d89d26"
|
|
},
|
|
"io": {
|
|
"shape": "parallelogram",
|
|
"color": "#7a4fa5"
|
|
},
|
|
"document": {
|
|
"shape": "document",
|
|
"color": "#507485"
|
|
},
|
|
"database": {
|
|
"shape": "cylinder",
|
|
"color": "#459077"
|
|
},
|
|
"subprocess": {
|
|
"shape": "subroutine",
|
|
"color": "#4c7f7f"
|
|
},
|
|
"browser": {
|
|
"shape": "hexagon",
|
|
"color": "#3a4a9b"
|
|
}
|
|
}
|
|
},
|
|
"flowchart_map": {
|
|
"extract-contacts": [
|
|
"extract-contacts",
|
|
"map-search-worker"
|
|
],
|
|
"sheets-sync": [
|
|
"sheets-sync"
|
|
]
|
|
}
|
|
} |