DocumentationScreening Batch screening from a spreadsheetCases and people Bulk features of CasesAI (MCP) AI assistant connector (MCP)
What you can customizeavailable after activation
iSpis is a platform, not a template. Everything below is driven by your own
git repository connected in Settings → Custom: a crm.yaml file
describes the configuration, an optional service.ts next to it carries your
code. After every push we pull the repository, validate it and apply the
changes; the hosted server restarts automatically. The reference of the file
format is in crm.yaml.
Configuration (crm.yaml, no code)
- Case categories and states – your own case kinds with ordered states, colours, substates and closed states; built-in categories can be combined with yours.
- Task kinds (
taskVerbs) – what a task on a case can be (analyse, refund, call back, …). - Person kinds (
personKinds) – which roles a person on a case may have (client, representative, debtor, …). - Buttons on cases, files, persons, claims and payments (
customActions) – an action your back-end performs, or a download it produces. - Template variables (
templateCustomVariables) – values pulled from your systems and used as[% Loan.Amount %]in letters and e-mails. - Sections on the case card (
sections) – blocks rendered by your code, with forms whose submissions go to your server; visibility per category or state is up to you. - Events (
events) – notifications delivered to your code when a task is finished (more events after activation). - Link on the case card (
/link) – a deep link into your system for the case.
Code (service.ts)
- Hosted by us – put a Deno module next to
crm.yaml; it runs as a separate process with minimal permissions, starts on first use, stops when idle and restarts after every push. The log is in Settings → Custom. - Database access – a PostgreSQL account restricted to your rows (cases, persons, claims, files, screenings, settings), read-write, plus a read-only role for reporting. Row-level security keeps other tenants invisible.
- SDK –
serve({ action, var, section, event, link })from ourcustomrepository handles routing, authentication and errors;sqlis a postgres.js client,htmlan escaping template tag. - Or on your side – point
service.urlto your own server; iSpis calls the same endpoints with a shared secret.
Around the repository
- REST API (
/api/*) – the same operations as the AI tools: cases, persons, claims, documents, screening, messages. Documentation in the API section. - Webhooks – case created, screening finished, inbox message (after activation).
- AI assistant (MCP) – your users connect ChatGPT, Claude, Gemini or Copilot to their account and work with cases by writing; see MCP tools.
- Custom front-end – lending companies run their own applicant portal on
top of the iSpis back-office; the Loan module reads
config.yamlfrom the same repository.
Rules of the game
- Custom data on a case or person is key → value (string); structured values
go under a key with the
JSONsuffix. - Your rows only: the database role, the API and the hosted server see and change only your data.
- Invalid
crm.yamlis reported in Settings and by e-mail; the last valid configuration stays in use until the next pull. - The connection is available after activation – write to us.
Source: src/core/custom/custom.docs.md