Skip to main content

Automation Platform Integrations

Last Updated: 2026-01-20

Aragora integrates with popular workflow automation platforms to enable no-code/low-code automation of multi-agent debates and decision-making workflows.

Table of Contents​


Overview​

Aragora provides native integrations for workflow automation platforms:

PlatformTypeUse Case
ZapierNo-codeConnect Aragora with 5000+ apps
MakeLow-codeComplex multi-step automations
n8nSelf-hostedPrivacy-first workflow automation
LangChainDeveloperAI application development

Common Capabilities​

All automation platforms support:

  • Triggers: Webhook-based notifications when debates complete
  • Actions: Start debates, submit evidence, query knowledge
  • Filtering: Filter events by workspace, tags, confidence level

Zapier Integration​

Setup​

  1. Go to Settings > Integrations > Zapier in Aragora
  2. Click Connect to Zapier to generate API credentials
  3. Search for "Aragora" in the Zapier app directory
  4. Use your API key and secret to authenticate

Triggers​

TriggerDescriptionOutput
debate_completedFires when any debate finishesDebate ID, result, consensus
consensus_reachedFires when consensus is achievedDebate ID, consensus details
gauntlet_completedFires when stress-test completesGauntlet ID, risks, score
decision_madeFires when a decision is finalizedDecision ID, verdict, evidence

Actions​

ActionDescriptionInputs
start_debateStart a new debateTopic, agents, rounds, tags
get_debate_statusGet current debate statusDebate ID
submit_evidenceSubmit evidence to a debateDebate ID, content, source

Example Zap​

Trigger: New row in Google Sheets Action: Start Aragora debate with row content Result: Multi-agent analysis of each new entry

Google Sheets → Aragora "Start Debate" → Slack notification

Make (Integromat) Integration​

Setup​

  1. In Make, add the Aragora module
  2. Create a new connection with your API credentials
  3. Choose a trigger or action module

Trigger Modules​

ModuleDescription
Watch DebatesMonitor for new or completed debates
Watch ConsensusMonitor for consensus events
Watch DecisionsMonitor for final decisions
Watch GauntletMonitor stress-test completions

Action Modules​

ModuleDescription
Create DebateStart a new multi-agent debate
Get DebateRetrieve debate details and results
Submit EvidenceAdd evidence to an active debate
Get AgentsList available AI agents
Run GauntletExecute stress-test on content

Example Scenario​

Notion Database Updated
↓
Aragora: Create Debate
↓
Router (based on consensus)
↓ (Yes) ↓ (No)
Asana: Create Task Slack: Alert Team

n8n Integration​

Setup (Self-Hosted)​

Pre-built workflow templates live in templates/n8n/ (see templates/n8n/README.md).

  1. Install the Aragora n8n community node:

    npm install @aragora/n8n-nodes-aragora
  2. Add credentials in n8n:

    • API URL: https://api.aragora.ai
    • API Key: Your Aragora API key
    • API Secret: Your Aragora API secret

Node Types​

Aragora Trigger Node​

Webhook-based trigger for debate events:

  • Events: debate.created, debate.completed, consensus.reached
  • Filtering: By workspace, tags, confidence threshold

Aragora Node​

CRUD operations on Aragora resources:

ResourceOperations
DebateCreate, Get, GetAll, Update, Delete
AgentGet, GetAll
EvidenceCreate, Get, GetAll
DecisionGet, GetAll
GauntletExecute, Get
KnowledgeQuery, Create, Update

Example Workflow​

{
"nodes": [
{
"name": "Aragora Trigger",
"type": "@aragora/n8n-nodes-aragora.aragoraTrigger",
"parameters": {
"events": ["debate.completed"],
"filter": {
"minConfidence": 0.8
}
}
},
{
"name": "Aragora",
"type": "@aragora/n8n-nodes-aragora.aragora",
"parameters": {
"resource": "decision",
"operation": "get",
"debateId": "={{$json.debate_id}}"
}
}
]
}

Reference Workflow: Obsidian → Aragora → Linear​

Use the pre-built template in templates/n8n/obsidian-aragora-linear.json to connect local Obsidian notes to Aragora decision integrity and Linear execution.

What it does:

  • Watches for notes tagged #ready
  • Launches a debate + decision integrity package
  • Creates a Linear issue
  • Writes a decision integrity note back to Obsidian
  • Updates the original note with aragora_id, linear_issue, and decision_integrity

