DocumentationScreening Batch screening from a spreadsheetCustomization Your own repository (crm.yaml)AI (MCP) AI assistant connector (MCP)
Your own repository (crm.yaml)available after activation
Custom buttons on cases and files (customActions) and template variables
filled from your systems (templateCustomVariables) live in a file crm.yaml
in your own git repository. We connect the repository with a read-only
deploy key; a GitHub webhook pulls it after every push and validates the file.
Set it up in Settings → Advanced → Your own repository. The connection is
available after activation, write to us.
crm.yaml
customActions:
- id: TransferToCollection
title: Transfer to external collection
domain: case # case | file | person | claim | paid | txn
type: Remote # Remote = your URL, Core = built-in action
url: https://crm.example.com/ispis/transfer?refno=
templateCustomVariables:
- id: Loan # used as [% Loan %] in templates
url: https://crm.example.com/ispis/loan?refno=
For Remote actions iSpis appends refno= (case, person) or peId= (file)
to the URL and shows the response (text, link or file). Template variables are
fetched with GET when the template is rendered. The JSON schema is at
crm-schema.json; validate locally with
yajsv -s crm-schema.json crm.yaml.
Rules
- Custom data on a case or person is key → value (string). A structured value
goes under a key with the suffix
JSON, stored as a JSON string. config.yamlin the same repository belongs to the Loan module; oncecrm.yamlexists, CRM keys inconfig.yamlare ignored.- Outgoing webhooks (case created, screening finished, inbox message) and further events are available after activation.
Source: src/core/crm/crm.docs.md