Requesting an Integration Service
If you are building a digital service that needs to access, publish or exchange probation data, this page explains how we work with you from the initial request through to live support.
Who we are
The Probation Integration (PI) team sits within the Platform function of MoJ Digital Probation and manages a portfolio of integration initiatives, spanning:
- Integration with the National Delius probation case management system
- Platform integration services, including probation search
- HMPPS domain events and data services, including tiering
How we integrate
A probation integration service typically provides an anti-corruption layer that connects your HMPPS digital or domain service to National Delius, the central probation case management system. This layer helps define a meaningful domain and responsibility boundary that enables us to provide a stable, well-defined interface for your service to interact with the data it needs.
Most integrations involve a combination of the following capabilities:
- Reading Data: Providing REST API endpoints to read existing probation data in the format your service needs.
- Writing Data: Consuming HMPPS Domain Event messages to map and write data back to National Delius asynchronously.
Every digital service receives its own dedicated integration - they are not shared between clients. This allows us to build integrations that are tailored to the specific needs of each team.
Engagement model
All new integration requests follow a structured front-door and delivery model. This ensures fair, proportionate, and risk-led sequencing of integration work across services and programmes.
Submitting a request does not guarantee delivery capacity. Work is assessed and sequenced alongside other active demand.
Prioritisation
Prioritisation decisions are made across the broader portfolio, balancing:
- Risk and operational impact
- Strategic alignment
- Delivery complexity
- Available capacity and sequencing constraints
This ensures effort is focused where it delivers the greatest operational value and risk reduction.
Roadmap
Here is the typical roadmap for working with us, from initial request to production. Timescales vary depending on the complexity of the integration, but we aim to move as quickly as possible.
1. Initial Request & Triage
All new requests begin with completion of the Integration Request Form:
https://dsdmoj.atlassian.net/jira/software/c/projects/PI/form/5050
Need help submitting a request?
If you are unable to access the above Jira form or require support completing it, contact the team on Slack at #probation-integration and we will help you.
We will work with you to ensure we have the correct information to triage the request. This helps us align our teams and set expectations early.
Once the request is submitted, we will assess it using the following process.
Gate 1 – Initial Triage
This stage captures:
- Service and programme context
- Problem statement and intended outcome
- High-level integration type
- Systems involved
- Risk, urgency, and constraints
- Service readiness
During triage, we determine:
- Is this integration work and are we the appropriate team?
- Is the request sufficiently defined?
- Is there operational, security, or compliance risk?
- Is the service ready to proceed?
- Does the request align to recognised priorities?
Following triage, the request will be:
- Progressed to structured assessment
- Held pending further clarity or readiness
- Backlogged for future consideration
- Redirected to another team
Only requests that pass this gate move forward.
Gate 2 – Prioritisation & Sequencing
If progressed, we will establish collaborative engagement with the requesting team. This may include structured scoping sessions involving Business Analysts and Technical Architects.
This stage clarifies:
- Scope and integration type
- Dependencies and constraints
- Delivery complexity and impact
- Data and security considerations
- Relative priority compared to other active commitments
Following a structured assessment, we determine:
- Whether the work proceeds
- The appropriate level of involvement
- Relative priority
- Sequencing into the roadmap
2. Ongoing communication
Once the work has been reviewed by our team and prioritised, we will set up ongoing communication between our teams:
- Slack: We will create a shared Slack channel (for example,
#topic-pi-<your-project>) for day-to-day questions and dev support. - Weekly Catch-up (Optional): During the active design and development phases, we may schedule a weekly catch-up call to discuss changes to requirements, unblock any issues and track progress.
3. Design
Technical contracts and integration patterns are agreed before development begins:
- APIs: We define the endpoints, request parameters, and response structures for any data you need to read.
- Events: You define the domain event type that your service will publish. You may also need to build APIs to enable sharing of sensitive data - see Handling sensitive data.
Once the design has been agreed, we will add stories to our Jira board under a single epic.
4. Development
We build or extend the integration service and deploy it to the dev and preprod environments
(see Environments).
Once ready, your service can begin integration testing.
If you spot any issues or need any changes, get in touch on Slack - we are happy to help!
5. Testing
See End-to-end testing.
Our team will build an automated smoke test to validate the end-to-end user journey.
This validates the integration layer but does not replace your service’s functional or user testing.
To support our testing, we may ask you to grant permissions for our test user accounts to access your dev environment.
Your team is responsible for functional testing and validation of your service, including:
- Functional testing
- Data verification
- Environment validation
Additional teams may need to perform testing, depending on the impact on other systems.
6. Go Live
Following validation, the integration is deployed to production ready for you to start using it.
Support
We will keep your dedicated Slack topic channel open for 3 months after your go-live to discuss any ongoing questions, troubleshooting, or future enhancements.
After this time we will archive the channel, and any further support requests should be directed to #probation-integration.
Monitoring
We continuously monitor the integration services and will be alerted of any exceptions. We will proactively investigate and resolve issues, keeping you informed of any significant incidents.
If you notice any issues from your side, please reach out on Slack.
Roles and responsibilities
Probation Integration Team
- Provide integration and domain modelling guidance
- Build and maintain integration services
- Define API access and authorisation requirements
- Manage connections to probation data stores
Service Team
- Define product and domain requirements
- Validate user needs and outcomes
- Consume agreed APIs and publish events where applicable
- Participate in testing and validation
- Retain ownership of data stored within their service