Run durable LLM agents in production Go workflows. Crash-proof execution, cost guardrails, and MCP tool integration — powered by Temporal.
flow := core.NewFlow("incident-review").
TriggeredBy(core.Webhook("/hooks/incident")).
Then(pagerduty.ParseWebhook(webhookInput).As("webhook")).
When(func(s *core.FlowState) bool {
return !core.GetOr(s, "webhook", pagerduty.ParseWebhookOutput{}).Skipped
}).
Then(agent.Node("reviewer", agent.NodeConfig{
LLM: agent.LLMConfig{Model: "claude-sonnet-4-6", MaxTokens: 8192},
SystemPrompt: reviewPrompt,
UserPrompt: core.Output("webhook.UserPrompt"),
Tools: []agent.Tool{
agent.MCPTool("pagerduty", pagerdutyMCP),
agent.MCPTool("jira", jiraMCP),
agent.MCPTool("slack", slackMCP),
},
CostLimits: agent.CostLimits{PerRunUSD: 2.00, PerDayUSD: 100.00},
Compaction: agent.CompactionConfig{ThresholdTokens: 80000, KeepRecent: 4},
}).As("review").WithTimeout(15 * time.Minute)).
Then(slack.NotifyReport(reportInput)).
Build()Everything you need to run LLM agents that won't crash, won't blow your budget, and won't go rogue.
LLM loops run as Temporal child workflows with per-iteration heartbeating. Survive worker crashes mid-conversation — no lost context, no re-running tool calls.
Connect any MCP server or Resolute provider as agent tools. PagerDuty, Jira, Confluence, Slack, Qdrant, Ollama — 90+ tools out of the box.
Inspect and override agent decisions between iterations via Temporal signals. Human-in-the-loop oversight without blocking execution.
Per-run, per-hour, and per-day budget limits. Process-global tracking across all concurrent flows. Never wake up to a surprise bill.
Go generics enforce compile-time type safety across your entire pipeline. Fluent builder API. Unit test flows without running Temporal.
Automatic summarization when token count exceeds threshold. Per-turn tracking for post-hoc analysis. Long-running agents that stay sharp.
Not "agent framework OR workflow framework" — agents as first-class nodes inside fault-tolerant flows.
PagerDuty fires, an agent gathers context from 4 sources, and your on-call engineer gets a ready-to-act incident brief in Slack — in under 2 minutes.
> NEW ISSUE | Urgency: High | Service: api-gateway | ID: P1234567
What Do I Do Right Now?
1. Check pod logs for user-service (CrashLoopBackOff detected)
2. Verify upstream health on monitoring dashboard
3. If > 50% error rate, escalate to platform team
Has This Happened Before?
- Feb 15: Similar 502 spike, resolved by restart (12 min)
- Jan 28: OOM kill, resolved by memory limit increase (25 min)
- Pattern: 3rd occurrence in 35 days — root cause is memory leak
Open Tickets
| PLAT-892 | user-service memory leak | In Progress | @jane || Model | Duration | Iterations | Cost | Quality |
|---|---|---|---|---|
claude-sonnet-4-6 | ~2m | 4 | ~$0.65 | Excellent |
claude-haiku-4-5 | ~1.5m | 9 | ~$0.28 | Good |
qwen3.5-397b (cloud) | ~1.5m | 3 | $0.00 | Good |
See Model Benchmarking for methodology
Resolute is open source and free. Get from zero to a running agent workflow in 10 minutes.
Quickstart Guide