DocumentationScreening Batch screeningCases and people Bulk features of CasesTemplates and mail Payment reference and QR code for payers abroadAI (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 ispis.yaml file
describes the configuration, an optional ispis/service.ts 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 ispis.yaml.
Configuration (ispis.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 (ispis/service.ts)
- Hosted by us – put a Deno module in
ispis/service.ts(or setservice.path); 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
ispis.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