← DocumentationDocumentation

Skalp AI ticket lifecycle

From submission to production merge: understand the 5 stages of a Dynamics 365 F&O ticket, SLAs, and the pay-per-result billing model.

Anatomy of a Skalp AI ticket

A Skalp AI ticket represents an atomic unit of Dynamics 365 F&O development — typically between 10 and 300 lines of X++ code, delivered as a Pull Request on your Azure DevOps repo.

A good ticket describes a single functional or technical change: add a field, create a class, expose an OData service, generate an SSRS report. If your need covers multiple independent objects, split it into several tickets — each at €200.

Each ticket has an Azure DevOps Boards reference (work item) tracking its lifecycle: Submitted → In Progress → In Review → Merged or Dropped. This reference is used for billing and audit.

The 5 lifecycle stages

A Skalp AI ticket goes through 5 clearly separated stages. Each stage has a trigger and a precise deliverable — no gray area.

1

1. Submitted — Ticket submitted

You create the ticket via the Skalp AI form or directly on Azure DevOps Boards. Required fields: title, functional description, target D365 module, extension model, priority. The ticket enters the AI queue.

2

2. In Progress — AI generation

Skalp AI analyzes your repo (conventions, models, existing extensions), generates X++ code, SysTest tests and documentation. Typical duration: 30 min to a few hours depending on complexity.

3

3. In Review — Pull Request opened

A Pull Request is opened on your Azure DevOps repo with generated code, tests, documentation and a summary comment. You receive a notification (email + optional Teams).

4

4a. Merged — Validated delivery

Your D365 lead reviews, validates and merges the PR. Webhook triggers billing: the ticket moves to Done status with merge date recorded. €200 ex-VAT billed on the monthly invoice.

5

4b. Dropped — Ticket abandoned

If the PR fails your review after 2-3 iterations, or if the SLA deadline is exceeded, or if the scope turns out to be out of perimeter, the ticket is requalified and moves to Dropped status. No billing.

SLA and lead times by ticket type

Lead times are business hours (Monday to Friday, excluding French public holidays). If the target lead time is exceeded, the ticket is automatically requalified or dropped without billing.

Ticket typeTarget SLAExamples
Simple extension24 hTable extension, basic event handler, conditional required field
Standard development48 hX++ business-logic class, custom workflow, OData service, SSRS report
Multi-object72 hWorkflow + service + linked report, multi-module integration, DevOps pipeline
ExploratoryOn scopingUnscoped topic, multi-module dependencies, partial redesign

Criteria of a good ticket

The clearer your ticket, the faster the delivery and the more aligned with your expectations. Here are best practices observed with our first clients.

  • One functional change per ticket. If you have 3 distinct needs, submit 3 tickets — they can be processed in parallel.
  • Description in 5-10 lines maximum. No spec, no email copy. Just: what, where, in which context, expected behavior.
  • D365 module and target extension model explicitly stated. Avoids ambiguity on where the code should land.
  • If a complex business rule is involved, attach 2-3 concrete use-case examples (expected inputs / outputs).
  • Reference D365 screens by their official name (CustTable, VendInvoice, PurchOrder) rather than user label, to avoid translation ambiguity.
  • If you have in-house guidelines (naming conventions, class format, extension structure), link them via a README in your repo.

What happens on failure

The Skalp AI model is explicitly asymmetric: we carry the failure risk, not you. If for any reason the ticket does not succeed, no fee is billed.

Three main failure scenarios:

1. Pull Request review refusal — You comment the PR with adjustments needed. Skalp AI produces a new version within 24 h. If after 3 iterations the ticket still does not meet your quality bar, it is marked Dropped, no billing.

2. SLA overrun — If the target lead time (24 h, 48 h or 72 h depending on type) is exceeded, you are notified. You can choose to wait a few more hours or mark the ticket Dropped. Either way, if no merge happens within the next 7 days, the ticket is auto-requalified.

3. Out-of-scope perimeter — Some topics fall outside Skalp AI scope: Microsoft core code modifications (over-layering forbidden), pure advisory without code deliverable, organizational transformation missions. In those cases, the ticket is requalified during initial analysis, no wasted time for you.

Frequently asked questions

Can I edit a ticket after submission?

Yes, as long as the ticket is in Submitted status (before AI generation starts). Once in In Progress, better to comment the PR on open to ask for adjustments — it counts as the first review iteration.

How do I mark a ticket as priority?

The Priority field in Azure DevOps Boards is read by Skalp AI. Critical and High priorities go to the fast queue (SLA halved when capacity allows). Normal and Low priorities follow standard SLA.

How many iterations are included in the price?

The €200 price covers initial generation + up to 3 revision iterations on Pull Request comments. Beyond, the ticket is requalified as "topic to rescope" and resubmitted or dropped — still no extra billing.

What if I want an urgent ticket (24 h on a normally 48 h topic)?

You can request Critical priority with business justification. Skalp AI does its best but does not guarantee the accelerated lead time (depends on AI queue and complexity). No surcharge for the urgency request; no contractual commitment either.

How do I see the history of resolved tickets?

In your Skalp AI dashboard → Tickets, you have the list of all tickets with status, merge date, billed amount. Filters by D365 module, by month, by validating lead. CSV export for your audits or governance.

A question about your specific case?

Submit your first ticket to calibrate the flow on a low-risk topic.

Join the waitlist