# CADENCE - käyttöopas

> The CADENCE CRM handbook: what it is, the data model, every tab, the mobile call flow, the log and the objective and how an insight reads one against the other on a contact, a company or a deal, the seven follow-up signals, importing, the public lead form, agents and MCP, and the troubleshooting list. Finnish and English, no login. This document tells an agent how to call it.

## Installation

Nothing to install. This app runs on an AIMEAT node and is reachable two ways.

Over MCP — attach any MCP-capable client to `https://aimeat.io/v1/mcp` (OAuth 2.1), then:

```
    owner:  happydude500001
    app_id: cadence-help.html        (not "cadence-help")

aimeat_app_tools_get   { owner: "happydude500001", app_id: "cadence-help.html" }
```

Over HTTP — get an identity through the RFC 8628 device flow described at `https://aimeat.io/auth.md`, then
call the endpoints in `https://aimeat.io/v1/spec`.

## Configuration

- **Scopes.** The owner approves a scope set when they approve your agent. A call outside it
  answers 403 naming the scope, never an empty result.
- **Payment.** Priced tools answer 402 with the terms attached until a checkout for them completes;
  completing the checkout IS the invocation.
- **Schemas.** Every tool carries a full input and output schema in the manifest, so nothing has to
  be inferred from the app source: `https://aimeat.io/v1/apps/happydude500001/cadence-help.html/webmcp`

## Usage

```
aimeat_app_tool_invoke {
  owner: "happydude500001",
  app:   "cadence-help.html",
  tool:  "search",
  input: { ... }
}
```

This app publishes no priced tools.

## What this app does

# CADENCE handbook

The user-facing manual for CADENCE, the CRM that stores its records in the owner's own AIMEAT organism. Bilingual Finnish and English, searchable, opens without a login: <https://cadence-help.apps.aimeat.io/>

This page explains CADENCE to a human. To *operate* CADENCE on someone's behalf, load the skill `user:happydude500001/cadence-crm` instead, which carries the write contract.

## Chapters

What CADENCE is · Getting started · The data model · The tabs · On the phone · The follow-up engine · Pipeline and stages · Importing data · The public lead form · Team, access and notifications · Agents and MCP · CADENCE on EXCHANGE · Playbooks · When something misbehaves

## Reference an agent usually needs

**Five record spaces**, schema-locked, all field keys Finnish: `contact` (crm.contacts), `company` (crm.companies), `deal` (crm.deals), `activity` (crm.activities), `crm-task` (crm.tasks). Contact, company and deal require an `omistaja` field; an unknown key or an out-of-range enum is rejected at write time, not silently dropped.

**Seven follow-up signals**, with their default thresholds: overdue task (high past 3 days), cold contact (14 days), new lead with no task (high at 2 days), follow-up after a poor call (due in 3), closing soon (7 days), stalled deal (10 days), open deal with no task. Thresholds are read from the owner key `cadence.config` under `followups`. One proposal per contact, suppressed entirely when the contact already has an open task.

**Ten tabs**: Dashboard, Follow-up, Contacts, Companies, Deals, Tasks, Import (HubSpot), Public form, People, Settings.

**PRH enrichment**: the company card resolves a Finnish business ID by name and shows the trade-register brief. The result is cached in the owner key `cadence.prh.<companyId>`, which is also the only place a Y-tunnus lives, because the locked company schema has no field for it.

## Buy the engine instead of rebuilding it

Four CADENCE capabilities are listed on the AIMEAT EXCHANGE at 1 morsel or EUR 0.02 per call, each running the same deterministic code as the app, stateless and storing nothing you send: `scanFollowups`, `pipelineHealth`, `mapImport`, `dedupeRecords`. Find them with `aimeat_exchange_offerings q="cadence"`, open a budget-capped contract with `aimeat_exchange_accept`, then call `/v1/apps/happydude500001/cadence.html/webmcp/tools/<tool>`. Every listing has an ODPS v4.1 descriptor at `/v1/exchange/offerings/{id}/odps.yaml`.

## Where things are

- The app: <https://cadence.apps.aimeat.io/>
- Operating skill: `user:happydude500001/cadence-crm`
- Handbook skill: `user:happydude500001/cadence-handbook`
- Workspace pointer for any owner: the memory key `cadence.workspace`, holding `{ orgId, wsId }`


## Agent affordances

- Act — WebMCP tool listing for this app: https://aimeat.io/v1/apps/happydude500001/cadence-help.html/webmcp
- Learn — skills bound to this app: https://aimeat.io/v1/apps/happydude500001/cadence-help.html/skills
- App catalog on this node (this app: happydude500001/cadence-help.html): https://aimeat.io/app-catalog.html
- Register an agent on this node (RFC 8628 device flow): https://aimeat.io/auth.md


## Where the rest is

- [llms.txt](https://cadence-help.apps.aimeat.io/llms.txt) · [Site map](https://cadence-help.apps.aimeat.io/sitemap.md)
- [Node manual](https://aimeat.io/llms-full.txt) · [Node glossary](https://aimeat.io/v1/glossary.md) · [OpenAPI](https://aimeat.io/v1/spec)
