Lucy™

Platform — Goalplan

Integrations — built to read your systems, not become one of them

This is the page for your integration lead: transport paths, authentication, field requirements, responsibilities and what happens when something fails.

Currently integrated

Heads logoSitoo logoClaris logoDigrad logoFlex HRM logoPlanday logoViametrics logo
Microsoft Dynamics NAV

Beyond the above, customer-specific integrations run in production against contact-centre reporting platforms, staff master files and internal data hubs, among others. We list only what is deployed — not a generic connector catalogue.

How every integration works

Each data source is defined as its own integration definition with three parts: a transport (REST pull, SFTP file, or push from your system to a Goalplan endpoint), a schedule and a source-specific parser. Every run is written to an execution log — there is always an answer to “did yesterday's data arrive, and how many rows?”.

Source-system categories

TypeExamplesData inSheet
POSCloud POS with a REST API; ERP-based POS with a scheduled exportTransactions, line items, outlet, seller↓
Contact centrePlatform reporting APIs; consolidated reporting layersVolume, handling time, after-call work, transfers, satisfaction↓
Internal data hub / in-house APICustomer-specificAny of the above, already consolidated↓
Employee & org dataScheduled structured file from HR or ITPeople, roles, org tree, competence↓
E-commerceA channel flag inside the sales feedOnline sales attributed per outlet↓
Supplementary measurementFootfall counters, survey tools, upstream-calculated commissionVisits, satisfaction, bonus outcomes↓

Your system does not need to appear by name. What determines whether we can read it is how it exposes data — not what it is called. Find the pattern that matches yours and the sheet below tells you what the integration requires.

Integration sheets

Each sheet answers the same questions: minimum field set, update cadence, authentication method, who does what, and typical time to first data load.

POS

Minimum field set

Transaction ID, timestamp, store/cost centre, seller ID, article/category, amount. Everything beyond that enriches but is not required.

Update cadence

Per source, typically from every 15 minutes to daily. Set by the source's capability and your need — not by our convenience.

Authentication

API key, OAuth or SFTP key — whatever your source system supports. One set of credentials per source, rotatable.

Who does what

You are responsible for access and field definitions in the source. We are responsible for transport, parser, validation and operations. Identity mapping is decided jointly.

Contact centre

Minimum field set

Agent ID, time period, case volume and the outcome measures you already steer on (e.g. AHT, FCR, NPS per agent).

Update cadence

Per source, typically from every 15 minutes to daily. Set by the source's capability and your need — not by our convenience.

Authentication

API key, OAuth or SFTP key — whatever your source system supports. One set of credentials per source, rotatable.

Who does what

You are responsible for access and field definitions in the source. We are responsible for transport, parser, validation and operations. Identity mapping is decided jointly.

Internal data hub / in-house API

Where an organisation has already consolidated its operational data behind an internal hub or in-house API, we consume that hub directly. You have solved the hard part — reconciling systems into consistent semantics — and the architecture phase is correspondingly short.

Minimum field set

Defined per feed with the hub owner, because a hub exposes what your organisation has chosen to model. In production we run fourteen separate feeds from a single hub, covering users and organisational structure, targets at both team and individual level, sales transactions intraday and end-of-day, contact and handling data, satisfaction results, and commission calculated upstream.

Update cadence

Per source, typically from every 15 minutes to daily. Set by the source's capability and your need — not by our convenience.

Authentication

API key, OAuth or SFTP key — whatever your source system supports. One set of credentials per source, rotatable.

Who does what

You are responsible for access and field definitions in the source. We are responsible for transport, parser, validation and operations. Identity mapping is decided jointly.

Time to first data load

Shortest of all categories where the hub is documented. Where an organisation has no hub, we can take the integrator role and consolidate multiple sources ourselves — that is a larger engagement and we scope it as one.

Employee & org data

Minimum field set

Employee ID · name · email · role · team · org unit · competence or skill · active status. Email is normally the join key against POS and contact-centre identifiers.

Update cadence

Per source, typically from every 15 minutes to daily. Set by the source's capability and your need — not by our convenience.

Authentication

API key, OAuth or SFTP key — whatever your source system supports. One set of credentials per source, rotatable.

Who does what

You are responsible for access and field definitions in the source. We are responsible for transport, parser, validation and operations. Identity mapping is decided jointly.

Time to first data load

Fast. The work is agreeing the file contract, not building a connector.

E-commerce

Minimum field set

The sales field set, plus a web-order reference or channel flag on the transaction — typically one additional column in an export you already produce.

Online sales are handled as a dimension inside the sales feed rather than as a separate connector. Rows carrying a web-order reference are attributed both to the outlet that generated the sale and to a dedicated online unit, producing separate online KPIs without a second integration.

Update cadence

Per source, typically from every 15 minutes to daily. Set by the source's capability and your need — not by our convenience.

Authentication

API key, OAuth or SFTP key — whatever your source system supports. One set of credentials per source, rotatable.

Who does what

You are responsible for access and field definitions in the source. We are responsible for transport, parser, validation and operations. Identity mapping is decided jointly.

Time to first data load

Days rather than weeks, because no new connection is created.

Supplementary measurement

Minimum field set

Footfall counts, commission and bonus outcomes calculated upstream, trade-in and accessory data. Each row needs the key that ties it to a unit or a person — usually email or an outlet ID.

Update cadence

Per source, typically from every 15 minutes to daily. Set by the source's capability and your need — not by our convenience.

Authentication

API key, OAuth or SFTP key — whatever your source system supports. One set of credentials per source, rotatable.

Who does what

You are responsible for access and field definitions in the source. We are responsible for transport, parser, validation and operations. Identity mapping is decided jointly.

Time to first data load

Usually the fastest of all, because the field set is narrow.

What happens when a feed breaks

Integrations break. The question is not whether, but how quickly someone notices and who does what next. These are the five modes we see most often, and exactly what happens in each.

The source returns errors or stops responding mid-day. The feed halts and the day's figures stop moving.

The pull retries on schedule, the run is logged as failed and the data gap is visible — Goalplan never silently interpolates numbers.

The pipeline is green end to end but the payload is empty. Every value zero. A status check sees nothing wrong.

The run is flagged; previous data is kept intact. An empty file never overwrites yesterday's truth.

An identifier changes upstream — a new cost centre, a renamed unit. On re-fetch, new rows are created instead of existing ones being updated, and figures double.

Rows that cannot be matched are quarantined for mapping review instead of being guessed onto the wrong person.

A value is missing from configuration — a new queue, a new cost centre. Data lands in the wrong branch of the org tree, silently, and the KPI looks broken when the fault is a mapping.

The import halts for the affected part and the failure is logged with a cause — better a clear stop than wrong numbers in the app.

A scheduled job in your own system stalls. No data leaves your side, so there is nothing for us to collect.

The execution log shows the last successful run per source, making stalled deliveries detectable the same day.

None of this is hypothetical. Every mode above is one we have hit in production, diagnosed, and built a control for.

Last verified: 2026-08-11. This page is updated when the facts change — not the other way around.