ServiceNow ITSM → Workload (REST v1)

Pas un connecteur Marketplace. Pas un write ITSM. Table API optionnelle en lecture (change/demande approuvé → projet Workload existant). Gardez incidents, changes et CMDB dans ServiceNow. Mettez les allocations nommées dans Workload via l’API REST v1 déjà shippée.

Scopes et chemins : docs/openapi/v1.yaml (TeamMembers, Allocations, Timesheet).

Scopes OpenAPI v1

  • POST /api/v1/team-membersteam-members:write
  • GET /api/v1/team-membersteam-members:read
  • POST /api/v1/allocationsallocations:write
  • GET /api/v1/allocationsallocations:read
  • GET /api/v1/timesheet-entriestimesheet:read

Recette A — CSV (sans IntegrationHub)

  1. Exporter depuis ServiceNow les personnes (sys_user / groupe) : nom, email, rôle.
  2. Créer les membres via POST /api/v1/team-members (ou l’import CSV Workload existant).
  3. Pour un change / demande approuvé — pas un incident — identifier le projet Workload à la main, puis POST /api/v1/allocations avec notes = numéro SN (CHG0012345).
  4. Relier un timesheet natif (Tempo / Azure / Toggl / Clockify / CSV). Le pack /dashboard/ops propose les écarts — un humain vote.

Recette B — IntegrationHub (REST Message)

Exemple Flow Designer : le Change Request passe à closed / approved. REST Message POST membre (stocker u_workload_member_id sur le sys_user). REST Message POST allocation sur un projectId Workload saisi sur le change (u_workload_project_id, humain — jamais dérivé d’un incident). Stocker u_workload_allocation_id pour ne pas dupliquer.

POST /team-members

curl -X POST https://api.workload.com/api/v1/team-members \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Alice Martin","email":"alice@example.com","role":"Developer","level":"SENIOR","capacity":20}'

POST /allocations

curl -X POST https://api.workload.com/api/v1/allocations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"WORKLOAD_PROJECT_ID","teamMemberId":"WORKLOAD_MEMBER_ID","allocationType":"SOFT","days":5,"notes":"SN CHG0012345"}'

Interdit

Workload ne devient pas un mini-ITSM.

  • Incident → projet automatique. Duplique la file run. Le projet se crée à la main (ou depuis un change approuvé, mapping humain).
  • CI CMDB → équipe automatique. La CMDB n’est pas l’org capacité. Les équipes se gèrent dans Workload.
  • Incident unitaire → une allocation. L’allocation est nommée 8–12 semaines, pas un ticket.
  • Workload → write ITSM (Table API / insert incident / CMDB). Lecture seule. Sens unique : SN (demande/change) → mapping projet existant. S8 pousse un brouillon dans le pack HITL ; apply seulement après Approuver.
  • Connecteur Marketplace comme disponibilité. N’existe pas. La Table API opt-in est en lecture (change/demand), jamais un write ITSM, jamais Marketplace.

Gardez ServiceNow. Mettez la capacité dans WorkloadDocumentation API REST