Asana -> AetherBrowse Automation
This lets scheduled Asana tasks trigger governed headless browser work.
Files
scripts/asana_aetherbrowse_orchestrator.pyscripts/aetherbrowse_swarm_runner.pyworkflows/n8n/asana_aetherbrowse_scheduler.workflow.json
Required environment
ASANA_TOKEN=<your_asana_pat>
ASANA_PROJECT_ID=<project_gid>
SCBE_API_KEY=<browser_api_key>
SCBE_BROWSER_WEBHOOK_URL=http://127.0.0.1:8001/v1/integrations/n8n/browse
Run once
python scripts/asana_aetherbrowse_orchestrator.py \
--project-id "$ASANA_PROJECT_ID" \
--asana-token "$ASANA_TOKEN" \
--endpoint-url "$SCBE_BROWSER_WEBHOOK_URL" \
--api-key "$SCBE_API_KEY" \
--max-tasks 5 \
--output-json artifacts/asana_bridge/latest_run.json
Optional flags:
--complete-on-allowmarks task complete when decision isALLOW--include-no-dueincludes tasks without due dates--dry-runonly generates jobs/output without execution
n8n Import (No Env Vars)
Import this workflow JSON:
workflows/n8n/asana_aetherbrowse_scheduler.workflow.json
After import, edit only three literals in the nodes/code:
PASTE_ASANA_PATPASTE_SCBE_API_KEYhttps://PASTE-CLOUD-RUN-HOST/v1/integrations/n8n/browse
Then activate the workflow. It will:
- pull due tasks from Asana project
1210507086219964 - run browser actions per task
- comment decision back to each task
- complete tasks when decision is
ALLOW
Task-to-job mapping
- Each due, incomplete Asana task is converted to one browser job.
- Default actions:
navigate(first URL found in task notes, fallbackhttps://example.com)extract h1screenshot full_page
- You can override actions by putting JSON in task notes:
AETHERBROWSE_ACTIONS:
[{"action":"navigate","target":"https://example.com"},{"action":"screenshot","target":"full_page"}]
Governance behavior
- Task name or action set determines
risk_tier. DELIBERATIONrequirescapability_token(if configured).- Decision + score is posted back to the Asana task as a comment.
- Decision records and traces are stored under
artifacts/aetherbrowse_runs/<run_id>/.