Data object templates
Start a data object from one of SPARK's 50 ready-made templates, from funds and share classes to NAVs, trades and analytics signals, on the Data page or by asking an agent.
A template is a ready-made data object: its name and icon, its attributes, the links to the objects it relates to, and how its records are named and kept unique. SPARK ships 50 of them for investment operations, from funds, sub-funds and share classes to NAVs, positions, trades and the results of NGT's analytics. Starting from one saves you building a common structure by hand, and keeps related objects consistent with each other. You can create from a template on the Data page, or ask an agent to do it.
Create from a template
- Open the Data page: in the sidebar's Ecosystem tab (⌘⇧E), click Data (if it is folded away, click More first). The same list is in Settings › Features › Data Objects.
- Click the arrow beside New (its tooltip reads More ways to create), then Create from template.
- Choose data object templates opens on its Templates step, with the templates in their groups. To find one, type in the search field above the list: it matches names and descriptions.
- Tick the checkbox of each template you want. Click a template's name to preview it on the right (below).
- Click Next. On the Dependencies step, decide what happens to each object your templates link to, and if you need to, to single fields. Change selection or Back takes you back to your selection.
- Click Create N data objects. The button counts the objects it will create, and the footer adds how many it links to objects you already have.
You can pick several templates at once, and each becomes its own data object. A group folds when you click its name, and the button beside the search folds them all (Collapse all) or opens them again (Expand all). A search opens every group it finds something in.
What the preview shows
Clicking a template's name shows it on the right without ticking it:
- what the template holds, in a sentence or two;
- Dependencies: every template it links to, directly or through another one. The next step asks what to do about each;
- Attributes, with each one's type and what it means. An attribute that links to another template shows that template's name instead of a type.
Choose what happens to each dependency
The Dependencies step keeps your selection at the top, then lists every object your templates link to. Open the selector beside each and pick one:
- Create new, named after the dependency (for example Create new Share Class): creates it from its own template, alongside the ones you picked. A dependency your workspace has nothing for starts here.
- Link to a data object you already have (for example Link to Funds): the template's links point at that object instead of a second copy of it. A dependency your workspace already has an object of, made from the same template, starts on linking to it, so adding one template to a workspace that is already set up creates just that template. You can pick any data object, including one you built yourself; one with no attributes is listed with the reason and can't be picked. Once the workspace has more than 15 data objects, the list has a search field.
- Don’t create, keep as text: creates nothing for it. The attributes that would have linked to it become plain text fields, so their values still arrive, linked to nothing. You can't follow that relationship in views, filters and canvas widgets, so choose it only when you don't need the related object.
Linking or skipping a dependency also takes out what only it needed. Link Sub Fund to an object you already have, and Fund and Delegate, which only Sub Fund needed, are no longer created: their rows stay in the list, greyed, and come back if you switch Sub Fund back to creating.
Override where a field points
Dependencies are decided as a whole, but a single field doesn't have to follow. The Fields card below them is optional: it lists each data object about to be created, folded, with its number of fields. Open one to see every field, its type, and what it will be:
- A field that links to a dependency shows Follow and the dependency's name (for example Follow Sub Fund above): it points wherever you sent that dependency. Pick a data object to point this one field somewhere of its own. That matters when a template links to the same object for several reasons: a Fund's auditor, depositary, administrator and its other service providers all link to Delegate, and each can point at an object of its own.
- A plain field shows Keep as and its type (for example Keep as varchar). Pick a data object to turn it into a link the template didn't declare, such as an Investment Product's Currency pointing at your own object of currencies.
The types here are the template's own: varchar and text are text, double precision and the integers are numbers. The card's title counts the fields you have linked.
After creation
When you confirm, everything is created in one go: if one object can't be made, none is, and a dependency two templates share is created once. A message confirms how many objects were created (for example 3 data objects created from template), and you stay on the list of data objects, where the new ones appear in a group named after their template's group, such as Reference Data or Holdings. From there you can rename attributes, add your own and start adding records. See Create a data object and Add, edit & import records.
An object made from a template shows it on its General settings, in a Source row. Creating from the same template again gives you a second object: its slug, the name APIs use, ends with the date and time it was made.
Ask an agent to create one
Since v0.36.1, agents can create data objects from templates too. In a thread, ask an agent that can create data objects, such as the built-in Spark, for what you need ("a table for our share class NAVs") or name the template ("create the Event object from its template"). The agent:
- Looks for an object your workspace already has for it, and uses that one rather than proposing it again.
- Looks for a fitting template, and asks whether to create from it or from scratch.
- Reads the template and shows you, in one answer: its columns; what it links to, directly and through another object; which of your objects each link will point at; and, for each related object your workspace lacks, the choice: create it too, link to another object you have, or not relate it at all, so its link columns stay plain text. If you already have an object from that template, it says so and asks whether you want a second one.
- Ends that answer with one question, and never creates in the same turn.
- Creates the object on your reply, exactly as the template is, then makes any change you asked for, such as a renamed column or a plain column turned into a link. Required and unique fields, constraints, display settings, the group and the reference display are yours to change in the object's settings.
When you name the object and give its columns yourself, the agent builds it as you asked, and mentions a fitting template in a line at most.
The template catalogue
SPARK's 50 templates, in their nine groups, in the order the picker lists them. Links to names the templates each one links to directly; the picker's preview also lists the ones those link to in turn.
Reference Data
The static data everything else links to: funds, sub-funds and share classes, the instruments they hold, the firms that service them and the terms that apply.
| Template | What it holds | Links to |
|---|---|---|
| Balance Account | Accounting balance accounts and how they are classified | None |
| Delegate | Service providers and counterparties: administrators, investment managers, depositaries, auditors, custodians, limited partners | None |
| Fee Parameter | The fee schedule of a sub-fund or share class: management, performance, distribution and other fees, with their rates and payment frequency | Fund, Sub Fund, Share Class |
| Fund | Funds as umbrellas or legal vehicles, with their service providers | Delegate |
| Investment Product | Tradable instruments: identifiers, classification and terms | Share Class |
| Sub Fund | Portfolios however they are run: sub-funds, funds held directly, managed accounts, mandates; with strategy, currency and leverage | Fund, Delegate |
| Mandate Rule | Investment and regulatory limits for compliance monitoring: concentration limits, exposure caps, UCITS and AIFMD ratios | None |
| Person | A founder, executive or key contact at a company | Company |
| Share Class | The share classes of a sub-fund, with currency, hedging and distribution | Sub Fund |
Holdings
Day by day, what the funds hold and what it is worth, and the risks tracked on a company.
| Template | What it holds | Links to |
|---|---|---|
| Balance | Daily accounting balances per sub-fund, share class and balance account | Sub Fund, Share Class, Balance Account |
| Company Risk | A risk identified on a company, by hand or by a workflow, tracked to mitigation | Company |
| Fee | Daily fee accruals per sub-fund and share class | Sub Fund, Share Class, Fee Parameter |
| NAV Record | A sub-fund's NAV on each valuation date, in its base currency | Sub Fund |
| Portfolio Position | A sub-fund's holding of an instrument on a date: quantity, market value, price, FX rate, unrealized P&L | Sub Fund, Investment Product |
| Trade | Trades per sub-fund and instrument | Sub Fund, Investment Product, Delegate |
| Share Class Nav | Daily NAV per share class, with subscriptions, redemptions and dividends | Sub Fund, Share Class |
Transactions
Investors' commitments to private-markets funds.
| Template | What it holds | Links to |
|---|---|---|
| Capital Commitment | A limited partner's commitment to a private-markets sub-fund: amount, capital called, distributions, vintage and status | Sub Fund, Delegate |
Analytics
Where the analytics of NGT Tools write their results, one signal object each, and the Event that the Exception Framework raises from them.
| Template | What it holds | Links to |
|---|---|---|
| Contribution Analysis Signal | Contribution analysis results per instrument, leg and date | Sub Fund, Investment Product |
| Event | One exception-framework rule firing on one signal row: a breach, an off-terms period, a model or data-quality finding | Sub Fund, Share Class, Fees Analytics Signal, Performance Fees Signal, Share Class Evolution Signal |
| Fees Analytics Signal | Each fee's expected and reported accrual per NAV date, and the deviation between them | Fee Parameter, Sub Fund, Share Class |
| Independent Price Valuation Signal | Independent price checks per position and date | Sub Fund, Portfolio Position |
| Nowcasting Signal | Projected prices or returns and their bound breaches, per sub-fund and date | Sub Fund |
| Peer Benchmark Signal | Where a sub-fund's fees, returns, exposures and size sit in its peer group | Sub Fund |
| Peer Group | The peer funds selected for each sub-fund on each date, and how closely each matches | Sub Fund |
| Peers Analytics Signal | Peer-group return comparison per sub-fund and date | Sub Fund |
| Performance Fees Signal | The reported performance fee accrual against the bounds it should sit in, per share class and date | Share Class, Fee Parameter |
| Performance Metric | Daily returns and risk measures from the NAV series: volatility, drawdowns, Sharpe, Sortino, VaR | Sub Fund |
| Proxy Analytics Signal | Proxy-based NAV estimates and how closely they track, per sub-fund and date | Sub Fund |
| Share Class Evolution Signal | NAV-per-share return bounds and breaches, per share class and date | Share Class |
| Share Class FX Hedging Signal | FX hedging analysis per share class and date | Sub Fund, Share Class Nav |
| Sub Fund Accounting Signal | Account P&L and NAV movements per sub-fund and date | Sub Fund, Balance |
| TER Analytics Signal | Each share class's total expense ratio on each NAV date. See TER | Sub Fund, Share Class |
Deal Flow
A private-markets pipeline, from the companies you look at to the investment committee.
| Template | What it holds | Links to |
|---|---|---|
| Company | A company the fund evaluates and backs: sector, stage and team, then ownership, valuation and health once backed | None |
| Deal | An opportunity tracked from inbound to term sheet or pass | Company |
| Investment Memo | The investment committee memo for a deal: recommendation, proposed check size and key risks | Deal |
Metrics & Scores
What portfolio companies report, and how deals score.
| Template | What it holds | Links to |
|---|---|---|
| Company KPI | A periodic KPI snapshot a company reports, for health monitoring, runway analysis and risk detection | Company |
| Investment Score | A deal's scores out of 10 for team, market, product and traction, with an overall score and a recommendation | Deal |
Investor Relations
The limited partners in a fund, and what is reported to them.
| Template | What it holds | Links to |
|---|---|---|
| Capital Account | An LP's periodic capital account statement: commitment, called, distributed, NAV and multiples | LP |
| LP | A limited partner committed to a fund, with its commitment and primary contact | Fund |
| Portfolio Valuation | A periodic fair-value mark on a fund's position in a portfolio company, with its approval status | Fund |
Productivity
Day-to-day work, each item tracked to its end.
| Template | What it holds | Links to |
|---|---|---|
| Emails saved by the Save Emails step or an agent: who sent each to whom and when, its text, and its attachments, kept in Files | None | |
| Initiative | A workstream tracked to completion, such as a due-diligence project or a value-creation initiative | None |
| Meeting | A meeting or call with a company, from a founder's first call to a board meeting | Company |
| Reconciliation Break | Open and closed breaks across custody, administrator and prime-broker streams, with classification, age and owner | Sub Fund, Investment Product |
| Reporting Package | A quarterly LP reporting package and its production status, with its approval trail | Fund |
| Request | An inbound question or data request, with its priority and due date | None |
Extractions
What reading documents writes: the values and entities read from files.
| Template | What it holds | Links to |
|---|---|---|
| Document entity | Entities read from a document extraction, one value per row | Document extraction |
| Document extraction | Values read from files, one table cell or text block per row, with where it sits in the file and how sure the reader was | None |
| Parsed entity | The entities an AI parse read from a whole file, one per row | None |
| Parsed table value | The table values an AI parse read from a whole file, one per row | None |
The picker is always the source of truth: the set of templates grows over time.
Template versions
Each template carries a version, though the picker doesn't show it, and a template can change between releases as its analytics does. Recent ones:
| Template | Version | What changed |
|---|---|---|
| Fees Analytics Signal | 2.2.1 | Expected, observed and deviation columns per fee; the accrual deviation is a fraction of NAV |
| TER Analytics Signal | 1.0.1 | Each share class's total expense ratio (new in 1.0.0; see TER). 1.0.1 corrects two descriptions; the columns are unchanged |
| Performance Fees Signal | 4.0.0 | Bounds named <column>_lower_bound / _upper_bound, a breach flag, a carried balance |
| Share Class Evolution Signal | 1.0.1 | One row per share class and date; 1.0.1 adds Return distance outside bounds, how far a breaching NAV-per-share return is outside its range |
| Peer Group and Peer Benchmark Signal | 1.0.0 | New: a fund's peer roster, and where it sits among its peers |
| Event | 2.0.2 | New: one exception-framework rule firing on one signal row |
| Fee Parameter | 4.0.0 | Performance fee contract terms, including Fee Crystallization Frequency |
An object you created from an earlier version keeps the columns it was created with. To pick up a new version's columns, add them yourself on the object's Attributes tab, or create a fresh object from the template.
Where to go next
- Create a data object
- Attribute types
- Add, edit & import records
- Start a thread, to ask an agent