Resolve support issues inside your app.
An in-app AI agent that finds, explains, and fixes product issues — with approvals and full operator control.
Deflect known issues earlier
ResolveKit meets users inside the workflow that is already failing, so repeatable blockers can be handled before they turn into ticket queues.
Make support knowledge executable
Ground the agent in docs, flows, and screenshots, then connect approved product actions so guidance can turn into actual resolution.
Keep teams aligned on risk
Product, CX, and engineering share one policy layer for approvals, version limits, and trace history instead of improvising across tools.
Control and guardrails
Approved automation for fixes that should move fast, with friction only where risk justifies it
ResolveKit lets you automate the safe path, require consent on the sensitive path, and keep an auditable record of both.
Step 1
Define policy
Choose which actions can auto-run, which must wait for consent, and which should stay unavailable by default.
Step 2
Explain action
The agent states what it wants to do, why it matters, and what the user should expect next.
Step 3
Collect approval
Sensitive steps stop inside chat until the user explicitly approves the action.
Step 4
Record outcome
Execution results, payloads, and final status are written to the session trace for review.
Buyer value
Lower ticket volume without hiding the work
Teams can see which issues were resolved in-product, which actions were taken, and where escalation is still required.
Operations
Tune behavior without another release cycle
Update prompts, functions, limits, and environment-specific rules from one dashboard instead of waiting on app updates.
Guardrails
Policies can block the wrong action before it runs
Function eligibility can be scoped by platform, app version, session fields, and explicit approval requirements.
Product awareness
The agent understands what the user is actually seeing
Ingest guide images and screenshots alongside docs so the assistant can reason about UI layout, steps, and breakpoints with less guesswork.
How To Integrate
Integrate ResolveKit iOS SDK in 3 steps
Based on the real resolvekit-ios-sdk APIs and runtime lifecycle.
Active snippet
Define tool functions with @ResolveKit
import ResolveKitCore
@ResolveKit(name: "set_lights", description: "Turn lights on or off in a room", timeout: 30)
struct SetLights: ResolveKitFunction {
func perform(room: String, on: Bool) async throws -> Bool {
// your implementation
return on
}
}
@ResolveKit(name: "get_weather", description: "Get current weather for a city", timeout: 10)
struct GetWeather: ResolveKitFunction {
func perform(city: String) async throws -> String {
"\(city): sunny, 22°C"
}
}• Use stable snake_case names — the backend stores tools by function name.
• Each function must be async throws and implemented on a struct.
Try the iOS sample app
Download the Mac-compatible demo (.dmg) to test managed or self-hosted endpoints in minutes.
Use cases