wulf-pulse/dev/analyzer-fixture/T20260424.0045.live.json
lorentz 8f8b5ab7be feat: AI ticket analyzer (phases 1-6)
Multi-stage LLM pipeline that produces structured analyses of Autotask
tickets from local Postgres. Migration 069 + Zod schemas, Stage 0
preprocessor, IT Glue redaction + search, Anthropic SDK wrapper, Stages
1/3/4 (Haiku/Sonnet/Opus), pipeline + cost circuit breaker, job worker
(opt-in autostart), 6 API routes, 3 frontend pages, share-row
persistence (email send deferred to phase 7). 128 vitest tests, tsc
clean. Build journal in docs/wulf-pulse-ticket-analyzer-build-notes.md.

Sync: adds syncTicketNotes() + ticket_notes to ordered/date-filtered
entities so the analyzer's local mirror stays current via scheduler.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 10:59:40 -04:00

375 lines
No EOL
27 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"ticket": {
"id": 680282,
"apiVendorID": null,
"assignedResourceID": 30861443,
"assignedResourceRoleID": 29780072,
"billingCodeID": null,
"changeApprovalBoard": null,
"changeApprovalStatus": null,
"changeApprovalType": null,
"changeInfoField1": "",
"changeInfoField2": "",
"changeInfoField3": "",
"changeInfoField4": "",
"changeInfoField5": "",
"companyID": 29683407,
"companyLocationID": 21,
"completedByResourceID": null,
"completedDate": null,
"configurationItemID": null,
"contactID": 31864346,
"contractID": 29863002,
"contractServiceBundleID": null,
"contractServiceID": null,
"createDate": "2026-04-24T12:53:50.163Z",
"createdByContactID": null,
"creatorResourceID": 30861463,
"creatorType": 1,
"currentServiceThermometerRating": null,
"description": "Requestor: Lorentz Hinrichsen (forwarded from Tyler Lyster / Seubert; cc Kristie Lulich, Richard Mansfield)\n\nSummary:\nRequest to add/setup vendor integration for Outmarket AI and provide required connection details for AMS360 and ImageRight to enable an integration trial.\n\nIssue Details:\n- AMS360 required details: Agency Number, App Access Key.\n- ImageRight required details: Base URL, Tenant ID, admin username, admin password.\n- Key question: Determine whether provided credentials/API key allow create/update/delete (write) access or are read-only, as access level depends on permissions tied to the AMS360 integration key/user and the ImageRight account/role.\n\nUser/System Information:\n- Requestor contact: Lorentz Hinrichsen (contactID: 31864346).\n- Vendor: Outmarket AI integration trial.\n- Affected systems: AMS360 (integration key/app access) and ImageRight (tenant/URL/credentials).\n\nAdditional Context:\n- Ticket opened for research and validation of where AMS360 App Access Key is managed, the security context/permissions of the AMS360 integration account, and confirmation of ImageRight Base URL/Tenant and required credential scope.\n- No configuration item specified.",
"dueDateTime": "2026-04-24T13:53:00.000Z",
"estimatedHours": null,
"externalID": "",
"firstResponseAssignedResourceID": 30861463,
"firstResponseDateTime": "2026-04-24T12:53:50.163Z",
"firstResponseDueDateTime": "2026-04-24T13:08:50.163Z",
"firstResponseInitiatingResourceID": 30861463,
"hoursToBeScheduled": null,
"impersonatorCreatorResourceID": null,
"isAssignedToComanaged": false,
"issueType": 46,
"isVisibleToComanaged": true,
"lastActivityDate": "2026-04-29T13:09:58.070Z",
"lastActivityPersonType": 1,
"lastActivityResourceID": 30861443,
"lastCustomerNotificationDateTime": "2026-04-27T16:05:25.870Z",
"lastCustomerVisibleActivityDateTime": "2026-04-29T13:09:58.070Z",
"lastTrackedModificationDateTime": "2026-04-29T13:07:52.780Z",
"monitorID": null,
"monitorTypeID": null,
"opportunityID": null,
"organizationalLevelAssociationID": null,
"previousServiceThermometerRating": null,
"priority": 8,
"problemTicketId": null,
"projectID": null,
"purchaseOrderNumber": "",
"queueID": 29682969,
"resolution": "",
"resolutionPlanDateTime": "2026-04-24T14:21:00.000Z",
"resolutionPlanDueDateTime": "2026-04-24T13:23:50.163Z",
"resolvedDateTime": null,
"resolvedDueDateTime": null,
"rmaStatus": null,
"rmaType": null,
"rmmAlertID": null,
"serviceLevelAgreementHasBeenMet": null,
"serviceLevelAgreementID": 9,
"serviceLevelAgreementPausedNextEventHours": 14.3043,
"serviceThermometerTemperature": null,
"source": -2,
"status": 7,
"subIssueType": 767,
"ticketCategory": 155,
"ticketNumber": "T20260424.0045",
"ticketType": 1,
"title": "Outmarket AI vendor integration request — AMS360 App Access Key & ImageRight credentials (verify access level)",
"userDefinedFields": []
},
"notes": [
{
"id": 33738631,
"createDateTime": "2026-04-24T12:54:07.497Z",
"createdByContactID": null,
"creatorResourceID": 4,
"description": "When a ticket is:\r\nCreated\r\nAnd the following conditions are met:\r\nTicket Type not equal to \"Alert\"\r\nUDF (Company): Client Service Model not equal to \"Co-Managed (Our Autotask)\"\r\nTicket Category in list \"Ticket Triage or Service Desk\"\r\nQueue not equal to \"Post Sale\"\r\nThen execute the following actions:\r\nSend notification e-mail (2026 - Wulf Consulting Support Request Received) to Ticket Contact (tlyster@seubert.com)\r\nInitiated by Cory Houck",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-24T12:54:07.497Z",
"noteType": 13,
"publish": 1,
"ticketID": 680282,
"title": "Workflow Rule \"Wulf Managed - New ticket confirmation to 'Ticket Contact'\" fired."
},
{
"id": 33738632,
"createDateTime": "2026-04-24T12:54:07.643Z",
"createdByContactID": null,
"creatorResourceID": 4,
"description": "When a ticket is:\r\nCreated\r\nAnd the following conditions are met:\r\nUDF (Contact): VIP Contact equal to \"Yes\"\r\nTicket Type not equal to \"Alert\"\r\nQueue in list \"Client Triage or Level 1 Support or Level 2 Support or Level 3 Support\"\r\nPriority not equal to \"Fast Track\"\r\nThen execute the following actions:\r\nSet Priority To \"Fast Track\"\r\nInitiated by Cory Houck",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-24T12:54:07.643Z",
"noteType": 13,
"publish": 1,
"ticketID": 680282,
"title": "Workflow Rule \"Wulf - New VIP contact tickets sent to Fast Track\" fired."
},
{
"id": 33738633,
"createDateTime": "2026-04-24T12:54:07.923Z",
"createdByContactID": null,
"creatorResourceID": 4,
"description": "When a ticket is:\r\nCreated\r\nAnd the following conditions are met:\r\nPriority equal to \"Fast Track\"\r\nStatus not equal to \"Complete\"\r\nTicket Category in list \"Service Desk\"\r\nThen execute the following actions:\r\nAssign To Queue \"Level 2 Support\"\r\nSet Service Level Agreement As \"Service Desk - Standard SLA\"\r\nSend notification e-mail (WulfNotify- Fast Track) to 3f7be19e.wulfconsulting.com@amer.teams.ms; 98b286b7.wulfconsulting.com@amer.teams.ms; Triage, FastTrack, & On-Call (cimler@wulfconsulting.com, cory.houck@wulfconsulting.com, Darrius.Jones@wulfconsulting.com, david.bauer@wulfconsulting.com, dbucci@wulfconsulting.com, evan.life@wulfconsulting.com, james.hubbard@wulfconsulting.com, jer15202@hotmail.com, jeremy@wulfconsulting.com, sean.glenn@wulfconsulting.com)\r\nInitiated by Cory Houck",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-24T12:54:07.923Z",
"noteType": 13,
"publish": 1,
"ticketID": 680282,
"title": "Workflow Rule \"Wulf - New Fast Track Ticket\" fired."
},
{
"id": 33738634,
"createDateTime": "2026-04-24T12:54:08.170Z",
"createdByContactID": null,
"creatorResourceID": 4,
"description": "When a ticket is:\r\nEdited\r\nAnd the following conditions are met:\r\nPriority changed to \"Fast Track\"\r\nStatus not equal to \"Complete\"\r\nTicket Category equal to \"Service Desk\"\r\nThen execute the following actions:\r\nAssign To Queue \"Level 2 Support\"\r\nSet Service Level Agreement As \"Service Desk - Standard SLA\"\r\nSend notification e-mail (WulfNotify- Fast Track) to 3f7be19e.wulfconsulting.com@amer.teams.ms; 98b286b7.wulfconsulting.com@amer.teams.ms; Triage, FastTrack, & On-Call (cimler@wulfconsulting.com, cory.houck@wulfconsulting.com, Darrius.Jones@wulfconsulting.com, david.bauer@wulfconsulting.com, dbucci@wulfconsulting.com, evan.life@wulfconsulting.com, james.hubbard@wulfconsulting.com, jer15202@hotmail.com, jeremy@wulfconsulting.com, sean.glenn@wulfconsulting.com)\r\nInitiated by Cory Houck",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-24T12:54:08.170Z",
"noteType": 13,
"publish": 1,
"ticketID": 680282,
"title": "Workflow Rule \"Wulf - Sent to Fast Track Ticket\" fired."
},
{
"id": 33738776,
"createDateTime": "2026-04-24T14:22:36.230Z",
"createdByContactID": null,
"creatorResourceID": 30861463,
"description": "tlyster@seubert.com, klulich@seubert.com, rmansfield@seubert.com, lorentz@wulfconsulting.com",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-24T14:22:36.230Z",
"noteType": 2,
"publish": 4,
"ticketID": 680282,
"title": "Service Desk Notification"
},
{
"id": 33738796,
"createDateTime": "2026-04-24T14:34:46.583Z",
"createdByContactID": null,
"creatorResourceID": 29683311,
"description": "Cory,\r\n\r\nI was able to accessthe Vertafore Developer portal and determine what is necessary - no need to reach out to Vertafore. Ill take it from here, thank you!\r\n\r\nLorentz\r\n\r\nFrom: Wulf Consulting Support <support@wulfconsulting.com>\r\nDate: Friday, April 24, 2026 at 10:22?AM\r\nTo: Lorentz W. Hinrichsen <lorentz@wulfconsulting.com>; rmansfield@seubert.com <rmansfield@seubert.com>; klulich@seubert.com <klulich@seubert.com>; tlyster@seubert.com <tlyster@seubert.com>\r\nSubject: Wulf Support Ticket Update - T20260424.0045\r\n\r\n[Wulf Consulting]\r\nUpdate on Your Support Ticket\r\nHello Tyler, here is the latest update regarding your support ticket.\r\nTicket Number: T20260424.0045\r\nStatus: In Progress\r\nTitle: Outmarket AI vendor integration request — AMS360 App Access Key & ImageRight credentials (verify access level)\r\nAssigned Technician: Cory Houck\r\nLatest Update\r\nAll,\r\n\r\nIve been researching the AMS360/VSSO side and Im not seeing an existing dedicated service/integration account available to use for this connection. My next step is to contact Vertafore Support and open a case to confirm the recommended setup and what level of access the App Access Key provides.\r\n\r\nIll follow up as soon as I hear back from Vertafore.\r\n\r\nThanks,\r\nCory\r\n\r\n\r\nIf you have any questions or additional information to share, please reply directly to this email and your response will be added to the ticket automatically.\r\nThank you,\r\n\r\nWulf Consulting Service Desk\r\n412-224-6200 | Option 1 for Support\r\nPlease select a rating below to share feedback on this update.\r\n<https://web.crewhu.com/#/survey?crewhu_id=65cfa4d2fb765076d791ff94&dummyLink=680282>\r\n\r\n[https://be.crewhu.com/external/v1/snippet/image?company=65cfa4d2fb765076d791ff94&rating=5&custom_code=]<https://web.crewhu.com/#/survey?v=f.45b8bd9&crewhu_id=65cfa4d2fb765076d791ff94&survey_type_code=typReply&custom_code=&rating=5&partner_key=680282&ticket_num=T20260424.0045&survey_salt=&employees_ids=CoryHouck&customer_id=29683407&contact_email=tlyster@seubert.com&contact_first_name=Tyler&contact_last_name=Lyster&contact_phone=412-734-4900&customer_name=Seubert%20and%20Associates&summary=Outmarket%20AI%20vendor%20integration%20request%20—%20AMS360%20App%20Access%20Key%20&%20ImageRight%20credentials%20(verify%20access%20level)&end=true> [https://be.crewhu.com/external/v1/snippet/image?company=65cfa4d2fb765076d791ff94&rating=0&custom_code=] <https://web.crewhu.com/#/survey?v=f.45b8bd9&crewhu_id=65cfa4d2fb765076d791ff94&survey_type_code=typReply&custom_code=&rating=0&partner_key=680282&ticket_num=T20260424.0045&survey_salt=&employees_ids=CoryHouck&customer_id=29683407&contact_email=tlyster@seubert.com&contact_first_name=Tyler&contact_last_name=Lyster&contact_phone=412-734-4900&customer_name=Seubert%20and%20Associates&summary=Outmarket%20AI%20vendor%20integration%20request%20—%20AMS360%20App%20Access%20Key%20&%20ImageRight%20credentials%20(verify%20access%20level)&end=true> [https://be.crewhu.com/external/v1/snippet/image?company=65cfa4d2fb765076d791ff94&rating=-5&custom_code=] <https://web.crewhu.com/#/survey?v=f.45b8bd9&crewhu_id=65cfa4d2fb765076d791ff94&survey_type_code=typReply&custom_code=&rating=-5&partner_key=680282&ticket_num=T20260424.0045&survey_salt=&employees_ids=CoryHouck&customer_id=29683407&contact_email=tlyster@seubert.com&contact_first_name=Tyler&contact_last_name=Lyster&contact_phone=412-734-4900&customer_name=Seubert%20and%20Associates&summary=Outmarket%20AI%20vendor%20integration%20request%20—%20AMS360%20App%20Access%20Key%20&%20ImageRight%20credentials%20(verify%20access%20level)&end=true>\r\nHighly\r\nSatisfied\r\nSomewhat\r\nSatisfied\r\nDissatisfied\r\n<https://web.crewhu.com/#/survey?crewhu_id=65cfa4d2fb765076d791ff94&dummyLink=680282>\r\n\r\n**Created via Incoming Email Processor**\r\nFrom: \"Lorentz W. Hinrichsen\" <lorentz@wulfconsulting.com>\r\nTo: Wulf Support <support@wulfconsulting.com>, \"rmansfield@seubert.com\"\t<rmansfield@seubert.com>, \"klulich@seubert.com\" <klulich@seubert.com>, \"tlyster@seubert.com\" <tlyster@seubert.com>",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-24T14:34:46.583Z",
"noteType": 1,
"publish": 1,
"ticketID": 680282,
"title": "Wulf Support Ticket Update -"
},
{
"id": 33738797,
"createDateTime": "2026-04-24T14:35:35.493Z",
"createdByContactID": null,
"creatorResourceID": 30861463,
"description": "tlyster@seubert.com, klulich@seubert.com, rmansfield@seubert.com, lorentz@wulfconsulting.com",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-24T14:35:35.493Z",
"noteType": 2,
"publish": 4,
"ticketID": 680282,
"title": "Service Desk Notification"
},
{
"id": 33741514,
"createDateTime": "2026-04-27T13:26:36.047Z",
"createdByContactID": null,
"creatorResourceID": 30861463,
"description": "tlyster@seubert.com, klulich@seubert.com, rmansfield@seubert.com, lorentz@wulfconsulting.com",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-27T13:26:36.047Z",
"noteType": 2,
"publish": 4,
"ticketID": 680282,
"title": "Service Desk Notification"
},
{
"id": 33741844,
"createDateTime": "2026-04-27T16:05:26.043Z",
"createdByContactID": null,
"creatorResourceID": 30861463,
"description": "tlyster@seubert.com, klulich@seubert.com, rmansfield@seubert.com, lorentz@wulfconsulting.com",
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"lastActivityDate": "2026-04-27T16:05:26.043Z",
"noteType": 2,
"publish": 4,
"ticketID": 680282,
"title": "Service Desk Notification"
}
],
"time_entries": [
{
"id": 465933,
"billingApprovalDateTime": null,
"billingApprovalLevelMostRecent": 0,
"billingApprovalResourceID": null,
"billingCodeID": 29780571,
"contractID": 29863002,
"contractServiceBundleID": null,
"contractServiceID": null,
"createDateTime": "2026-04-24T13:06:46.160Z",
"creatorUserID": 30861463,
"dateWorked": "2026-04-24T00:00:00.000Z",
"endDateTime": "2026-04-24T13:07:00.000Z",
"hoursToBill": 0.1667,
"hoursWorked": 0.1667,
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"internalBillingCodeID": null,
"internalNotes": "Lorentz sent me an email\n\nIm gonna need access to that for another integration with the claims department for loss run pro please let me know where that credential is in Passportal and if theres anything special, I have to do to access it",
"isInternalNotesVisibleToComanaged": false,
"isNonBillable": false,
"lastModifiedDateTime": "2026-04-24T13:06:46.160Z",
"lastModifiedUserID": 30861463,
"offsetHours": 0,
"resourceID": 30861463,
"roleID": 29780072,
"showOnInvoice": true,
"startDateTime": "2026-04-24T13:01:00.000Z",
"summaryNotes": "see internal",
"taskID": null,
"ticketID": 680282,
"timeEntryType": 2
},
{
"id": 465961,
"billingApprovalDateTime": null,
"billingApprovalLevelMostRecent": 0,
"billingApprovalResourceID": null,
"billingCodeID": 29780571,
"contractID": 29863002,
"contractServiceBundleID": null,
"contractServiceID": null,
"createDateTime": "2026-04-24T14:22:35.653Z",
"creatorUserID": 30861463,
"dateWorked": "2026-04-24T00:00:00.000Z",
"endDateTime": "2026-04-24T14:21:00.000Z",
"hoursToBill": 0.75,
"hoursWorked": 0.75,
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"internalBillingCodeID": null,
"internalNotes": "Logged into AMS360 and reviewed available administration/security areas. AMS360 client did not present an obvious User Management/Users list location for identifying existing service/integration accounts.\n\nLogged into Vertafore SSO (VSSO) Admin Console and reviewed the Managed Users list.\n\n- Performed multiple searches for potential service/integration accounts using common naming patterns/keywords including: svc, service, integration, integr, api, vendor, outmarket, wulf, system, plus additional generic terms (interface/sync/import/export/webservice/batch).\n- Checked for alternate filters/scopes where available (ex: inactive/disabled users) and did not locate any accounts that appear to be dedicated service/integration accounts.\nReviewed VSSO Groups/Roles (where available) for integration-related naming (ex: AMS/integration/api/vendor/system) to determine if any existing integration grouping exists and did not identify anything clearly tied to an existing vendor/service account setup.\n\nCurrent conclusion: No existing dedicated service/integration account is identifiable/available via VSSO Managed Users (or related group/role searches). Access level for any future integration account remains unknown until confirmed with Vertafore.\n\n\nCurrent Status\nResearch/validation completed internally.\n\nAccess scope for the AMS360 App Access Key (read-only vs read/write/create/update) cannot be confirmed from current admin views and requires vendor confirmation.",
"isInternalNotesVisibleToComanaged": false,
"isNonBillable": false,
"lastModifiedDateTime": "2026-04-24T14:22:35.653Z",
"lastModifiedUserID": 30861463,
"offsetHours": 0,
"resourceID": 30861463,
"roleID": 29780072,
"showOnInvoice": true,
"startDateTime": "2026-04-24T13:25:00.000Z",
"summaryNotes": "All, \n\nIve been researching the AMS360/VSSO side and Im not seeing an existing dedicated service/integration account available to use for this connection. My next step is to contact Vertafore Support and open a case to confirm the recommended setup and what level of access the App Access Key provides. \n\nIll follow up as soon as I hear back from Vertafore.\n\nThanks,\nCory",
"taskID": null,
"ticketID": 680282,
"timeEntryType": 2
},
{
"id": 465968,
"billingApprovalDateTime": null,
"billingApprovalLevelMostRecent": 0,
"billingApprovalResourceID": null,
"billingCodeID": 29780571,
"contractID": 29863002,
"contractServiceBundleID": null,
"contractServiceID": null,
"createDateTime": "2026-04-24T14:35:34.693Z",
"creatorUserID": 30861463,
"dateWorked": "2026-04-24T00:00:00.000Z",
"endDateTime": "2026-04-24T14:33:00.000Z",
"hoursToBill": 0.25,
"hoursWorked": 0.25,
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"internalBillingCodeID": null,
"internalNotes": null,
"isInternalNotesVisibleToComanaged": false,
"isNonBillable": false,
"lastModifiedDateTime": "2026-04-24T14:35:34.693Z",
"lastModifiedUserID": 30861463,
"offsetHours": 0,
"resourceID": 30861463,
"roleID": 29780072,
"showOnInvoice": true,
"startDateTime": "2026-04-24T14:21:00.000Z",
"summaryNotes": "All,\n\nI created a case with Vertafore Support to confirm the recommended setup and access scope for the AMS360/ImageRight integration credentials.\n\nAccount #: 1100080\nCase #: 4581488\n\nIll provide an update as soon as I hear back from Vertafore.\n\nThanks,\nCory",
"taskID": null,
"ticketID": 680282,
"timeEntryType": 2
},
{
"id": 466134,
"billingApprovalDateTime": null,
"billingApprovalLevelMostRecent": 0,
"billingApprovalResourceID": null,
"billingCodeID": null,
"contractID": 29863002,
"contractServiceBundleID": null,
"contractServiceID": null,
"createDateTime": "2026-04-27T13:26:35.470Z",
"creatorUserID": 30861463,
"dateWorked": "2026-04-27T00:00:00.000Z",
"endDateTime": "2026-04-27T13:22:00.000Z",
"hoursToBill": 0.1667,
"hoursWorked": 0.1667,
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"internalBillingCodeID": null,
"internalNotes": null,
"isInternalNotesVisibleToComanaged": false,
"isNonBillable": false,
"lastModifiedDateTime": "2026-04-27T13:26:35.470Z",
"lastModifiedUserID": 30861463,
"offsetHours": 0,
"resourceID": 30861463,
"roleID": 29780072,
"showOnInvoice": true,
"startDateTime": "2026-04-27T13:16:00.000Z",
"summaryNotes": "Hi all,\nI received a call from Richard at Vertafore Support. Hell be assisting with the AMS360 integration, and he is opening a separate case for the ImageRight application integration. Hell be following up later today with additional information.\n\nIll update this ticket as soon as I receive his follow-up.",
"taskID": null,
"ticketID": 680282,
"timeEntryType": 2
},
{
"id": 466183,
"billingApprovalDateTime": null,
"billingApprovalLevelMostRecent": 0,
"billingApprovalResourceID": null,
"billingCodeID": 29780571,
"contractID": 29863002,
"contractServiceBundleID": null,
"contractServiceID": null,
"createDateTime": "2026-04-27T16:05:25.497Z",
"creatorUserID": 30861463,
"dateWorked": "2026-04-27T00:00:00.000Z",
"endDateTime": "2026-04-27T15:57:00.000Z",
"hoursToBill": 0.1667,
"hoursWorked": 0.1667,
"impersonatorCreatorResourceID": null,
"impersonatorUpdaterResourceID": null,
"internalBillingCodeID": null,
"internalNotes": "Richard from Vertafore Support created a case to address the ImageRight integration. \n\nDear Cory,\n\nThank you for contacting Vertafore Support. Your case has been logged and a Support Agent will follow up with you as soon as possible. Please retain the details below for future reference.\n\nAccount #: 1100080\nCase #: 4582409\n\nSubject: ImageRight integration credentials — confirm App Access Key security context and least-privilege access (Outmarket AI / Seubert)\nDescription: We support Seubert and are assisting with a third-party integration trial with Outmarket AI, which will connect to both AMS360 and ImageRight. Outmarket is requesting connection details/credentials for both systems.\n\nImageRight credentials are managed through Vertafore SSO (VSSO) in this environment. We need Vertafores guidance to confirm the security/permission model and the recommended least-privilege setup before providing any credentials to the vendor.\n\nQuestions / Assistance Requested\n\n\n- Is the App Access Key tied to a specific VSSO user/security principal, or is it tenant-wide?\n- How do we verify whether the key provides read-only vs read/write (create/update/delete) access?\n- Where are the permissions governing the key configured (IR vs VSSO)?\nService/integration account best practice\n\n- Do you recommend creating a dedicated service/integration account in VSSO for third-party integrations (Outmarket)?\n- If yes, what is the recommended approach and minimum permission set for ImageRight?\nImageRight access scope\n\n- Can ImageRight integrations be performed with a non-admin service account (least privilege)?\n- What specific roles/permissions are typically required for ImageRight integrations of this type?\nAny documentation you can provide regarding least-privilege configuration for ImageRight third-party integrations using VSSO-managed credentials.\nWhat weve already checked\n\nReviewed VSSO Managed Users and searched for existing dedicated service/integration accounts (svc/service/integration/api/vendor/system/outmarket, etc.); none were identified.\n\nReviewed available VSSO groups/roles for any obvious existing integration groupings; none were clearly identified.\n\n\nGoal\nConfirm the correct, secure configuration (least privilege) for the Outmarket AI trial integration with ImageRight at Seubert, including whether a dedicated service account is required and how to validate read vs write access for the AMS360 App Access Key.\n\n\nSincerely,\n\nRichard Murphy",
"isInternalNotesVisibleToComanaged": false,
"isNonBillable": false,
"lastModifiedDateTime": "2026-04-27T16:05:25.497Z",
"lastModifiedUserID": 30861463,
"offsetHours": 0,
"resourceID": 30861463,
"roleID": 29780072,
"showOnInvoice": true,
"startDateTime": "2026-04-27T15:51:00.000Z",
"summaryNotes": "All,\n\nHere is the email update information that I received from Richard at Vertafore Support. Please let me know if you have any questions or how you would like to proceed.\n\nQuestions / Assistance Requested\nAMS360 App Access Key\n\nIs the App Access Key tied to a specific VSSO user/security principal, or is it tenant-wide?\n\n- The APP access key is not tied to a specific user. It is tied to an integration user (Non-licensed user) configured in the application catalog.\nHow do we verify whether the key provides read-only vs read/write (create/update/delete) access?\n\n- The key itself only allows the 3rd party to authenticate against a database. This depends on the endpoints being used/activated & the security groups selected when configuring the app user when subscribing.\nWhere are the permissions governing the key configured (AMS360 vs VSSO)?\n\n- AMS360\nService/integration account best practice\n\nDo you recommend creating a dedicated service/integration account in VSSO for third-party integrations (Outmarket)?\n\n- No, there is no need for this as the integration is configured in AMS360 in the application catalog.\nIf yes, what is the recommended approach and minimum permission set for AMS360 and for ImageRight?\n\n\nImageRight access scope\nOutmarket AI does have an EMS application with all endpoints active.\n\nYou can find a list of the available endpoints at the following link.\n\nhttps://link.vertafore.com/VERTAFORE/documentation/AMS360/content?apiSlug=AMS360:EMS:master&resourceSlug=Rf21abdb9\nRichard Murphy\nSr. Customer Support Analyst\noffice. 1-800-444-4813 (Option 2)\nvertafore.com | rmurphy@vertafore.com\n\n---\n\nThanks,\nCory",
"taskID": null,
"ticketID": 680282,
"timeEntryType": 2
}
]
}