Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.manticscore.com/llms.txt

Use this file to discover all available pages before exploring further.

Automations let you define “when X happens, do Y” rules that ManticScore fires automatically. Configure them once and your team gets a Slack message every time research completes, Linear issues every time a build graph is ready, or a Notion page every time Forge opens a pull request — without any manual step. You can also run any of the 1000+ Composio tools as an action, making automations as flexible as your workflow requires.

Triggers and actions

Triggers are ManticScore events that fire an automation:
TriggerWhen it fires
research_completedA market or feature research job finishes
build_graph_completedA build graph is fully generated
signal_detectedA new competitive signal is detected for a monitored company
forge_pr_createdForge opens a pull request on GitHub
brief_readyA product brief finishes generating
Actions are the operations ManticScore runs in response:
ActionWhat it does
slack.postPosts a message to a Slack channel
linear.create_issuesCreates issues in Linear from the triggering build graph
jira.create_issuesCreates issues in Jira from the triggering build graph
notion.exportExports the triggering output to a Notion page
gmail.sendSends an email via Gmail
composio.executeRuns any Composio tool with templated arguments

Creating an automation

Call POST /automations with a trigger, action, and any configuration the action needs.
curl -X POST https://api.manticscore.com/automations \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "trigger": "research_completed",
    "action": "slack.post",
    "toolkit": "slack",
    "config": {
      "channel": "C1234",
      "format": "summary"
    },
    "enabled": true
  }'
{
  "id": "automation-uuid",
  "trigger": "research_completed",
  "action": "slack.post",
  "enabled": true,
  "created_at": "2026-04-23T10:00:00Z"
}
The integration referenced by toolkit must be connected before you create the automation. ManticScore returns 400 if the toolkit is not connected when the automation fires.

Common automation recipes

curl -X POST https://api.manticscore.com/automations \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "trigger": "research_completed",
    "action": "slack.post",
    "toolkit": "slack",
    "config": { "channel": "C1234", "format": "summary" },
    "enabled": true
  }'
curl -X POST https://api.manticscore.com/automations \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "trigger": "build_graph_completed",
    "action": "linear.create_issues",
    "toolkit": "linear",
    "config": { "team_id": "TEAM_abc123" },
    "enabled": true
  }'
curl -X POST https://api.manticscore.com/automations \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "trigger": "build_graph_completed",
    "action": "notion.export",
    "toolkit": "notion",
    "config": { "parent_id": "page-uuid" },
    "enabled": true
  }'
curl -X POST https://api.manticscore.com/automations \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "trigger": "signal_detected",
    "action": "slack.post",
    "toolkit": "slack",
    "config": { "channel": "C3456", "format": "detailed" },
    "enabled": true
  }'
curl -X POST https://api.manticscore.com/automations \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "trigger": "forge_pr_created",
    "action": "slack.post",
    "toolkit": "slack",
    "config": { "channel": "C9012", "format": "summary" },
    "enabled": true
  }'

Listing automations

curl https://api.manticscore.com/automations \
  -H "Authorization: Bearer <token>"
{
  "automations": [
    {
      "id": "automation-uuid",
      "trigger": "research_completed",
      "action": "slack.post",
      "toolkit": "slack",
      "config": { "channel": "C1234", "format": "summary" },
      "enabled": true
    }
  ]
}

Updating an automation

Use PATCH /automations/{automation_id} to change any field. The body is a sparse merge — you only need to include the fields you want to update.
# Disable an automation
curl -X PATCH https://api.manticscore.com/automations/automation-uuid \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{ "enabled": false }'

# Change the target channel
curl -X PATCH https://api.manticscore.com/automations/automation-uuid \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{ "config": { "channel": "C9999", "format": "detailed" } }'

Deleting an automation

curl -X DELETE https://api.manticscore.com/automations/automation-uuid \
  -H "Authorization: Bearer <token>"
A successful delete returns 204 No Content.

Running any Composio tool as an action

The composio.execute action lets you invoke any of the 1000+ tools available in Composio — giving automations the same reach as a full Zapier or Shortcuts workflow. Provide the Composio tool slug as action and pass arguments in arguments.
curl -X POST https://api.manticscore.com/integrations/execute \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "LINEAR_CREATE_LINEAR_ISSUE",
    "arguments": {
      "title": "New issue from ManticScore",
      "team_id": "TEAM_abc123"
    },
    "connected_account_id": null
  }'
{
  "status": "completed",
  "action": "LINEAR_CREATE_LINEAR_ISSUE",
  "result": {
    "id": "LIN-99",
    "url": "https://linear.app/acme/issue/LIN-99"
  }
}
Use POST /integrations/execute to test a Composio action directly before wiring it to an automation. Once it works, add it as a composio.execute automation rule.

Agent autonomy

ManticScore’s AI agent can run integration actions on your behalf. You control how much autonomy the agent has with three modes:
ModeBehavior
suggestThe agent proposes an action; you approve it before it runs
confirmThe agent asks for confirmation before executing
autoThe agent runs the configured actions automatically, without asking
Configure autonomy with PATCH /profile/agent-config:
curl -X PATCH https://api.manticscore.com/profile/agent-config \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "autonomy_level": "auto",
    "auto_actions": ["slack.post", "notion.export", "linear.create_issues"]
  }'
The auto_actions list controls which specific actions the agent runs automatically when autonomy_level is auto. Actions not in the list still require confirmation.
Setting autonomy_level to auto with linear.create_issues or jira.create_issues in auto_actions means ManticScore will create issues in your tracker without prompting you. Start with confirm and switch to auto once you are satisfied with the output.