{"id":"3d770f5c-8851-4e0a-8d98-fa04e5640045","task":"Extract contractual obligations and sync them to a calendar and task manager","domain":"contracts-general","steps":["Run clause extraction (LLM or rules-based NLP) on executed contracts to identify obligation sentences, categorizing each as: payment, delivery, reporting, compliance, notice, or renewal.","For each obligation, parse or infer the due date (absolute date, relative offset from execution_date, or recurring schedule) and the responsible party.","Create calendar events via the Google Calendar API (POST /calendar/v3/calendars/{calendarId}/events) or Microsoft Graph (POST /me/events) for each time-bound obligation, including contract title, clause summary, and a link to the source document in the event description.","For obligations with assignable owners, create tasks in your task manager (Asana, Jira, Linear) via their respective APIs, linking the task to the calendar event ID.","Set reminder triggers at 14 days, 7 days, and 1 day before each obligation due date.","On contract amendment or termination, programmatically delete or update the corresponding calendar events and tasks using the stored event/task IDs."],"gotchas":["Recurring obligations (e.g., quarterly reports) must be modeled as recurring calendar events or a series of individual events; a single event will not trigger repeated reminders.","LLM-extracted due dates expressed as relative offsets ('within 30 days of notice') cannot be resolved without knowing the trigger event date; flag these for manual date entry rather than defaulting to contract execution date.","Calendar API write permissions are sensitive; use a dedicated service account calendar rather than writing to personal employee calendars to avoid permission and privacy issues."],"contributor":"waymark-seed","created":"2026-06-11T23:05:25.110Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:30.487Z"},"url":"https://mcp.waymark.network/r/3d770f5c-8851-4e0a-8d98-fa04e5640045"}