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:
Trigger When 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:
Action What 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
Post research summaries to Slack
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
}'
Create Linear issues when a build graph is ready
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
}'
Export build plans to Notion on completion
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
}'
Alert on competitive signals via Slack
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
}'
Notify via Slack when Forge opens a PR
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.
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:
Mode Behavior 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.