Summary

This PR adds incident activity synchronization capabilities to the ServiceNow provider.

Closes #3379

Changes

  • _get_incident_activities(): Fetches work notes and comments from ServiceNow incidents via the sys_journal_field table
  • _add_incident_activity(): Pushes activities (work notes/comments) to ServiceNow incidents
  • sync_incident_activities(): Bidirectional sync between ServiceNow and Keep

Usage

# Get activities from ServiceNow
activities = provider._get_incident_activities(incident_id="INC0010001")
# Add activity to ServiceNow
provider._add_incident_activity(
incident_id="INC0010001",
content="Investigating issue...",
activity_type="work_notes"
)
# Bidirectional sync
sn_activities, synced = provider.sync_incident_activities(
incident_id="INC0010001",
keep_activities=[{"content": "Update from Keep", "type": "work_notes"}]
)

Testing

  • Tested with ServiceNow REST API
  • Supports both basic auth and OAuth
  • Handles pagination for large activity lists

/claim #3379

Claim

Total prize pool $30
Total paid $0
Status Pending
Submitted February 03, 2026
Last updated February 03, 2026

Contributors

ZE

zekebawt

@zekebawt

100%

Sponsors

KE

Keep (YC W23)

@keephq

$30