Original note example (before):

---
title: API Design Decision
tags: [architecture, api]
---

# Should we use REST or GraphQL?

Context here... #ready

After automation:

  • Decision receipt note added under decisions/
  • Original note frontmatter updated with aragora_id, linear_issue, and a backlink

LangChain Integration​

Installation​

pip install aragora[langchain]
# or
pip install aragora langchain-core

Components​

AragoraTool​

Use Aragora as a LangChain tool:

from aragora.integrations.langchain import AragoraTool

# Create the tool
tool = AragoraTool(
api_base="https://api.aragora.ai",
api_key="your-api-key"
)

# Run a debate
result = tool.run("Should we use microservices or monolith architecture?")
print(result)

AragoraRetriever​

Use Aragora's knowledge base as a retriever:

from aragora.integrations.langchain import AragoraRetriever

retriever = AragoraRetriever(
api_base="https://api.aragora.ai",
api_key="your-api-key"
)

# Get relevant documents
docs = retriever.get_relevant_documents("database architecture patterns")
for doc in docs:
print(doc.page_content)

AragoraCallbackHandler​

Stream debate events to your application:

from aragora.integrations.langchain import AragoraCallbackHandler

handler = AragoraCallbackHandler(
on_debate_start=lambda debate_id: print(f"Started: \{debate_id\}"),
on_round_complete=lambda round: print(f"Round \{round\} done"),
on_consensus=lambda result: print(f"Consensus: \{result\}")
)

tool = AragoraTool(
api_base="https://api.aragora.ai",
api_key="your-api-key",
callbacks=[handler]
)

With LangGraph​

from langgraph.graph import StateGraph
from aragora.integrations.langchain import AragoraTool

def debate_node(state):
tool = AragoraTool(api_base="...", api_key="...")
result = tool.run(state["question"])
return {"debate_result": result}

graph = StateGraph()
graph.add_node("debate", debate_node)
# ... configure graph

API Endpoints​

All automation integrations use these REST endpoints:

External Integration API​

EndpointMethodDescription
/api/integrations/external/providersGETList available providers
/api/integrations/external/connectPOSTConnect a provider
/api/integrations/external/disconnectPOSTDisconnect a provider
/api/integrations/external/statusGETGet connection status
/api/integrations/external/testPOSTTest a connection

Webhook Management​

EndpointMethodDescription
/api/webhooksGETList all webhooks
/api/webhooksPOSTCreate a webhook
/api/webhooks/\{id\}DELETEDelete a webhook
/api/webhooks/\{id\}/testPOSTTest a webhook

Authentication​

API Key Authentication​

All automation platforms use API key authentication:

Authorization: Bearer YOUR_API_KEY
X-Aragora-Secret: YOUR_API_SECRET

Webhook Signature Verification​

Webhooks include a signature header for verification:

X-Aragora-Signature: sha256=HMAC_SIGNATURE

Verify in your application:

import hmac
import hashlib

def verify_webhook(payload: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(
secret.encode(),
payload,
hashlib.sha256
).hexdigest()
return hmac.compare_digest(f"sha256=\{expected\}", signature)

Examples​

Automated Decision Workflow​

Email received (Gmail)
↓
Extract decision question (OpenAI)
↓
Run Aragora debate (3 rounds, 5 agents)
↓
Branch on consensus?
↓ Yes ↓ No
Create Jira ticket Schedule meeting (Calendar)
with decision for human review

Continuous Compliance Check​

GitHub PR opened
↓
Get PR diff content
↓
Run Aragora Gauntlet (security persona)
↓
Post results as PR comment
↓
If high risk → Block merge

Knowledge Base Sync​

Notion page updated (trigger)
↓
Aragora: Submit evidence
↓
Aragora: Update knowledge base
↓
Slack: Notify team of new knowledge

Troubleshooting​

Common Issues​

IssueSolution
Webhook not firingCheck webhook URL is publicly accessible
Authentication failedVerify API key and secret are correct
Timeout errorsDebates may take time; increase timeout
Rate limitedImplement exponential backoff

Rate Limits​

PlatformLimit
Zapier100 requests/minute
Make100 requests/minute
n8nNo limit (self-hosted)
LangChainAPI rate limits apply

See Also​