{"status":"ok","state_summary":{"calendar_synced":24,"calendar_last":"2026-03-28T12:00:18.301Z","social_known_josh":149,"social_known_cf":113,"spotify_artists":0,"email_last":"2026-03-28T13:30:20.770Z","shiny_promotions":0,"shiny_watchdog":1,"linkedin_org_followers":null,"linkedin_personal_followers":null,"linkedin_last":null,"gdrive_last_audit":null},"modules":{"shiny":{"last_error":"2026-04-03T13:50:37.904Z","last_error_message":"Asana API 401: {\"errors\":[{\"message\":\"Not Authorized\",\"help\":\"For more information on API status codes and how to handle them, read the docs on errors: https://developers.asana.com/docs/errors\"}]}","last_success":"2026-04-04T05:00:48.153Z","consecutive_failures":0},"social":{"last_error":"2026-03-26T21:17:01.181Z","last_error_message":"X API 401: {\n  \"title\": \"Unauthorized\",\n  \"type\": \"about:blank\",\n  \"status\": 401,\n  \"detail\": \"Unauthorized\"\n}","last_success":"2026-03-26T21:18:44.037Z","consecutive_failures":0},"calendar":{"last_error":"2026-03-26T18:00:21.779Z","last_error_message":"\"undefined\" is not valid JSON","last_success":"2026-03-28T12:00:18.301Z","consecutive_failures":0},"feedback":{"last_error":"2026-04-04T01:02:41.053Z","last_error_message":"GoogleClient: failed to parse GOOGLE_SERVICE_ACCOUNT_JSON — Unexpected end of JSON input or malformed JSON: Bad control character in string literal in JSON at position 2 (line 1 column 3)","last_success":"2026-04-04T04:57:20.685Z","consecutive_failures":0},"bounce":{"last_error":"2026-03-15T16:00:59.407Z","last_error_message":"extractBounceReason is not defined","last_success":"2026-03-26T21:13:25.771Z","consecutive_failures":0},"sxsw-label":{"last_error":null,"last_error_message":null,"last_success":"2026-03-23T13:42:29.613Z","consecutive_failures":0},"healthcheck":{"last_error":"2026-04-04T00:57:46.832Z","last_error_message":"Asana API 401: {\"errors\":[{\"message\":\"Not Authorized\",\"help\":\"For more information on API status codes and how to handle them, read the docs on errors: https://developers.asana.com/docs/errors\"}]}","last_success":"2026-04-04T01:03:19.793Z","consecutive_failures":0},"email":{"last_error":null,"last_error_message":null,"last_success":"2026-03-28T13:30:20.770Z","consecutive_failures":0},"feedback-summary":{"last_error":"2026-03-28T15:00:33.225Z","last_error_message":"Asana API 401: {\"errors\":[{\"message\":\"Not Authorized\",\"help\":\"For more information on API status codes and how to handle them, read the docs on errors: https://developers.asana.com/docs/errors\"}]}","last_success":"2026-04-04T01:03:49.925Z","consecutive_failures":0},"bounce-summary":{"last_error":null,"last_error_message":null,"last_success":"2026-03-24T05:57:21.431Z","consecutive_failures":0},"meeting-prep":{"last_error":null,"last_error_message":null,"last_success":"2026-03-16T11:01:15.014Z","consecutive_failures":0},"contact-sync:hubspot":{"last_error":null,"last_error_message":null,"last_success":"2026-04-03T17:57:31.833Z","consecutive_failures":0},"contact-sync:calendar":{"last_error":null,"last_error_message":null,"last_success":"2026-04-03T14:07:38.168Z","consecutive_failures":0},"contact-sync:airtable":{"last_error":null,"last_error_message":null,"last_success":"2026-03-24T17:56:18.691Z","consecutive_failures":0},"contact-sync:gatsby":{"last_error":null,"last_error_message":null,"last_success":"2026-03-24T17:54:54.797Z","consecutive_failures":0},"contact-sync:mixmax":{"last_error":null,"last_error_message":null,"last_success":"2026-03-24T17:55:16.997Z","consecutive_failures":0},"contact-sync:workable":{"last_error":null,"last_error_message":null,"last_success":"2026-03-24T17:55:46.535Z","consecutive_failures":0},"contact-sync:bizzabo":{"last_error":null,"last_error_message":null,"last_success":"2026-03-24T17:52:52.878Z","consecutive_failures":0},"calendar-prep":{"last_success":"2026-04-03T17:48:28.613Z","last_error":"2026-03-26T19:18:02.694Z","last_error_message":"Cannot access 'attendees' before initialization","consecutive_failures":0},"calendar-triage":{"last_error":"2026-04-04T01:02:44.321Z","last_error_message":"GoogleClient: failed to parse GOOGLE_SERVICE_ACCOUNT_JSON — Unexpected end of JSON input or malformed JSON: Bad control character in string literal in JSON at position 2 (line 1 column 3)","last_success":"2026-04-04T01:03:23.130Z","consecutive_failures":0},"event-reminder":{"last_error":null,"last_error_message":null,"last_success":"2026-04-02T11:00:27.863Z","consecutive_failures":0},"contact-sync:addressbook":{"last_error":null,"last_error_message":null,"last_success":"2026-04-03T14:02:38.177Z","consecutive_failures":0}}}