|
43441
|
NULL
|
0
|
2026-04-17T08:07:17.859305+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776413237859_m1.jpg...
|
PhpStorm
|
faVsco.js – Opportunity.php
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
4434561267597224148
|
-7988188602108755006
|
visual_change
|
hybrid
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
FirefoxFileEdit→Nikolay Nikolov (Presenting, annotating)ViewHistoryBookmarksProfilesToolsWindowHelp• Backend Chapter • 23 m leftmeet.google.com/gjc-ikxu-wxu?authuser=lukas.kovalik%40jiminny.com100% C47 8 • Fri 17 Apr 11:07:173SQL Editor-DatabasePROD US> jiminny_niki_local.sol XFri 17 Ape 11:07CrtoUteCkOOtUauminnyahinoca•Q•8•9.BLÀ Datab3 ProjecA LOCAL dev4 localhostPRODtUocanoscroselocalhost:74.32STAGE localhost7732# Staging _root localhout7732+select * fron failed_jobs fj where fj-queue like 'sanalytics_low' order by id desc;-- REPORTS |select * fron opportunities where id = 7594349;select « from opportunity_stages os where os.opportunity_id = 7594349 and os.created_at > '2026-04-17 04:20:00' order by os.created_at desc;select count(») fron opportunity_stages os where os.opportunity_id = 7594349 and os.created_at > 2026-04-17 04:20:00' order by os-created_at asc;select distinct os.stage_id from opportunity_stages os where os.opportunity_id = 7594349 and os.created_at > 2026-04-17 04:20:00' order by os.created_at aSELECT stage_id, COUNT(*) as count, MIN(created_at), MAX(created_at)FROM opportunity_stagesNHEREIo000rtuntty = 7594349GROUPBY stage_id;Nikolay Nikolov9,794,53123"stage_idstage_updated_at2026-04-17 07:50-59 3,706123"record._type_idAz crm_provider_jd58029758241PCUIN14,893AZ owner_ja52480053A2C 81National Grid UK - Si Digtal Landicape$ Refresh •meet.google.com is sharing your screen.95s (0.015s fetch), on 2026-04-17 at 11:06:52Sel: 010Lukas Kovalik11:07 AM | Backend Chapter...
|
43439
|
|
43440
|
NULL
|
0
|
2026-04-17T08:07:05.995012+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776413225995_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorFV PhpStormFileEditViewNavigateCodeLaravelRefactorFV faVsco.s v#11894 on JY-18909-automated-reports-ask-iminny K vToolsWindowHelpProjectv© Nudge.php© NudgeRun.php© Opportunity.php© Participant.php© Partner.php© Permission.php© PhoneNumber.php© PlaybackTheme.php© Playbook.php© PlaybookCategory.php© Playlist.php© RateLimit.php© Region.php© Role.php© RoleChangeEvent.php© ScopeGroup.php© Session.php© SlackBot.php© SocialAccount.php© Stage.php© Task.phpeeamronoC TeamAiContext.php© TeamDomain.php© TeamFeature.php© TeamSettings.php© TextRelay.php© Track.php© TranscriptionModel.php© TranscriptionModelLocale.php© TranscriptionProvider.php© User.php© UserSettings.php©Vocabulary.php© VocabularyPronunciation.php© VoiceAccess.php© VoiceConsentPrefix.php› D NotificationsObservers| 7 Policies• _ProvidersActivityServiceProvider.phpApiServiceProvider.php© AppServiceProvider.php(C) AuthServiceProvider.phv© BroadcastServiceProvider.php© CalendarServiceProvider.php© CreateParticipantsServiceProvid© CrmServiceProvider.php© EncryptionServiceProvider.php© EventServiceProvider.php© HubspotJournalServiceProvider.© HubspotWebhookServiceProvidi©JiminnyServiceProvider.php© PlanhatServiceProvider.php© ProphetHandlerServiceProvider.© PusherServiceProvider.php© QueueLogServiceProvider.php© QueueStatsdServiceProvider.ph|AlnensnnnetteesaPannaaneerda-© AutomatedReportsService.php© SendReportJob.php© SendReportMailJob.php© ReportController.php© TokenBuilder.php© TeamSetupController.phppnp apl.onp© AskJiminnyReportsController.php© AutomatedReportsCommandTest.php© AutomatedReportsSendCommand.php© AutomatedReportsRepository.phpCreateHeldActivityEvent.php© TrackProviderInstalledEvent.phpyUserrllotAcuvlyListener.ong©ActivityLogged.phpC RequestGenerateAskJiminnyReportJob.phpC RequestGenerateReportJob.php© SyncOpportunity.phpT OpportunitySyncTrait.php© EventServiceProvider.phpHasAttributes.phpOpportunity.php>© OpportunityUpdated.php© OpportunityStageUpdated.phpService.phpc) AutomatedReporkesult.one© AutomatedReport.phpclass Opportunity extends Model implementsA18 X1 л170 đ >protected static function newFactory(): Factory(...}175 Cprotected static function bootOparent..00ocl),static::created(static function (Opportunity $opportunity): void {...});static::updating(staticfunction (Opportunity $opportunity): void {if ($opportunity->isDirty( attributes: 'stage_id')) {$opportunity->st$opportunity->stT) HasAttributespublic function isDirty($attributes = nullstaulc..Uoodreostauc fieventney Uodorunaiif (Sopportunity->waevent (new OpportDetermine if the model or any of the givenattribute(s) have been modified.Parameters: array<string>|string|null ($attrlbutes194F);Returns:196source.198/** @deprecated */no usagesvendor/laravel/framework/src/Illuminate/Database/Eloquent/concerns/HasAttrlbutes.pnp199public function deleteExistingAjPrompt(): voidk...=protected function casts(): arrayf...}221222226227231232244245249250254208402400/** @deprecated */public function getOpportunitySuggestAttribute(): stringf...}public function getFormattedValueAttribute(): stringf...7public function getCurrencyCode(): stringf...}public function getName(): stringf...}public function isClosed(): boolf...}public function isWon(): boolf...}public function activities(): hasMany{…..}public function comments(): HasMany{..}* Get all the opp's followers.Helper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (today 8:59)# Backend Chapter • 23 m left100% C•8 • Fri 17 Apr 11:07:05AutomatedReportsCommandTestvA HS_local [iminny@localhost]Al console [EU] X= custom.log= laravel.logfii crm_configurations (EU]V connect.vueV Onboard.vue15501551155215531556105/[CREDIT_CARD]=1562-15631564E156515661567190815691570157115721573157415751577157815801582158811582A37010Y115921593159415951596159715981599A SF [jiminny@localhost]C" scratch_1.jsonconsole PRODL console [STAGING]Ix. Aulo vFlaycroundvselect * from contacts cwhere c.crm_configuration_id = 370 order by c.updated_at desc;SELECT * FROM participants where activity_id = 38833541;SELECT * FROM participants where activity_id = 39216301;SELECT * FROM activity_summary_logs where activity_id = 39216301;SELECT * FROM activities WHERE uuid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = vuid; # 38833541,CrIl 470.11090410SELECT * FROM activities WHERE uuid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acde4d885ae') = vuid; # 39216301,CMII 400.1000900select * from crm_profiles where crm_configuration_id = 319 and crm_provider_id = 525785080;select * from opportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;select * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;select * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856','742723347700');# owner 13236 525785080# contact 116779180 665587441856 - activity - Alex Howes [EMAIL] created 2026-01-26# contact 219247563 742723347700 - [EMAIL] 2026-03-24# company 4176133 47150650569# deal 7100953 410150124747SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,U.ellan tosa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams t 1.n<->1: on t.id = u.team_idWHERE U.team_id = 400 and sa.provider = 'hubspot':select * from features;select * from team_features where feature_id = 40;select * from teams where id = 556; # owner: 18101, crm: 477select * from crm_configurations where id = 477;SELECT * FROM users WHERE id = 18101;SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idNureanstI.n<->I: on t.1d = U.team_1dWHERE U.team_id = 556 and sa.provider = 'integration-app';select * from opportunities where id = 7594349;select * from stages where team_id = 459:select * from teams where id = 459;SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams tI.n<→>I: on t.1d = U.ceam_1dWHERE U.team_1d = 45% and Sa.provider = 'nupspor iEajiminny v026 49 422 Х 3 X103 ^T1N 140Pw Windsurt leams 196:6 UiF-ofh 4 spaces...
|
NULL
|
-368666405143073006
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorFV PhpStormFileEditViewNavigateCodeLaravelRefactorFV faVsco.s v#11894 on JY-18909-automated-reports-ask-iminny K vToolsWindowHelpProjectv© Nudge.php© NudgeRun.php© Opportunity.php© Participant.php© Partner.php© Permission.php© PhoneNumber.php© PlaybackTheme.php© Playbook.php© PlaybookCategory.php© Playlist.php© RateLimit.php© Region.php© Role.php© RoleChangeEvent.php© ScopeGroup.php© Session.php© SlackBot.php© SocialAccount.php© Stage.php© Task.phpeeamronoC TeamAiContext.php© TeamDomain.php© TeamFeature.php© TeamSettings.php© TextRelay.php© Track.php© TranscriptionModel.php© TranscriptionModelLocale.php© TranscriptionProvider.php© User.php© UserSettings.php©Vocabulary.php© VocabularyPronunciation.php© VoiceAccess.php© VoiceConsentPrefix.php› D NotificationsObservers| 7 Policies• _ProvidersActivityServiceProvider.phpApiServiceProvider.php© AppServiceProvider.php(C) AuthServiceProvider.phv© BroadcastServiceProvider.php© CalendarServiceProvider.php© CreateParticipantsServiceProvid© CrmServiceProvider.php© EncryptionServiceProvider.php© EventServiceProvider.php© HubspotJournalServiceProvider.© HubspotWebhookServiceProvidi©JiminnyServiceProvider.php© PlanhatServiceProvider.php© ProphetHandlerServiceProvider.© PusherServiceProvider.php© QueueLogServiceProvider.php© QueueStatsdServiceProvider.ph|AlnensnnnetteesaPannaaneerda-© AutomatedReportsService.php© SendReportJob.php© SendReportMailJob.php© ReportController.php© TokenBuilder.php© TeamSetupController.phppnp apl.onp© AskJiminnyReportsController.php© AutomatedReportsCommandTest.php© AutomatedReportsSendCommand.php© AutomatedReportsRepository.phpCreateHeldActivityEvent.php© TrackProviderInstalledEvent.phpyUserrllotAcuvlyListener.ong©ActivityLogged.phpC RequestGenerateAskJiminnyReportJob.phpC RequestGenerateReportJob.php© SyncOpportunity.phpT OpportunitySyncTrait.php© EventServiceProvider.phpHasAttributes.phpOpportunity.php>© OpportunityUpdated.php© OpportunityStageUpdated.phpService.phpc) AutomatedReporkesult.one© AutomatedReport.phpclass Opportunity extends Model implementsA18 X1 л170 đ >protected static function newFactory(): Factory(...}175 Cprotected static function bootOparent..00ocl),static::created(static function (Opportunity $opportunity): void {...});static::updating(staticfunction (Opportunity $opportunity): void {if ($opportunity->isDirty( attributes: 'stage_id')) {$opportunity->st$opportunity->stT) HasAttributespublic function isDirty($attributes = nullstaulc..Uoodreostauc fieventney Uodorunaiif (Sopportunity->waevent (new OpportDetermine if the model or any of the givenattribute(s) have been modified.Parameters: array<string>|string|null ($attrlbutes194F);Returns:196source.198/** @deprecated */no usagesvendor/laravel/framework/src/Illuminate/Database/Eloquent/concerns/HasAttrlbutes.pnp199public function deleteExistingAjPrompt(): voidk...=protected function casts(): arrayf...}221222226227231232244245249250254208402400/** @deprecated */public function getOpportunitySuggestAttribute(): stringf...}public function getFormattedValueAttribute(): stringf...7public function getCurrencyCode(): stringf...}public function getName(): stringf...}public function isClosed(): boolf...}public function isWon(): boolf...}public function activities(): hasMany{…..}public function comments(): HasMany{..}* Get all the opp's followers.Helper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (today 8:59)# Backend Chapter • 23 m left100% C•8 • Fri 17 Apr 11:07:05AutomatedReportsCommandTestvA HS_local [iminny@localhost]Al console [EU] X= custom.log= laravel.logfii crm_configurations (EU]V connect.vueV Onboard.vue15501551155215531556105/[CREDIT_CARD]=1562-15631564E156515661567190815691570157115721573157415751577157815801582158811582A37010Y115921593159415951596159715981599A SF [jiminny@localhost]C" scratch_1.jsonconsole PRODL console [STAGING]Ix. Aulo vFlaycroundvselect * from contacts cwhere c.crm_configuration_id = 370 order by c.updated_at desc;SELECT * FROM participants where activity_id = 38833541;SELECT * FROM participants where activity_id = 39216301;SELECT * FROM activity_summary_logs where activity_id = 39216301;SELECT * FROM activities WHERE uuid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = vuid; # 38833541,CrIl 470.11090410SELECT * FROM activities WHERE uuid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acde4d885ae') = vuid; # 39216301,CMII 400.1000900select * from crm_profiles where crm_configuration_id = 319 and crm_provider_id = 525785080;select * from opportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;select * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;select * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856','742723347700');# owner 13236 525785080# contact 116779180 665587441856 - activity - Alex Howes [EMAIL] created 2026-01-26# contact 219247563 742723347700 - [EMAIL] 2026-03-24# company 4176133 47150650569# deal 7100953 410150124747SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,U.ellan tosa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams t 1.n<->1: on t.id = u.team_idWHERE U.team_id = 400 and sa.provider = 'hubspot':select * from features;select * from team_features where feature_id = 40;select * from teams where id = 556; # owner: 18101, crm: 477select * from crm_configurations where id = 477;SELECT * FROM users WHERE id = 18101;SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idNureanstI.n<->I: on t.1d = U.team_1dWHERE U.team_id = 556 and sa.provider = 'integration-app';select * from opportunities where id = 7594349;select * from stages where team_id = 459:select * from teams where id = 459;SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams tI.n<→>I: on t.1d = U.ceam_1dWHERE U.team_1d = 45% and Sa.provider = 'nupspor iEajiminny v026 49 422 Х 3 X103 ^T1N 140Pw Windsurt leams 196:6 UiF-ofh 4 spaces...
|
NULL
|
|
43306
|
NULL
|
0
|
2026-04-17T08:01:41.987765+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776412901987_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorToo PhpStormFileEditViewNavigateCodeLaravelRefactorToolsWindowHelpFV faVsco.s v#11894 on JY-18909-automated-reports-ask-iminny K vProjectv© AutomatedReportsService.php© SendReportJob.php© SendReportMailJob.php© ReportController.php© TokenBuilder.php= ids.txt© TeamSetupController.phppnp apl.onp• Filesystem.phpAutomatedReportsCommand.phpAskJiminnykeporscontroller.ono=infection.son.dist© AutomatedReportsCommandTest.php© AutomatedReportsSendCommand.php© Team.phpAutomatedReportsRepository.phpM+ INSTALL.mdM+ INTERNAL_WEBHOOK SETUP© CreateHeldActivityEvent.php© CreateActivityLoggedEvent.phpE jiminny_storage1550C ActivityLogged.phpAulomaleakeporscallbackservice.ono1551M+ licenses.md© RequestGenerateReportJob.php© SyncOpportunity.phpOpportunitySyncTrait.php >Service.phpAutomatedReportResult.php1552M Makefile1553O package-lock.json© AutomatedReport.php1554= phpstan.neon.dist"podcast_audio_url"Cc Wu resuitsTIT:1555= phpstan-baseline.neor1550< phpunit.xmltrait OpportunitySyncTraitA32 X2 X19 ^ Y 1557Te raw_sql_query.sqlprivate tunccion upaaceupporcunity,scring scrmld,array Sproperties, array Sassociations): Opportunity1558M+ KEADME.mO{o sonar-project.properties808cril orowoer o = oorillor155980711560E test.py<> Untitled Diagram.xml810= 1561811Is vetur.config.js812$values = array_merge($attributes, $data);1562$opportunity = $this->crmEntityRepository->upsert0pportunity($attributes, $values);1563M+ WEBHOOK_FILTERING_IMPLE813› ih External Libraries1564814$this->importExternalFieldData($properties, $opportunity->getId());1565v E* Scratches and Consoles815$this->update0pportunityAssociations($opportunity, $associations);v D Database Consoles1566816817=1567vA-Ureturn Sopportunity;1568c consoe -u8184 DEAL RISKS [EU]1569A DI [EU]81915702 usages1571A EU [EU]0240private function resolveAccountId(array $associations): ?int{...}1572v A jiminny@localhost837=1573A console [jiminny@localtL usages1574DI [jiminny@localhost]838private function build0pportunityData(1575A HS_local jiminny@local839array $properties,A SF [jiminny@localhost]1576840?int $accountId,-1577A zoho_dev ljiminny@loce841?BusinessProcess $businessProcess,=1578V & PROD842A console [PROD]843PStage $stage): array {1080A console_1 [PROD]844$ownerId = null;1581A DI [PROD]845noronle =nulL1582> LQA846if (! empty($properties['hubspot_owner_id'])) {A QAI847$ownerId = $properties['hubspot_owner_id'];4 QAI PRODV &CTAGNG848$profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);8491586A console [STAGING]850L console_1 [STAGING]1587d uranus ISl AGING851$name = 'Unknown';1588852if (isset($properties[ 'dealname'])) {> D Extensions1589853$name = mb_strimwidth($properties['dealname'],start: 0,width: 128);v D Scratches159085415Y1= phostorm_shortcuts.txt855=" scratch.txtC° scratch_1.json856Samount = Sthis->resolveAmount(Sproperties):1593( scratch_2.json857$currency = $properties['deal_currency_code'] ?? null;1594858C* scratch_3.json859$cLoseDate = null;1596=° scratch_4.txt860if (! empty($properties['glosedate'))) {1597pig scratch_5.php861$cLoseDate = Carbon: :parse($properties[ 'closedate'])->format( format: "Y-m-d');—1598phg scratch_6.php1599C° scratch_7.json863(° stage2.json$remotelyCreatedAt = null;E° test865if (! empty($propertiesl'createdate']) && strtotime($propertiesl'ereatedate'])) {<° test.html866$date = $this->parseCleanDatetime($properties['greatedate']);pt, tmp.php867$remotelyCreatedAt = $date?->format( format:"Y-n-oH.L.S')A868Helper code will nelp IDt lo understand vour Laravel apo code. Generale Don't snow Anymore loday 8.09libd"Backend Chanter . 20 m leftAutomatedReportsCommandTestv100% C•8 • Fri 17 Apr 11:01:41= custom.log= laravel.logA SF ljiminny@localhost]C" scratch_1.jsonV connect.vueV Onboard.vuefii crm_configurations (EU]console PRODL console [STAGING]Ix. Aulo vFlaycroundvselect * from contacts cwhere c.crm_configuration_id = 370 order by c.updated_at desc;A HS_local [iminny@localhost]Al console [EU] XEajiminny v026 49 422 Х 3 X103 ^SELECT * FROM participants where activity_id = 38833541;SELECT * FROM participants where activity_id = 39216301;oELE * rrom acuviry sunactivity_id = 39216301;SELECT * FROM activituvid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = vuid; # 38833541,CrIl 470.11090410SELECT * FROM activitieonnzeortuoo-y1aa-44a-doceracoe4doosae = Uulo # 974100000CMII 400.1000900select * from crm_profiles whereconfiguration_id = 319 and crm_provider_id = 525785080;select * from opportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;select * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;select * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856','742723347700');# owner 13236 525785080# contact 116779180 665587441856 - activity - Alex Howes [EMAIL] created 2026-01-26# contact 219247563 742723347700 - [EMAIL] 2026-03-24# company 4176133 47150650569# deal 7100953 410150124747SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,U.emall,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams t 1.n<->1: on t.id = u.team_idWHERE U.team_id = 400 and sa.provider = 'hubspot':=select * from features;select * from team_features where feature_id = 40;select * from teams where id = 556: # owner: 18101. crm: 477select * from crm_configurations where id = 477;SELECT * FROM users WHERE id = 18101;SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idNureanstI.n<->I: on t.1d = U.team_1dWHERE U.team_id = 556 and sa.provider = 'integration-app';select * from opportunities where id = 7594349;select x tromstages where team_ id = 459:select * from teams where id = 459;SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams tI.n<→>I: on t.1d = U.ceam_1dWHERE U.team_1d = 45% and sa.provider = 'nupspor :w windsun leams 1591:42 UlF-o4 spaces...
|
NULL
|
3074721646163464366
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorToo PhpStormFileEditViewNavigateCodeLaravelRefactorToolsWindowHelpFV faVsco.s v#11894 on JY-18909-automated-reports-ask-iminny K vProjectv© AutomatedReportsService.php© SendReportJob.php© SendReportMailJob.php© ReportController.php© TokenBuilder.php= ids.txt© TeamSetupController.phppnp apl.onp• Filesystem.phpAutomatedReportsCommand.phpAskJiminnykeporscontroller.ono=infection.son.dist© AutomatedReportsCommandTest.php© AutomatedReportsSendCommand.php© Team.phpAutomatedReportsRepository.phpM+ INSTALL.mdM+ INTERNAL_WEBHOOK SETUP© CreateHeldActivityEvent.php© CreateActivityLoggedEvent.phpE jiminny_storage1550C ActivityLogged.phpAulomaleakeporscallbackservice.ono1551M+ licenses.md© RequestGenerateReportJob.php© SyncOpportunity.phpOpportunitySyncTrait.php >Service.phpAutomatedReportResult.php1552M Makefile1553O package-lock.json© AutomatedReport.php1554= phpstan.neon.dist"podcast_audio_url"Cc Wu resuitsTIT:1555= phpstan-baseline.neor1550< phpunit.xmltrait OpportunitySyncTraitA32 X2 X19 ^ Y 1557Te raw_sql_query.sqlprivate tunccion upaaceupporcunity,scring scrmld,array Sproperties, array Sassociations): Opportunity1558M+ KEADME.mO{o sonar-project.properties808cril orowoer o = oorillor155980711560E test.py<> Untitled Diagram.xml810= 1561811Is vetur.config.js812$values = array_merge($attributes, $data);1562$opportunity = $this->crmEntityRepository->upsert0pportunity($attributes, $values);1563M+ WEBHOOK_FILTERING_IMPLE813› ih External Libraries1564814$this->importExternalFieldData($properties, $opportunity->getId());1565v E* Scratches and Consoles815$this->update0pportunityAssociations($opportunity, $associations);v D Database Consoles1566816817=1567vA-Ureturn Sopportunity;1568c consoe -u8184 DEAL RISKS [EU]1569A DI [EU]81915702 usages1571A EU [EU]0240private function resolveAccountId(array $associations): ?int{...}1572v A jiminny@localhost837=1573A console [jiminny@localtL usages1574DI [jiminny@localhost]838private function build0pportunityData(1575A HS_local jiminny@local839array $properties,A SF [jiminny@localhost]1576840?int $accountId,-1577A zoho_dev ljiminny@loce841?BusinessProcess $businessProcess,=1578V & PROD842A console [PROD]843PStage $stage): array {1080A console_1 [PROD]844$ownerId = null;1581A DI [PROD]845noronle =nulL1582> LQA846if (! empty($properties['hubspot_owner_id'])) {A QAI847$ownerId = $properties['hubspot_owner_id'];4 QAI PRODV &CTAGNG848$profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);8491586A console [STAGING]850L console_1 [STAGING]1587d uranus ISl AGING851$name = 'Unknown';1588852if (isset($properties[ 'dealname'])) {> D Extensions1589853$name = mb_strimwidth($properties['dealname'],start: 0,width: 128);v D Scratches159085415Y1= phostorm_shortcuts.txt855=" scratch.txtC° scratch_1.json856Samount = Sthis->resolveAmount(Sproperties):1593( scratch_2.json857$currency = $properties['deal_currency_code'] ?? null;1594858C* scratch_3.json859$cLoseDate = null;1596=° scratch_4.txt860if (! empty($properties['glosedate'))) {1597pig scratch_5.php861$cLoseDate = Carbon: :parse($properties[ 'closedate'])->format( format: "Y-m-d');—1598phg scratch_6.php1599C° scratch_7.json863(° stage2.json$remotelyCreatedAt = null;E° test865if (! empty($propertiesl'createdate']) && strtotime($propertiesl'ereatedate'])) {<° test.html866$date = $this->parseCleanDatetime($properties['greatedate']);pt, tmp.php867$remotelyCreatedAt = $date?->format( format:"Y-n-oH.L.S')A868Helper code will nelp IDt lo understand vour Laravel apo code. Generale Don't snow Anymore loday 8.09libd"Backend Chanter . 20 m leftAutomatedReportsCommandTestv100% C•8 • Fri 17 Apr 11:01:41= custom.log= laravel.logA SF ljiminny@localhost]C" scratch_1.jsonV connect.vueV Onboard.vuefii crm_configurations (EU]console PRODL console [STAGING]Ix. Aulo vFlaycroundvselect * from contacts cwhere c.crm_configuration_id = 370 order by c.updated_at desc;A HS_local [iminny@localhost]Al console [EU] XEajiminny v026 49 422 Х 3 X103 ^SELECT * FROM participants where activity_id = 38833541;SELECT * FROM participants where activity_id = 39216301;oELE * rrom acuviry sunactivity_id = 39216301;SELECT * FROM activituvid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = vuid; # 38833541,CrIl 470.11090410SELECT * FROM activitieonnzeortuoo-y1aa-44a-doceracoe4doosae = Uulo # 974100000CMII 400.1000900select * from crm_profiles whereconfiguration_id = 319 and crm_provider_id = 525785080;select * from opportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;select * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;select * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856','742723347700');# owner 13236 525785080# contact 116779180 665587441856 - activity - Alex Howes [EMAIL] created 2026-01-26# contact 219247563 742723347700 - [EMAIL] 2026-03-24# company 4176133 47150650569# deal 7100953 410150124747SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,U.emall,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams t 1.n<->1: on t.id = u.team_idWHERE U.team_id = 400 and sa.provider = 'hubspot':=select * from features;select * from team_features where feature_id = 40;select * from teams where id = 556: # owner: 18101. crm: 477select * from crm_configurations where id = 477;SELECT * FROM users WHERE id = 18101;SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idNureanstI.n<->I: on t.1d = U.team_1dWHERE U.team_id = 556 and sa.provider = 'integration-app';select * from opportunities where id = 7594349;select x tromstages where team_ id = 459:select * from teams where id = 459;SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams tI.n<→>I: on t.1d = U.ceam_1dWHERE U.team_1d = 45% and sa.provider = 'nupspor :w windsun leams 1591:42 UlF-o4 spaces...
|
43304
|
|
43305
|
NULL
|
0
|
2026-04-17T08:01:41.399737+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776412901399_m1.jpg...
|
PhpStorm
|
faVsco.js – OpportunitySyncTrait.php
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
5071297525210284854
|
-7394557859046110394
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
FirefoxFileEdit→ViewHistoryBookmarksProfilesQ.ToolsWindowHelp• 0• Backend Chapter • 29 m leftmeet.google.com/gjc-ikxu-wxu?authuser=lukas.kovalik%40jiminny.comNikolay Nikolov (Presenting, annotating)100% <478 • Fri 17 Apr 11:01:413B+PhpStorm -FleAT AccountTransformer.php$ Debug-opportunityProjectvNudge.php 23.03.26, 1059,761k9© NudgeRun,php 23.03.26, 10.59, 3.863 Opportunity php 1704.26, 1052,16.0© Participant,php 15. 04.26, 10.55, 18.45212 €215© Partner.php 3103.26, M.62, 5.55 kg© Permission.php 23.03.26, 10.59, 1.32215© PhoneNumber.php 23.03.26, 10.59.4© PaybackTheme.php 23.03.26, 10.59.© Playbook.php 23.03.26, 10:59, 5.36 kPlaybookCategory.php 23.03.26, 10© Playlst.php 23.03.26, 10.59, 10.23 kв© RateLimit.php 23.03.20, 10.39,1.91 k8221© Region,php 23.03.26, 10.59, 844 в© Role.php 304.26, 1255, 225 k8222223© RoleChangeÊvent.php 23.03.26, 103© ScopeGroup, php 23.03.26, 10-59,17© Session.php 23.03.28, 3059, 8.75 k8© SiackBot,php 23.03.26, 10.59, 2.79 kg© SocialAccount.php 23.03.20, 10.59. 1226© Stage.php 23.03.26, 10.59,5.88 kB© Task.php 23.03.26, 1059, 4.35 kg227228© Team,php 30.03.26, 10.30, 65.13 k8© TeamAiContext. php 23.03.26,10.59.229230© TeamDomaln, php 23.03.26, 10.59,1.8© TeamFeature,php 1.04.26, 11.00, 1.43© TeamSettings.php 3.04.26, 11.00, 1.4© TextRelay php 23.03.26, 10:39, 3.5 xgО kеcepiр 240540, 1059, 7916 к4© TranscriptionModel.php 2303.26, x 235TranscriccionMooe Locae.php 23c© TranscriptionProvider.php 23.03.26© User.php 304.26, 1100, 41.23 kа236©UserSettings,php 304.26, 11.00, 695© Vocabulary.php 23.03.26, 10:59,2.82©VocabularyPronunclation.php 23.0l© VoiceAccess.php 23.03.26, 10:59, 6.3© VoiceConsentPreftc.php 23.03.26,1> Notifications› @ObserversOapp > app › Modeis › © Opportunity.php › Opportunity › ® - casiroowHelp© Lead. phpOpportunitySyneTrait.phpclass Opportunity extends Model inplesentsA20 21 A Yprotected function casts(): arrayreturn ["stage,id' a "intifer',*stage_updated_at' = "datetine',*renotely_created_at' »> "datetine',"1s_son* => 'boolean","is_closed"'boolean","valve' => 'decinal:2'.'close_date" => 'date:Y-a-d'.Represated& James Graham +1public function getopportunitySuggestAttribute(): string14 usagesJames Graham+return \fornatOpportunityValve(Sthis->getValue), $this->getCurrencyCode):James Grahampublic function getCurrencyCode(): string1f (Sthis->getAttribute(kay. "currency_code') (as nll) €return Sthis->getAttribute( key."currency_code"):1f (Sthis->getCraConfiguration()?->getDefaultOurrency |aa null) €return Sthis-›getCreConfielmerspooeoondl snanrr you kereenFri 17 Ape 11:01UOpportunitySyncTest.testResolveAcoountidCascadeOpportunity Stagd+0 -Let me check when the uosertopportunity method was introduced or chanpeaCommand git, grep, head•%5 lup eroen71mesd/spesiteries/Crw/CrsEntitykepository-phe 1 grep -ASreturn Sopportunity;ty(array Sattributes, array sdata): Opportunity18MCommand git• git tog -oneline 2Je9r6s001 -23e91650d1 JY-19284 | Add nev repository nethods© ComeCommend ol• git show 23e9163091 -statconnit 23e9f650d1f74517693008121bda81ca769Sca9aMon Oct 27 97.0021 925 1228JY-19284 | Add nev repository nethodsi fite chepository-php | 48 **The upsertOpportunity method was added back in October 2025. Let me check when it startedbeing used for HubSpot opportunity sync:Ast anythin crosClaude Opus 4.5Nikolay NikolovLF UTF-8Lukas Kovalik11:01 AM | Backend Chapter...
|
43303
|
|
43170
|
NULL
|
0
|
2026-04-17T07:56:31.350636+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776412591350_m2.jpg...
|
PhpStorm
|
faVsco.js – OpportunitySyncTrait.php
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
32
2
19
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\ServiceTraits;
use Carbon\Carbon;
use HubSpot\Client\Crm\Deals\Model\CollectionResponseAssociatedId;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Models\Account;
use Exception;
use Jiminny\Component\DealInsights\Forecast\Forecast;
use Jiminny\Jobs\Crm\MatchActivitiesToNewOpportunity;
use Jiminny\Models\Contact;
use Jiminny\Models\Crm\BusinessProcess;
use Jiminny\Exceptions\CrmException;
use Jiminny\Models\Opportunity;
use Illuminate\Support\Collection;
use Jiminny\Models\Stage;
use Jiminny\Repositories\Crm\CrmEntityRepository;
use Jiminny\Services\Crm\Hubspot\DealFieldsService;
use Jiminny\Services\Crm\Hubspot\OpportunitySyncStrategy\HubspotSingleSyncStrategy;
use Jiminny\Services\Crm\Hubspot\WebhookSyncBatchProcessor;
use Jiminny\Services\Crm\OpportunitySyncStrategyResolver;
use Jiminny\Utils\CurrencyFormatter;
/**
* Optimized sync methods for better performance
* These methods can be integrated into SyncCrmEntitiesTrait for significant performance gains
*/
trait OpportunitySyncTrait
{
private const int BATCH_SIZE = 100;
private const int BATCH_PROCESS_SIZE = 800;
protected OpportunitySyncStrategyResolver $opportunitySyncStrategyResolver;
protected CrmEntityRepository $crmEntityRepository;
protected DealFieldsService $dealFieldsService;
private ?array $cachedClosedDealStages = null;
private array $cachedBusinessProcesses = [];
private array $cachedStages = [];
public function syncOpportunities(array $parameters, ?string $strategy = null): int
{
$strategies = $this->opportunitySyncStrategyResolver->getStrategies($this->config, $strategy);
$parameters['config'] = $this->config;
$syncCount = 0;
$reportedTotal = 0;
$lastSyncedId = [];
try {
foreach ($strategies as $strategyName => $syncStrategy) {
$this->logger->info(
'[' . $this->getDisplayName() . '] Syncing opportunities using strategy: ' .
$strategyName
);
$total = 0;
$lastId = null;
$buffer = [];
// HubspotWebhookBatchSyncStrategy returns empty generator, this is for other strategies
foreach ($syncStrategy->fetchOpportunities($parameters, $total, $lastId) as $hsOpportunity) {
$buffer[] = $hsOpportunity;
// process every 800 rows (fits < 1 000 association limit)
if (\count($buffer) >= self::BATCH_PROCESS_SIZE) {
$syncCount += $this->processOpportunityBatch($buffer);
$buffer = [];
}
}
// leftovers
if ($buffer) {
$syncCount += $this->processOpportunityBatch($buffer);
}
$reportedTotal += $total;
$lastSyncedId = $lastId;
}
} catch (\HubSpot\Client\Crm\Deals\ApiException | CrmException $e) {
$this->handleSyncException($e, $parameters);
}
$this->logger->info(
'[HubSpot] Synced opportunities',
[
'team' => $this->team->getId(),
'sync_count' => $syncCount,
'total' => $reportedTotal,
'last_synced_id' => $lastSyncedId,
]
);
return $reportedTotal;
}
private function handleSyncException(\Throwable $e, array $parameters): void
{
if (($parameters['since'] ?? null) instanceof Carbon) {
$parameters['since'] = $parameters['since']->toDateTimeString();
}
$parameters['config'] = $this->config->getId();
$this->logger->warning('[' . $this->getDisplayName() . '] Sync opportunities failed', [
'teamId' => $this->team->getUuid(),
'parameters' => $parameters,
'reason' => $e->getMessage(),
]);
}
/**
* @inheritdoc
*/
public function syncOpportunity(string $crmId): ?Opportunity
{
$strategy = $this->opportunitySyncStrategyResolver->resolve(
$this->config,
OpportunitySyncStrategyResolver::SINGLE_SYNC_OPPORTUNITY_STRATEGY,
);
$parameters = [
'config' => $this->config,
'crm_id' => $crmId,
];
try {
if (! $strategy instanceof HubspotSingleSyncStrategy) {
throw new InvalidArgumentException('Strategy must by HubspotSingleSyncStrategy');
}
$hsOpportunity = $strategy->fetchOpportunity($parameters);
} catch (\HubSpot\Client\Crm\Deals\ApiException $e) {
$this->logger->info('[' . $this->getDisplayName() . '] Opportunity not found', [
'teamId' => $this->team->getUuid(),
'crmId' => $crmId,
'reason' => $e->getMessage(),
]);
return null;
}
$hsOpportunity['associations'] = $this->convertDealAssociations($hsOpportunity['associations'] ?? []);
return $this->importOrUpdateOpportunity($hsOpportunity);
}
/**
* Process webhook-collected opportunity batches.
*
* Drains Redis sets containing company CRM IDs collected from webhook events
* and dispatches ImportOpportunityBatch jobs for batch processing.
*
* @return int Number of opportunity IDs dispatched to jobs
*/
public function batchSyncOpportunities(): int
{
$configId = $this->team->getCrmConfiguration()->getId();
return $this->batchProcessor->processBatchesForObjectType(
WebhookSyncBatchProcessor::OBJECT_TYPE_DEAL,
$configId
);
}
/**
* Import a batch of opportunities by their CRM IDs.
* Fetches opportunity data from HubSpot API and delegates to importOpportunityBatch().
*
* @param array<string> $crmIds HubSpot deal CRM IDs
*
* @return array{success: array, failed_ids: array, errors?: array<string, string>}
*/
public function importOpportunityBatchByIds(array $crmIds): array
{
$fields = $this->dealFieldsService->getFieldsForConfiguration($this->config);
$allDeals = [];
foreach (array_chunk($crmIds, self::BATCH_SIZE) as $chunk) {
$deals = $this->client->getOpportunitiesByIds($chunk, $fields);
foreach ($deals as $deal) {
$allDeals[] = $deal;
}
}
// IDs not returned by HubSpot are likely deleted or inaccessible deals.
// These are not failures — retrying won't bring them back.
$fetchedIds = array_map('strval', array_column($allDeals, 'id'));
$notFoundIds = array_values(array_diff(array_map('strval', $crmIds), $fetchedIds));
if (! empty($notFoundIds)) {
$this->logger->info('[' . $this->getDisplayName() . '] CRM IDs not found in HubSpot (likely deleted)', [
'teamId' => $this->team->getId(),
'notFoundCount' => \count($notFoundIds),
'notFoundIds' => $notFoundIds,
'requestedCount' => \count($crmIds),
'fetchedCount' => \count($allDeals),
]);
}
if (empty($allDeals)) {
return ['success' => [], 'failed_ids' => []];
}
return $this->importOpportunityBatch($allDeals);
}
private function getClosedDealStages(): array
{
if ($this->cachedClosedDealStages !== null) {
return $this->cachedClosedDealStages;
}
$stages = $this->crmEntityRepository->getOpportunityClosedStages($this->config);
$data = [
'lost' => [],
'won' => [],
];
foreach ($stages as $stage) {
if ($stage->probability == 0.00) {
$data['lost'][] = $stage->crm_provider_id;
}
if ($stage->probability == 100.00) {
$data['won'][] = $stage->crm_provider_id;
}
}
$this->cachedClosedDealStages = $data;
return $data;
}
/**
* Import deals into the database with pre-fetched associations.
*
* API calls here (getAssociationsData, getExistingOpportunityCrmIds) are NOT
* caught — if they throw, the exception propagates to ImportOpportunityBatch::handle()
* where Laravel retries the whole job with backoff. After all retries exhausted,
* failed() requeues all IDs to Redis.
*
* The per-deal loop catches exceptions individually. A deal can end up in three states:
* - success: imported/updated successfully
* - failed_ids: exception thrown (DB constraint violation, corrupt data, etc.)
* These are permanent issues — retrying won't fix them.
* - skipped (null): missing dependencies (no account, unknown pipeline/stage).
* This is acceptable — the deal cannot be imported until those exist.
*/
private function importOpportunityBatch(array $deals): array
{
$syncedOpportunities = [
'success' => [],
'failed_ids' => [],
];
$dealIds = array_column($deals, 'id');
// Shared association/existing-ID preparation is batch-level state. If it fails, rethrow so the
// queue job retries the whole batch and eventually requeues all deal IDs back to Redis.
try {
$companyAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'companies');
$contactAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'contacts');
$associationsData = $this->prepareAssociatedEntities($companyAssociations, $contactAssociations);
$existingCrmIds = $this->crmEntityRepository->getExistingOpportunityCrmIds(
$this->config,
array_map('strval', $dealIds)
);
$existingCrmIdSet = array_flip($existingCrmIds);
} catch (\Throwable $e) {
$this->logger->error('[' . $this->getDisplayName() . '] Failed to fetch associations or existing IDs', [
'teamId' => $this->team->getId(),
'dealCount' => count($dealIds),
'error' => $e->getMessage(),
]);
throw $e;
}
foreach ($deals as $deal) {
try {
$deal['associations'] = $this->prepareAssociationsForOpportunity(
$deal['id'],
$companyAssociations,
$contactAssociations,
$associationsData
);
$syncedOpportunity = $this->importOrUpdateOpportunity(
$deal,
isset($existingCrmIdSet[(string) $deal['id']])
);
if ($syncedOpportunity) {
$syncedOpportunities['success'][] = $syncedOpportunity;
}
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to import opportunity', [
'teamId' => $this->team->getId(),
'crmId' => $deal['id'],
'error' => $e->getMessage(),
]);
$syncedOpportunities['failed_ids'][] = $deal['id'];
$syncedOpportunities['errors'][$deal['id']] = $e->getMessage();
}
}
return $syncedOpportunities;
}
/**
* Prepare associated entities for opportunities with optimized batch processing
* Returns structured data with CRM ID to DB ID mappings for each opportunity
*/
private function prepareAssociatedEntities(array $companyAssociations, array $contactAssociations): array
{
// Step 1: Collect all unique company and contact IDs from associations
$allCompanyIds = $this->flattenAssociationIds($companyAssociations);
$allContactIds = $this->flattenAssociationIds($contactAssociations);
// Step 2: Batch sync missing entities and get CRM ID to DB ID mappings
$companyIdMappings = [];
$contactIdMappings = [];
if (! empty($allCompanyIds)) {
$companyIdMappings = $this->prepareAssociatedAccounts($allCompanyIds);
}
if (! empty($allContactIds)) {
$contactIdMappings = $this->prepareAssociatedContacts($allContactIds);
}
return [
'company_id_mappings' => $companyIdMappings,
'contact_id_mappings' => $contactIdMappings,
];
}
/**
* Flatten association data to get unique IDs
*/
private function flattenAssociationIds(array $associations): array
{
$ids = [];
foreach ($associations as $dealAssociations) {
if (is_array($dealAssociations)) {
foreach ($dealAssociations as $id) {
$ids[$id] = true;
}
}
}
return array_keys($ids);
}
/**
* Batch sync missing accounts
*/
private function prepareAssociatedAccounts(array $companyIds): array
{
// Find which accounts already exist
$existingAccounts = $this->crmEntityRepository
->findAccountsByExternalIds($this->config, $companyIds);
$existingCompanyIds = $existingAccounts->pluck('crm_provider_id')->toArray();
$existingAccountsData = $existingAccounts->mapWithKeys(function ($account) {
return [$account->getCrmProviderId() => $account->getId()];
})->toArray();
$missingCompanyIds = array_diff($companyIds, $existingCompanyIds);
if (empty($missingCompanyIds)) {
return $existingAccountsData;
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing accounts', [
'teamId' => $this->team->getUuid(),
'total_companies' => count($companyIds),
'existing_companies' => count($existingCompanyIds),
'missing_companies' => count($missingCompanyIds),
]);
// we already have limit on opportunity ids count
// Initialize variable before try block
$syncedAccountsData = [];
try {
$syncedAccountsData = $this->batchSyncCrmObjects('companies', $missingCompanyIds);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing accounts', [
'size' => count($missingCompanyIds),
'error' => $e->getMessage(),
]);
$syncedAccountsData = [];
}
return $existingAccountsData + $syncedAccountsData;
}
/**
* Prepare associated contacts - find existing and sync missing ones
* Returns mapping of CRM ID to DB ID
*/
private function prepareAssociatedContacts(array $contactIds): array
{
// Find which contacts already exist
$existingContacts = $this->crmEntityRepository
->findContactsByExternalIds($this->config, $contactIds);
$existingContactIds = $existingContacts->pluck('crm_provider_id')->toArray();
// Create mapping for existing contacts
$existingContactsData = $existingContacts->mapWithKeys(function ($contact) {
return [$contact->getCrmProviderId() => $contact->getId()];
})->toArray();
$missingContactIds = array_diff($contactIds, $existingContactIds);
if (empty($missingContactIds)) {
return $existingContactsData;
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing contacts', [
'teamId' => $this->team->getUuid(),
'total_contacts' => count($contactIds),
'existing_contacts' => count($existingContactIds),
'missing_contacts' => count($missingContactIds),
]);
// Sync missing contacts using batch API
try {
$syncedContactsData = $this->batchSyncCrmObjects('contacts', $missingContactIds);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing contacts', [
'size' => count($missingContactIds),
'error' => $e->getMessage(),
]);
$syncedContactsData = [];
}
return $existingContactsData + $syncedContactsData;
}
private function batchSyncCrmObjects(string $objectType, array $crmIds): array
{
$syncObjects = [];
$crmObjectIds = array_values($crmIds);
foreach (array_chunk($crmObjectIds, self::BATCH_SIZE) as $chunk) {
try {
$objects = $objectType === 'companies' ?
$this->client->getCompaniesByIds($chunk, $this->getCompanyFields()) :
$this->client->getContactsByIds($chunk, $this->getContactFields());
foreach ($objects as $objectId => $objectData) {
$this->importCrmObject($objectType, (string) $objectId, $objectData, $syncObjects);
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch synced ' . $objectType, [
'requested_count' => count($chunk),
'synced_count' => count($objects),
]);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Batch ' . $objectType . ' sync failed', [
'ids' => $chunk,
'error' => $e->getMessage(),
]);
}
}
return $syncObjects;
}
private function importCrmObject(string $objectType, string $objectId, mixed $objectData, array &$syncObjects): void
{
try {
$object = $objectType === 'companies' ?
$this->importAccount($objectData) :
$this->importContact($objectData);
if ($object) {
$syncObjects[$object->getCrmProviderId()] = $object->getId();
}
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to import batch ' . $objectType, [
'id' => $objectId,
'error' => $e->getMessage(),
]);
}
}
/**
* Prepare associations for a single opportunity
*
* The return value is an array with the following structure:
* [
* 'companies' => [
* $companyCrmId => $companyId,
* ...
* ],
* 'contacts' => [
* $contactCrmId => $contactId,
* ...
* ],
* 'account_id' => $accountId,
* ]
*/
private function prepareAssociationsForOpportunity(
string $oppCrmId,
array $companyAssociations,
array $contactAssociations,
array $associationsData
): array {
$associations = [
'companies' => [],
'contacts' => [],
'account_id' => null, // Primary account for opportunity
];
$oppCompanyIds = $companyAssociations[$oppCrmId] ?? [];
foreach ($oppCompanyIds as $companyCrmId) {
if (isset($associationsData['company_id_mappings'][$companyCrmId])) {
$associations['companies'][$companyCrmId] = $associationsData['company_id_mappings'][$companyCrmId];
// Set primary account (first company becomes primary account)
if ($associations['account_id'] === null) {
$associations['account_id'] = $associationsData['company_id_mappings'][$companyCrmId];
}
}
}
$oppContactIds = $contactAssociations[$oppCrmId] ?? [];
foreach ($oppContactIds as $contactCrmId) {
if (isset($associationsData['contact_id_mappings'][$contactCrmId])) {
$associations['contacts'][$contactCrmId] = $associationsData['contact_id_mappings'][$contactCrmId];
}
}
return $associations;
}
/**
* Update only associations for an opportunity
*/
private function updateOpportunityAssociations(Opportunity $opportunity, array $associations): void
{
// Update contact associations
$this->importOpportunityContacts($opportunity, $associations['contacts']);
// Update company (account) associations
$this->updateOpportunityAccount($opportunity, $associations['account_id']);
}
/**
* Remove all contact associations from an opportunity
*/
private function removeAllOpportunityContacts(Opportunity $opportunity): void
{
$currentCount = (int) $opportunity->contacts()->count();
if ($currentCount > 0) {
$opportunity->contacts()->detach();
$this->logger->info('[' . $this->getDisplayName() . '] Removed all contact associations', [
'opportunity_id' => $opportunity->getId(),
'removed_count' => $currentCount,
]);
}
}
private function updateOpportunityAccount(Opportunity $opportunity, ?int $accountId): void
{
if ($accountId === null) {
// No account ID provided - keep current account
return;
}
$currentAccountId = $opportunity->getAccountId();
// Only update if account has changed
if ($currentAccountId !== $accountId) {
$opportunity->account_id = $accountId;
$opportunity->save();
$this->logger->info('[' . $this->getDisplayName() . '] Updated opportunity account association', [
'opportunity_id' => $opportunity->getId(),
'old_account_id' => $currentAccountId,
'new_account_id' => $accountId,
]);
}
}
/**
* Find existing opportunities by external IDs (OPTIMIZED VERSION)
* Uses batch query for better performance
*/
private function findExistingOpportunities(array $crmIds): Collection
{
return $this->crmEntityRepository
->findOpportunitiesByExternalIds($this->config, $crmIds);
}
private function processOpportunityBatch(array $opportunities): int
{
$syncedOpportunities = $this->importOpportunityBatch($opportunities);
return count($syncedOpportunities['success'] ?? []);
}
/**
* Convert single deal associations from HubSpot format to internal format
* Handles both HubSpot SDK objects and array formats
*
* @param array $opportunityAssociations Raw associations from HubSpot API or pre-processed
*
* @return array Processed associations with DB IDs
*/
private function convertDealAssociations(array $opportunityAssociations): array
{
$associations = $this->initializeAssociationsStructure();
if (empty($opportunityAssociations)) {
return $associations;
}
$associationIds = $this->extractAssociationIds($opportunityAssociations);
$this->processCompanyAssociations($associationIds, $associations);
$this->processContactAssociations($associationIds, $associations);
return $associations;
}
private function initializeAssociationsStructure(): array
{
return [
'companies' => [],
'contacts' => [],
'account_id' => null, // Primary account for opportunity
];
}
private function extractAssociationIds(array $opportunityAssociations): array
{
$associationIds = [];
foreach ($opportunityAssociations as $type => $associationData) {
if (! empty($associationData)) {
$associationIds[$type] = $this->convertSingleDealAssociations($associationData);
}
}
return $associationIds;
}
private function processCompanyAssociations(array $associationIds, array &$associations): void
{
if (empty($associationIds['companies'])) {
return;
}
$companyId = $associationIds['companies'][0];
$account = $this->findOrSyncAccount($companyId);
if ($account instanceof Account) {
$associations['companies'][$companyId] = $account->getId();
$associations['account_id'] = $account->getId();
}
}
private function processContactAssociations(array $associationIds, array &$associations): void
{
if (empty($associationIds['contacts'])) {
return;
}
foreach ($associationIds['contacts'] as $contactId) {
$contact = $this->findOrSyncContact($contactId);
if ($contact instanceof Contact) {
$associations['contacts'][$contactId] = $contact->getId();
}
}
}
private function findOrSyncAccount(string $companyId): ?Account
{
$account = $this->crmEntityRepository->findAccountByExternalId($this->config, $companyId);
if (! $account instanceof Account) {
$account = $this->syncAccount($companyId);
}
return $account;
}
private function findOrSyncContact(string $contactId): ?Contact
{
$contact = $this->crmEntityRepository->findContactByExternalId($this->config, $contactId);
if (! $contact instanceof Contact) {
$contact = $this->syncContact($contactId);
}
return $contact;
}
private function convertSingleDealAssociations($opportunityAssociations = null): array
{
$associationData = [];
if ($opportunityAssociations === null) {
return $associationData;
}
// Handle array input (from extractAssociationIds)
if (is_array($opportunityAssociations)) {
return $opportunityAssociations;
}
// Handle CollectionResponseAssociatedId object
if ($opportunityAssociations instanceof CollectionResponseAssociatedId) {
foreach ($opportunityAssociations->getResults() as $association) {
$associationData[] = $association->getId();
}
}
return $associationData;
}
private function importOrUpdateOpportunity($crmData, ?bool $exists = null): ?Opportunity
{
if (empty($crmData['properties'])) {
return null;
}
$crmId = (string) $crmData['id'];
$properties = $crmData['properties'];
$associations = $crmData['associations'] ?? [];
$opportunityExists = $exists ?? (bool) $this->crmEntityRepository->findOpportunityByExternalId(
$this->config,
$crmId
);
if ($opportunityExists) {
return $this->updateOpportunity($crmId, $properties, $associations);
} else {
return $this->createOpportunity($crmId, $properties, $associations);
}
}
/**
* Create new opportunity
*/
private function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity
{
$accountId = $this->resolveAccountId($associations);
if (! $accountId) {
return null;
}
$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);
if (! $businessProcess) {
return null;
}
$stage = $this->resolveStage($businessProcess, $properties['dealstage'] ?? null);
if (! $stage) {
return null;
}
$data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);
$attributes = [
'crm_configuration_id' => $this->config->getId(),
'crm_provider_id' => $crmId,
];
$values = array_merge($attributes, $data);
$opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);
$this->importExternalFieldData($properties, $opportunity->getId());
$this->importOpportunityContacts($opportunity, $associations['contacts']);
if ($opportunity->wasRecentlyCreated) {
MatchActivitiesToNewOpportunity::dispatch($opportunity->getId());
}
return $opportunity;
}
/**
* Update existing opportunity
*/
private function updateOpportunity(string $crmId, array $properties, array $associations): Opportunity
{
$accountId = $this->resolveAccountId($associations);
$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);
$stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;
$data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);
$attributes = [
'crm_configuration_id' => $this->config->getId(),
'crm_provider_id' => $crmId,
];
$values = array_merge($attributes, $data);
$opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);
$this->importExternalFieldData($properties, $opportunity->getId());
$this->updateOpportunityAssociations($opportunity, $associations);
return $opportunity;
}
private function resolveAccountId(array $associations): ?int
{
if (! empty($associations['accountId'])) {
return $associations['accountId'];
}
if (empty($associations)) {
return null;
}
// we can't resolve multiple account ids (currently SDK returns one company)
foreach ($associations['companies'] as $accountId) {
return $accountId;
}
return null;
}
private function buildOpportunityData(
array $properties,
?int $accountId,
?BusinessProcess $businessProcess,
?Stage $stage
): array {
$ownerId = null;
$profile = null;
if (! empty($properties['hubspot_owner_id'])) {
$ownerId = $properties['hubspot_owner_id'];
$profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);
}
$name = 'Unknown';
if (isset($properties['dealname'])) {
$name = mb_strimwidth($properties['dealname'], 0, 128);
}
$amount = $this->resolveAmount($properties);
$currency = $properties['deal_currency_code'] ?? null;
$closeDate = null;
if (! empty($properties['closedate'])) {
$closeDate = Carbon::parse($properties['closedate'])->format('Y-m-d');
}
$remotelyCreatedAt = null;
if (! empty($properties['createdate']) && strtotime($properties['createdate'])) {
$date = $this->parseCleanDatetime($properties['createdate']);
$remotelyCreatedAt = $date?->format('Y-m-d H:i:s');
}
$closedStages = $this->getClosedDealStages();
$isWon = in_array($properties['dealstage'], $closedStages['won']);
$isLost = in_array($properties['dealstage'], $closedStages['lost']);
$data = [
'team_id' => $this->team->getId(),
'user_id' => $profile ? $profile->user_id : null,
'owner_id' => $ownerId,
'name' => $name,
'value' => ! empty($amount) ? $amount : null,
'currency_code' => CurrencyFormatter::formatCode($currency),
'close_date' => $closeDate,
'is_closed' => $isWon || $isLost,
'is_won' => $isWon,
'remotely_created_at' => $remotelyCreatedAt,
'probability' => $this->resolveDealProbability($properties['hs_deal_stage_probability']),
'forecast_category' => $this->resolveForecastCategory($properties['hs_manual_forecast_category']),
];
if ($accountId) {
$data['account_id'] = $accountId;
}
if ($stage) {
$data['stage_id'] = $stage->id;
}
if ($businessProcess) {
$recordType = $this->crmEntityRepository->getBusinessProcessRecordType($businessProcess);
if ($recordType) {
$data['record_type_id'] = $recordType->id;
}
}
return $data;
}
private function resolveBusinessProcess(?string $pipelineId): ?BusinessProcess
{
if ($pipelineId === null) {
return null;
}
if (isset($this->cachedBusinessProcesses[$pipelineId])) {
return $this->cachedBusinessProcesses[$pipelineId];
}
$businessProcess = $this->getBusinessProcess($pipelineId);
if (! $businessProcess instanceof BusinessProcess) {
$this->importStages();
$businessProcess = $this->getBusinessProcess($pipelineId);
}
if (! $businessProcess instanceof BusinessProcess) {
$this->logger->info(
'[HubSpot] Deal is not attached to a pipeline',
[
'pipeline' => $pipelineId]
);
}
$this->cachedBusinessProcesses[$pipelineId] = $businessProcess;
return $businessProcess;
}
private function getBusinessProcess(string $pipelineId): ?BusinessProcess
{
return $this->crmEntityRepository->findBusinessProcessesByExternalId($this->config, $pipelineId);
}
private function resolveStage(BusinessProcess $businessProcess, ?string $stageId): ?Stage
{
if (empty($stageId)) {
return null;
}
$cacheKey = $businessProcess->getId() . ':' . $stageId;
if (isset($this->cachedStages[$cacheKey])) {
return $this->cachedStages[$cacheKey];
}
$stage = $this->crmEntityRepository->getPipelineStageByConditions(
$businessProcess,
[
'crm_provider_id' => $stageId,
'type' => Stage::TYPE_OPPORTUNITY,
]
);
if ($stage === null) {
$this->importStages(null, $stageId);
}
if ($stage === null) {
$this->logger->info('[HubSpot] Stage does not exist => ' . $stageId);
}
$this->cachedStages[$cacheKey] = $stage;
return $stage;
}
private function resolveAmount(array $properties): ?string
{
$amount = null;
if (! empty($properties['amount'])) {
$amount = str_replace(',', '', $properties['amount']);
}
if ($this->config->hasDefaultCurrencyFieldSet()) {
$valueFieldName = $this->config->getDefaultCurrencyField()->getCrmProviderId();
$amount = $properties[$valueFieldName] ?? $amount;
}
return $amount;
}
private function parseCleanDatetime(string $datetime): ?Carbon
{
// Treat pre-1980 values as invalid
$minValidDate = Carbon::parse('1980-01-01 00:00:00');
try {
$date = Carbon::parse($datetime);
if ($minValidDate->gt($date)) {
return null;
}
return $date;
} catch (Exception) {
return null; // On parse error, treat as null
}
}
private function resolveDealProbability(?string $stageProbability): int
{
if ($stageProbability === null) {
return 0;
}
$probability = (float) $stageProbability;
return $probability > 1 ? 0 : (int) ($probability * 100);
}
private function resolveForecastCategory(?string $forecastCategory): string
{
if (! $forecastCategory) {
return Forecast::FORECAST_CATEGORY_UNCATEGORIZED;
}
$forecastCategory = str_replace('_', ' ', $forecastCategory);
return ucwords(strtolower($forecastCategory));
}
private function importExternalFieldData(array $properties, int $opportunityId): void
{
$crmFields = $this->getOpportunitySyncableFields();
$this->importOpportunityCrmFieldData($properties, $crmFields, $opportunityId);
}
private function importOpportunityContacts(Opportunity $opportunity, array $associations): void
{
// Handle empty or missing contact associations
if (empty($associations)) {
// Remove all existing contact associations if none provided
$this->removeAllOpportunityContacts($opportunity);
return;
}
// Use differential sync approach for better performance and accuracy
$this->syncOpportunityContactsDifferential($opportunity, $associations);
}
/**
* Sync opportunity contacts using differential approach
* This compares current vs new associations and only makes necessary changes
*/
private function syncOpportunityContactsDifferential(Opportunity $opportunity, array $contactAssociations): void
{
$currentContactCrmIds = $this->getCurrentContactCrmIds($opportunity);
$contactAssociationIds = array_keys($contactAssociations);
$contactsToAdd = array_diff($contactAssociationIds, $currentContactCrmIds);
$contactsToRemove = array_diff($currentContactCrmIds, $contactAssociationIds);
if (empty($contactsToAdd) && empty($contactsToRemove)) {
return;
}
$this->logContactAssociationChanges($opportunity, $currentContactCrmIds, $contactAssociations, $contactsToAdd, $contactsToRemove);
$this->removeContactAssociations($opportunity, $contactsToRemove);
$this->addContactAssociations($opportunity, $contactsToAdd, $contactAssociations);
}
private function getCurrentContactCrmIds(Opportunity $opportunity): array
{
return $opportunity->contacts()
->pluck('contacts.crm_provider_id')
->toArray();
}
private function logContactAssociationChanges(
Opportunity $opportunity,
array $currentContactCrmIds,
array $contactAssociations,
array $contactsToAdd,
array $contactsToRemove
): void {
$this->logger->info('[' . $this->getDisplayName() . '] Contact association changes', [
'opportunity_id' => $opportunity->getId(),
'current_contacts' => $currentContactCrmIds,
'new_contacts' => $contactAssociations,
'contacts_to_add' => $contactsToAdd,
'contacts_to_remove' => $contactsToRemove,
]);
}
private function removeContactAssociations(Opportunity $opportunity, array $contactsToRemove): void
{
if (empty($contactsToRemove)) {
return;
}
$contactsToDetach = $opportunity->contacts()
->whereIn('contacts.crm_provider_id', $contactsToRemove)
->pluck('contacts.id')
->toArray();
if (! empty($contactsToDetach)) {
$opportunity->contacts()->detach($contactsToDetach);
$this->logger->info('[' . $this->getDisplayName() . '] Removed contact associations', [
'opportunity_id' => $opportunity->getId(),
'removed_contact_crm_ids' => $contactsToRemove,
'removed_contact_count' => count($contactsToDetach),
]);
}
}
private function addContactAssociations(Opportunity $opportunity, array $contactsToAdd, array $contactAssociations): void
{
if (empty($contactsToAdd)) {
return;
}
$contactsAdded = [];
foreach ($contactsToAdd as $crmId) {
$id = $contactAssociations[$crmId];
if ($this->attachSingleContact($opportunity, (string) $crmId, $id)) {
$contactsAdded[] = $crmId;
}
}
$this->logAddedContacts($opportunity, $contactsAdded);
}
private function attachSingleContact(Opportunity $opportunity, string $crmId, int $id): bool
{
try {
$contact = $this->crmEntityRepository->findContactByConfigurationAndId($this->config, $id);
if (! $contact) {
return false;
}
return $this->performContactAttachment($opportunity, $contact, $crmId);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to add contact association', [
'opportunity_id' => $opportunity->getId(),
'contact_crm_id' => $crmId,
'error' => $e->getMessage(),
]);
return false;
}
}
private function performContactAttachment(Opportunity $opportunity, Contact $contact, string $crmId): bool
{
try {
$opportunity->contacts()->attach($contact->getId(), [
'crm_provider_id' => $crmId,
]);
return true;
} catch (\Illuminate\Database\QueryException $e) {
if (str_contains($e->getMessage(), 'Duplicate entry')) {
$this->logger->info('[' . $this->getDisplayName() . '] Contact association already exists', [
'contact_id' => $contact->getId(),
'contact_crm_id' => $crmId,
'opportunity_id' => $opportunity->getId(),
]);
return false;
}
throw $e;
}
}
private function logAddedContacts(Opportunity $opportunity, array $contactsAdded): void
{
if (! empty($contactsAdded)) {
$this->logger->info('[' . $this->getDisplayName() . '] Added contact associations', [
'opportunity_id' => $opportunity->getId(),
'contacts_to_add_count' => count($contactsAdded),
'added_contact_crm_ids' => $contactsAdded,
'added_contacts_count' => count($contactsAdded),
]);
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Code changed:
Hide
Sync Changes
Hide This Notification
26
9
21
3
102
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM team_features where team_id = 1;
SELECT * FROM teams WHERE name LIKE '%Vixio%'; # 340,270,11922
SELECT * FROM users WHERE team_id = 340; # 12015
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 340
and sa.provider = 'salesforce';
# and sa.provider = 'salesloft';
select * from crm_fields where crm_configuration_id = 270 and object_type = 'event';
# 125558 - Event Type - Event_Type__c
# 125552 - Event Status - Event_Status__c
SELECT * FROM sidekick_settings WHERE team_id = 340;
SELECT * FROM crm_field_values WHERE crm_field_id in (125552);
select * from activities where crm_configuration_id = 270
and type = 'conference' and crm_provider_id IS NOT NULL
and actual_start_time > '2024-09-16 09:00:00' order by scheduled_start_time;
SELECT * FROM activities WHERE id = 20871677;
SELECT * FROM crm_field_data WHERE activity_id = 20871677;
select * from crm_layouts where crm_configuration_id = 270;
select * from crm_layout_entities where crm_layout_id in (886,887);
SELECT * FROM crm_configurations WHERE id = 270;
select * from playbooks where team_id = 340; # 1514
select * from groups where team_id = 340;
SELECT * FROM crm_fields WHERE id IN (125393, 125401);
select g.name as 'team name', p.name as 'playbook name', f.label as 'activity type field' from groups g
join playbooks p on g.playbook_id = p.id
join crm_fields f on p.activity_field_id = f.id
where g.team_id = 340;
SELECT * FROM activities WHERE uuid_to_bin('0c180357-67d2-419e-a8c3-b832a3490770') = uuid; # 20448716
select * from crm_field_data where object_id = 20448716;
select * from activities where crm_configuration_id = 270 and provider = 'salesloft' order by id desc;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%CybSafe%'; # 343,273,12008
select * from opportunities where team_id = 343;
select * from opportunities where team_id = 343 and crm_provider_id = '18099102526';
select * from opportunities where team_id = 343 and account_id = 945217482;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 343
and sa.provider = 'hubspot';
select * from accounts where team_id = 343 order by name asc;
select * from stages where crm_configuration_id = 273 and type = 'opportunity';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Voyado%'; # 353,283,12143
SELECT * FROM activities WHERE crm_configuration_id = 283 and account_id = 3777844 order by id desc;
SELECT * FROM accounts WHERE team_id = 353 AND name LIKE '%Salesloft%';
SELECT * FROM activities WHERE id = 20717903;
select * from participants where activity_id IN (20929172,20928605,20928468,20926272,20926271,20926270,20926269,20916499,20916454,20916436,20916435,20900015,20900014,20900013,20897312,20897243,20897241,20897237,20897232,20897229,20893648,20893231,20893230,20893229,20893228,20889784,20885039,20885038,20885037,20885036,20885035,20882728,20882708,20882703,20882702,20869828,20869811,20869806,20869801,20869799,20869798,20869796,20869795,20869794,20869761,20869760,20869759,20868688,20868687,20850340,20847195,20841710,20833967,20827021,20825307,20825305,20825297,20824615,20824400,20823927,20821760,20795588,20794233,20794057,20793710,20785811,20781789,20781394,20781307,20762651,20758453,20758282,20757323,20756643,20756636,20756629,20756627,20756606,20756605,20756604,20756603,20756602,20756600,20756599,20756598,20756595,20756594,20756589,20756587,20756577,20756573,20748918,20748386,20748385,20748384,20748383,20748382,20748381,20748380,20748379,20748377,20748375,20748373,20743301,20717905,20717904,20717903,20717901,20717899);
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 353
and sa.provider = 'salesforce';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%modern world business solutions%'; # 345,275,12016, [EMAIL]
SELECT * FROM activities WHERE uuid_to_bin('3921d399-3fef-4609-a291-b0097a166d43') = uuid;
# id: 20940638, user: 12022, contact: 5305871
SELECT * FROM activity_summary_logs WHERE activity_id = 20940638;
select * from contacts where team_id = 345 and crm_provider_id = '30891432415' order by name asc; # 5305871
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 345
and sa.provider = 'hubspot';
select * from users where team_id = 345 and id = 12022;
SELECT * FROM crm_profiles WHERE user_id = 12022;
SELECT * FROM participants WHERE activity_id = 20940638;
SELECT * FROM users u
JOIN crm_profiles cp ON u.id = cp.user_id
WHERE u.team_id = 345;
select * from contacts where team_id = 345 and crm_provider_id = '30880813535' order by name desc; # 5305871
select * from team_features where team_id = 345;
SELECT * FROM activities WHERE uuid_to_bin('11701e2d-2f82-4dab-a616-1db4fad238df') = uuid; # 21115197
SELECT * FROM participants WHERE activity_id = 20897406;
SELECT * FROM activities WHERE uuid_to_bin('63ba55cd-1abc-447d-83da-0137000005b7') = uuid; # 20953912
SELECT * FROM activities WHERE crm_configuration_id = 275 and provider = 'ringcentral' and title like '%1252629100%';
SELECT * FROM activities WHERE id = 20946641;
SELECT * FROM crm_profiles WHERE user_id = 10211;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120,97,10984, [EMAIL]
SELECT * FROM opportunities WHERE crm_configuration_id = 97 and crm_provider_id = '006N1000006c5PpIAI';
select * from stages where crm_configuration_id = 97 and type = 'opportunity';
select * from opportunities where team_id = 120;
select * from crm_configurations crm join teams t on crm.id = t.crm_id
where 1=1
AND t.current_billing_plan IS NOT NULL
AND crm.auto_sync_activity = 0
and crm.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Exclaimer%'; # 270,205,10053,[EMAIL]
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 270
and sa.provider = 'salesforce';
SELECT * FROM activities WHERE uuid_to_bin('b54df794-2a9a-4957-8d80-09a600ead5f8') = uuid; # 21637956
SELECT * FROM crm_profiles WHERE user_id = 11446;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Cygnetise%'; # 372,300,12554, [EMAIL]
select * from playbooks where team_id = 372;
select * from crm_fields where crm_configuration_id = 300 and object_type = 'event'; # 141340
SELECT * FROM crm_field_values WHERE crm_field_id = 141340;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 372
and sa.provider = 'salesf...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.03046875,"top":0.017361112,"width":0.0453125,"height":0.022222223},"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"bounds":{"left":0.07578125,"top":0.017361112,"width":0.14960937,"height":0.022222223},"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.78515625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"bounds":{"left":0.803125,"top":0.017361112,"width":0.09765625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9007813,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9140625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9273437,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96015626,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9734375,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9867188,"top":0.017361112,"width":0.013281226,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"bounds":{"left":0.12382813,"top":0.17777778,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.13867188,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"\"podcast_audio_url\"","depth":4,"bounds":{"left":0.1515625,"top":0.17708333,"width":0.06367187,"height":0.013888889},"value":"\"podcast_audio_url\"","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.22578125,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.2375,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.24765626,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.2578125,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"0 results","depth":4,"bounds":{"left":0.27382812,"top":0.17638889,"width":0.030078124,"height":0.015277778},"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.30390626,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"bounds":{"left":0.3140625,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"bounds":{"left":0.32421875,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"bounds":{"left":0.334375,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.53046876,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"32","depth":4,"bounds":{"left":0.48945314,"top":0.20277777,"width":0.012109375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.50390625,"top":0.20277777,"width":0.009375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"19","depth":4,"bounds":{"left":0.515625,"top":0.20277777,"width":0.011328125,"height":0.013194445},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.5289062,"top":0.2013889,"width":0.00859375,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.5375,"top":0.2013889,"width":0.008203125,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Services\\Crm\\Hubspot\\ServiceTraits;\n\nuse Carbon\\Carbon;\nuse HubSpot\\Client\\Crm\\Deals\\Model\\CollectionResponseAssociatedId;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Models\\Account;\nuse Exception;\nuse Jiminny\\Component\\DealInsights\\Forecast\\Forecast;\nuse Jiminny\\Jobs\\Crm\\MatchActivitiesToNewOpportunity;\nuse Jiminny\\Models\\Contact;\nuse Jiminny\\Models\\Crm\\BusinessProcess;\nuse Jiminny\\Exceptions\\CrmException;\nuse Jiminny\\Models\\Opportunity;\nuse Illuminate\\Support\\Collection;\nuse Jiminny\\Models\\Stage;\nuse Jiminny\\Repositories\\Crm\\CrmEntityRepository;\nuse Jiminny\\Services\\Crm\\Hubspot\\DealFieldsService;\nuse Jiminny\\Services\\Crm\\Hubspot\\OpportunitySyncStrategy\\HubspotSingleSyncStrategy;\nuse Jiminny\\Services\\Crm\\Hubspot\\WebhookSyncBatchProcessor;\nuse Jiminny\\Services\\Crm\\OpportunitySyncStrategyResolver;\nuse Jiminny\\Utils\\CurrencyFormatter;\n\n/**\n * Optimized sync methods for better performance\n * These methods can be integrated into SyncCrmEntitiesTrait for significant performance gains\n */\ntrait OpportunitySyncTrait\n{\n private const int BATCH_SIZE = 100;\n private const int BATCH_PROCESS_SIZE = 800;\n\n protected OpportunitySyncStrategyResolver $opportunitySyncStrategyResolver;\n protected CrmEntityRepository $crmEntityRepository;\n protected DealFieldsService $dealFieldsService;\n\n private ?array $cachedClosedDealStages = null;\n private array $cachedBusinessProcesses = [];\n private array $cachedStages = [];\n\n public function syncOpportunities(array $parameters, ?string $strategy = null): int\n {\n $strategies = $this->opportunitySyncStrategyResolver->getStrategies($this->config, $strategy);\n $parameters['config'] = $this->config;\n $syncCount = 0;\n $reportedTotal = 0;\n $lastSyncedId = [];\n\n try {\n foreach ($strategies as $strategyName => $syncStrategy) {\n $this->logger->info(\n '[' . $this->getDisplayName() . '] Syncing opportunities using strategy: ' .\n $strategyName\n );\n\n $total = 0;\n $lastId = null;\n $buffer = [];\n\n // HubspotWebhookBatchSyncStrategy returns empty generator, this is for other strategies\n foreach ($syncStrategy->fetchOpportunities($parameters, $total, $lastId) as $hsOpportunity) {\n $buffer[] = $hsOpportunity;\n\n // process every 800 rows (fits < 1 000 association limit)\n if (\\count($buffer) >= self::BATCH_PROCESS_SIZE) {\n $syncCount += $this->processOpportunityBatch($buffer);\n $buffer = [];\n }\n }\n\n // leftovers\n if ($buffer) {\n $syncCount += $this->processOpportunityBatch($buffer);\n }\n\n $reportedTotal += $total;\n $lastSyncedId = $lastId;\n }\n } catch (\\HubSpot\\Client\\Crm\\Deals\\ApiException | CrmException $e) {\n $this->handleSyncException($e, $parameters);\n }\n\n $this->logger->info(\n '[HubSpot] Synced opportunities',\n [\n 'team' => $this->team->getId(),\n 'sync_count' => $syncCount,\n 'total' => $reportedTotal,\n 'last_synced_id' => $lastSyncedId,\n ]\n );\n\n return $reportedTotal;\n }\n\n private function handleSyncException(\\Throwable $e, array $parameters): void\n {\n if (($parameters['since'] ?? null) instanceof Carbon) {\n $parameters['since'] = $parameters['since']->toDateTimeString();\n }\n $parameters['config'] = $this->config->getId();\n\n $this->logger->warning('[' . $this->getDisplayName() . '] Sync opportunities failed', [\n 'teamId' => $this->team->getUuid(),\n 'parameters' => $parameters,\n 'reason' => $e->getMessage(),\n ]);\n }\n\n /**\n * @inheritdoc\n */\n public function syncOpportunity(string $crmId): ?Opportunity\n {\n $strategy = $this->opportunitySyncStrategyResolver->resolve(\n $this->config,\n OpportunitySyncStrategyResolver::SINGLE_SYNC_OPPORTUNITY_STRATEGY,\n );\n\n $parameters = [\n 'config' => $this->config,\n 'crm_id' => $crmId,\n ];\n\n try {\n if (! $strategy instanceof HubspotSingleSyncStrategy) {\n throw new InvalidArgumentException('Strategy must by HubspotSingleSyncStrategy');\n }\n\n $hsOpportunity = $strategy->fetchOpportunity($parameters);\n } catch (\\HubSpot\\Client\\Crm\\Deals\\ApiException $e) {\n $this->logger->info('[' . $this->getDisplayName() . '] Opportunity not found', [\n 'teamId' => $this->team->getUuid(),\n 'crmId' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n return null;\n }\n\n $hsOpportunity['associations'] = $this->convertDealAssociations($hsOpportunity['associations'] ?? []);\n\n return $this->importOrUpdateOpportunity($hsOpportunity);\n }\n\n /**\n * Process webhook-collected opportunity batches.\n *\n * Drains Redis sets containing company CRM IDs collected from webhook events\n * and dispatches ImportOpportunityBatch jobs for batch processing.\n *\n * @return int Number of opportunity IDs dispatched to jobs\n */\n public function batchSyncOpportunities(): int\n {\n $configId = $this->team->getCrmConfiguration()->getId();\n\n return $this->batchProcessor->processBatchesForObjectType(\n WebhookSyncBatchProcessor::OBJECT_TYPE_DEAL,\n $configId\n );\n }\n\n /**\n * Import a batch of opportunities by their CRM IDs.\n * Fetches opportunity data from HubSpot API and delegates to importOpportunityBatch().\n *\n * @param array<string> $crmIds HubSpot deal CRM IDs\n *\n * @return array{success: array, failed_ids: array, errors?: array<string, string>}\n */\n public function importOpportunityBatchByIds(array $crmIds): array\n {\n $fields = $this->dealFieldsService->getFieldsForConfiguration($this->config);\n\n $allDeals = [];\n foreach (array_chunk($crmIds, self::BATCH_SIZE) as $chunk) {\n $deals = $this->client->getOpportunitiesByIds($chunk, $fields);\n foreach ($deals as $deal) {\n $allDeals[] = $deal;\n }\n }\n\n // IDs not returned by HubSpot are likely deleted or inaccessible deals.\n // These are not failures — retrying won't bring them back.\n $fetchedIds = array_map('strval', array_column($allDeals, 'id'));\n $notFoundIds = array_values(array_diff(array_map('strval', $crmIds), $fetchedIds));\n\n if (! empty($notFoundIds)) {\n $this->logger->info('[' . $this->getDisplayName() . '] CRM IDs not found in HubSpot (likely deleted)', [\n 'teamId' => $this->team->getId(),\n 'notFoundCount' => \\count($notFoundIds),\n 'notFoundIds' => $notFoundIds,\n 'requestedCount' => \\count($crmIds),\n 'fetchedCount' => \\count($allDeals),\n ]);\n }\n\n if (empty($allDeals)) {\n return ['success' => [], 'failed_ids' => []];\n }\n\n return $this->importOpportunityBatch($allDeals);\n }\n\n private function getClosedDealStages(): array\n {\n if ($this->cachedClosedDealStages !== null) {\n return $this->cachedClosedDealStages;\n }\n\n $stages = $this->crmEntityRepository->getOpportunityClosedStages($this->config);\n $data = [\n 'lost' => [],\n 'won' => [],\n ];\n\n foreach ($stages as $stage) {\n if ($stage->probability == 0.00) {\n $data['lost'][] = $stage->crm_provider_id;\n }\n if ($stage->probability == 100.00) {\n $data['won'][] = $stage->crm_provider_id;\n }\n }\n\n $this->cachedClosedDealStages = $data;\n\n return $data;\n }\n\n /**\n * Import deals into the database with pre-fetched associations.\n *\n * API calls here (getAssociationsData, getExistingOpportunityCrmIds) are NOT\n * caught — if they throw, the exception propagates to ImportOpportunityBatch::handle()\n * where Laravel retries the whole job with backoff. After all retries exhausted,\n * failed() requeues all IDs to Redis.\n *\n * The per-deal loop catches exceptions individually. A deal can end up in three states:\n * - success: imported/updated successfully\n * - failed_ids: exception thrown (DB constraint violation, corrupt data, etc.)\n * These are permanent issues — retrying won't fix them.\n * - skipped (null): missing dependencies (no account, unknown pipeline/stage).\n * This is acceptable — the deal cannot be imported until those exist.\n */\n private function importOpportunityBatch(array $deals): array\n {\n $syncedOpportunities = [\n 'success' => [],\n 'failed_ids' => [],\n ];\n $dealIds = array_column($deals, 'id');\n\n // Shared association/existing-ID preparation is batch-level state. If it fails, rethrow so the\n // queue job retries the whole batch and eventually requeues all deal IDs back to Redis.\n try {\n $companyAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'companies');\n $contactAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'contacts');\n\n $associationsData = $this->prepareAssociatedEntities($companyAssociations, $contactAssociations);\n\n $existingCrmIds = $this->crmEntityRepository->getExistingOpportunityCrmIds(\n $this->config,\n array_map('strval', $dealIds)\n );\n $existingCrmIdSet = array_flip($existingCrmIds);\n } catch (\\Throwable $e) {\n $this->logger->error('[' . $this->getDisplayName() . '] Failed to fetch associations or existing IDs', [\n 'teamId' => $this->team->getId(),\n 'dealCount' => count($dealIds),\n 'error' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n foreach ($deals as $deal) {\n try {\n $deal['associations'] = $this->prepareAssociationsForOpportunity(\n $deal['id'],\n $companyAssociations,\n $contactAssociations,\n $associationsData\n );\n\n $syncedOpportunity = $this->importOrUpdateOpportunity(\n $deal,\n isset($existingCrmIdSet[(string) $deal['id']])\n );\n if ($syncedOpportunity) {\n $syncedOpportunities['success'][] = $syncedOpportunity;\n }\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to import opportunity', [\n 'teamId' => $this->team->getId(),\n 'crmId' => $deal['id'],\n 'error' => $e->getMessage(),\n ]);\n $syncedOpportunities['failed_ids'][] = $deal['id'];\n $syncedOpportunities['errors'][$deal['id']] = $e->getMessage();\n }\n }\n\n return $syncedOpportunities;\n }\n\n /**\n * Prepare associated entities for opportunities with optimized batch processing\n * Returns structured data with CRM ID to DB ID mappings for each opportunity\n */\n private function prepareAssociatedEntities(array $companyAssociations, array $contactAssociations): array\n {\n // Step 1: Collect all unique company and contact IDs from associations\n $allCompanyIds = $this->flattenAssociationIds($companyAssociations);\n $allContactIds = $this->flattenAssociationIds($contactAssociations);\n\n // Step 2: Batch sync missing entities and get CRM ID to DB ID mappings\n $companyIdMappings = [];\n $contactIdMappings = [];\n\n if (! empty($allCompanyIds)) {\n $companyIdMappings = $this->prepareAssociatedAccounts($allCompanyIds);\n }\n\n if (! empty($allContactIds)) {\n $contactIdMappings = $this->prepareAssociatedContacts($allContactIds);\n }\n\n return [\n 'company_id_mappings' => $companyIdMappings,\n 'contact_id_mappings' => $contactIdMappings,\n ];\n }\n\n /**\n * Flatten association data to get unique IDs\n */\n private function flattenAssociationIds(array $associations): array\n {\n $ids = [];\n foreach ($associations as $dealAssociations) {\n if (is_array($dealAssociations)) {\n foreach ($dealAssociations as $id) {\n $ids[$id] = true;\n }\n }\n }\n\n return array_keys($ids);\n }\n\n /**\n * Batch sync missing accounts\n */\n private function prepareAssociatedAccounts(array $companyIds): array\n {\n // Find which accounts already exist\n $existingAccounts = $this->crmEntityRepository\n ->findAccountsByExternalIds($this->config, $companyIds);\n\n $existingCompanyIds = $existingAccounts->pluck('crm_provider_id')->toArray();\n\n $existingAccountsData = $existingAccounts->mapWithKeys(function ($account) {\n return [$account->getCrmProviderId() => $account->getId()];\n })->toArray();\n\n $missingCompanyIds = array_diff($companyIds, $existingCompanyIds);\n\n if (empty($missingCompanyIds)) {\n return $existingAccountsData;\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing accounts', [\n 'teamId' => $this->team->getUuid(),\n 'total_companies' => count($companyIds),\n 'existing_companies' => count($existingCompanyIds),\n 'missing_companies' => count($missingCompanyIds),\n ]);\n\n // we already have limit on opportunity ids count\n // Initialize variable before try block\n $syncedAccountsData = [];\n\n try {\n $syncedAccountsData = $this->batchSyncCrmObjects('companies', $missingCompanyIds);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing accounts', [\n 'size' => count($missingCompanyIds),\n 'error' => $e->getMessage(),\n ]);\n $syncedAccountsData = [];\n }\n\n return $existingAccountsData + $syncedAccountsData;\n }\n\n /**\n * Prepare associated contacts - find existing and sync missing ones\n * Returns mapping of CRM ID to DB ID\n */\n private function prepareAssociatedContacts(array $contactIds): array\n {\n // Find which contacts already exist\n $existingContacts = $this->crmEntityRepository\n ->findContactsByExternalIds($this->config, $contactIds);\n\n $existingContactIds = $existingContacts->pluck('crm_provider_id')->toArray();\n\n // Create mapping for existing contacts\n $existingContactsData = $existingContacts->mapWithKeys(function ($contact) {\n return [$contact->getCrmProviderId() => $contact->getId()];\n })->toArray();\n\n $missingContactIds = array_diff($contactIds, $existingContactIds);\n\n if (empty($missingContactIds)) {\n return $existingContactsData;\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing contacts', [\n 'teamId' => $this->team->getUuid(),\n 'total_contacts' => count($contactIds),\n 'existing_contacts' => count($existingContactIds),\n 'missing_contacts' => count($missingContactIds),\n ]);\n\n // Sync missing contacts using batch API\n try {\n $syncedContactsData = $this->batchSyncCrmObjects('contacts', $missingContactIds);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing contacts', [\n 'size' => count($missingContactIds),\n 'error' => $e->getMessage(),\n ]);\n $syncedContactsData = [];\n }\n\n return $existingContactsData + $syncedContactsData;\n }\n\n private function batchSyncCrmObjects(string $objectType, array $crmIds): array\n {\n $syncObjects = [];\n $crmObjectIds = array_values($crmIds);\n\n foreach (array_chunk($crmObjectIds, self::BATCH_SIZE) as $chunk) {\n try {\n $objects = $objectType === 'companies' ?\n $this->client->getCompaniesByIds($chunk, $this->getCompanyFields()) :\n $this->client->getContactsByIds($chunk, $this->getContactFields());\n\n foreach ($objects as $objectId => $objectData) {\n $this->importCrmObject($objectType, (string) $objectId, $objectData, $syncObjects);\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch synced ' . $objectType, [\n 'requested_count' => count($chunk),\n 'synced_count' => count($objects),\n ]);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Batch ' . $objectType . ' sync failed', [\n 'ids' => $chunk,\n 'error' => $e->getMessage(),\n ]);\n }\n }\n\n return $syncObjects;\n }\n\n private function importCrmObject(string $objectType, string $objectId, mixed $objectData, array &$syncObjects): void\n {\n try {\n $object = $objectType === 'companies' ?\n $this->importAccount($objectData) :\n $this->importContact($objectData);\n\n if ($object) {\n $syncObjects[$object->getCrmProviderId()] = $object->getId();\n }\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to import batch ' . $objectType, [\n 'id' => $objectId,\n 'error' => $e->getMessage(),\n ]);\n }\n }\n\n /**\n * Prepare associations for a single opportunity\n *\n * The return value is an array with the following structure:\n * [\n * 'companies' => [\n * $companyCrmId => $companyId,\n * ...\n * ],\n * 'contacts' => [\n * $contactCrmId => $contactId,\n * ...\n * ],\n * 'account_id' => $accountId,\n * ]\n */\n private function prepareAssociationsForOpportunity(\n string $oppCrmId,\n array $companyAssociations,\n array $contactAssociations,\n array $associationsData\n ): array {\n $associations = [\n 'companies' => [],\n 'contacts' => [],\n 'account_id' => null, // Primary account for opportunity\n ];\n\n $oppCompanyIds = $companyAssociations[$oppCrmId] ?? [];\n foreach ($oppCompanyIds as $companyCrmId) {\n if (isset($associationsData['company_id_mappings'][$companyCrmId])) {\n $associations['companies'][$companyCrmId] = $associationsData['company_id_mappings'][$companyCrmId];\n\n // Set primary account (first company becomes primary account)\n if ($associations['account_id'] === null) {\n $associations['account_id'] = $associationsData['company_id_mappings'][$companyCrmId];\n }\n }\n }\n\n $oppContactIds = $contactAssociations[$oppCrmId] ?? [];\n foreach ($oppContactIds as $contactCrmId) {\n if (isset($associationsData['contact_id_mappings'][$contactCrmId])) {\n $associations['contacts'][$contactCrmId] = $associationsData['contact_id_mappings'][$contactCrmId];\n }\n }\n\n return $associations;\n }\n\n /**\n * Update only associations for an opportunity\n */\n private function updateOpportunityAssociations(Opportunity $opportunity, array $associations): void\n {\n // Update contact associations\n $this->importOpportunityContacts($opportunity, $associations['contacts']);\n\n // Update company (account) associations\n $this->updateOpportunityAccount($opportunity, $associations['account_id']);\n }\n\n /**\n * Remove all contact associations from an opportunity\n */\n private function removeAllOpportunityContacts(Opportunity $opportunity): void\n {\n $currentCount = (int) $opportunity->contacts()->count();\n\n if ($currentCount > 0) {\n $opportunity->contacts()->detach();\n\n $this->logger->info('[' . $this->getDisplayName() . '] Removed all contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'removed_count' => $currentCount,\n ]);\n }\n }\n\n private function updateOpportunityAccount(Opportunity $opportunity, ?int $accountId): void\n {\n if ($accountId === null) {\n // No account ID provided - keep current account\n return;\n }\n\n $currentAccountId = $opportunity->getAccountId();\n\n // Only update if account has changed\n if ($currentAccountId !== $accountId) {\n $opportunity->account_id = $accountId;\n $opportunity->save();\n\n $this->logger->info('[' . $this->getDisplayName() . '] Updated opportunity account association', [\n 'opportunity_id' => $opportunity->getId(),\n 'old_account_id' => $currentAccountId,\n 'new_account_id' => $accountId,\n ]);\n }\n }\n\n /**\n * Find existing opportunities by external IDs (OPTIMIZED VERSION)\n * Uses batch query for better performance\n */\n private function findExistingOpportunities(array $crmIds): Collection\n {\n return $this->crmEntityRepository\n ->findOpportunitiesByExternalIds($this->config, $crmIds);\n }\n\n private function processOpportunityBatch(array $opportunities): int\n {\n $syncedOpportunities = $this->importOpportunityBatch($opportunities);\n\n return count($syncedOpportunities['success'] ?? []);\n }\n\n /**\n * Convert single deal associations from HubSpot format to internal format\n * Handles both HubSpot SDK objects and array formats\n *\n * @param array $opportunityAssociations Raw associations from HubSpot API or pre-processed\n *\n * @return array Processed associations with DB IDs\n */\n private function convertDealAssociations(array $opportunityAssociations): array\n {\n $associations = $this->initializeAssociationsStructure();\n\n if (empty($opportunityAssociations)) {\n return $associations;\n }\n\n $associationIds = $this->extractAssociationIds($opportunityAssociations);\n\n $this->processCompanyAssociations($associationIds, $associations);\n $this->processContactAssociations($associationIds, $associations);\n\n return $associations;\n }\n\n private function initializeAssociationsStructure(): array\n {\n return [\n 'companies' => [],\n 'contacts' => [],\n 'account_id' => null, // Primary account for opportunity\n ];\n }\n\n private function extractAssociationIds(array $opportunityAssociations): array\n {\n $associationIds = [];\n\n foreach ($opportunityAssociations as $type => $associationData) {\n if (! empty($associationData)) {\n $associationIds[$type] = $this->convertSingleDealAssociations($associationData);\n }\n }\n\n return $associationIds;\n }\n\n private function processCompanyAssociations(array $associationIds, array &$associations): void\n {\n if (empty($associationIds['companies'])) {\n return;\n }\n\n $companyId = $associationIds['companies'][0];\n $account = $this->findOrSyncAccount($companyId);\n\n if ($account instanceof Account) {\n $associations['companies'][$companyId] = $account->getId();\n $associations['account_id'] = $account->getId();\n }\n }\n\n private function processContactAssociations(array $associationIds, array &$associations): void\n {\n if (empty($associationIds['contacts'])) {\n return;\n }\n\n foreach ($associationIds['contacts'] as $contactId) {\n $contact = $this->findOrSyncContact($contactId);\n\n if ($contact instanceof Contact) {\n $associations['contacts'][$contactId] = $contact->getId();\n }\n }\n }\n\n private function findOrSyncAccount(string $companyId): ?Account\n {\n $account = $this->crmEntityRepository->findAccountByExternalId($this->config, $companyId);\n\n if (! $account instanceof Account) {\n $account = $this->syncAccount($companyId);\n }\n\n return $account;\n }\n\n private function findOrSyncContact(string $contactId): ?Contact\n {\n $contact = $this->crmEntityRepository->findContactByExternalId($this->config, $contactId);\n\n if (! $contact instanceof Contact) {\n $contact = $this->syncContact($contactId);\n }\n\n return $contact;\n }\n\n private function convertSingleDealAssociations($opportunityAssociations = null): array\n {\n $associationData = [];\n\n if ($opportunityAssociations === null) {\n return $associationData;\n }\n\n // Handle array input (from extractAssociationIds)\n if (is_array($opportunityAssociations)) {\n return $opportunityAssociations;\n }\n\n // Handle CollectionResponseAssociatedId object\n if ($opportunityAssociations instanceof CollectionResponseAssociatedId) {\n foreach ($opportunityAssociations->getResults() as $association) {\n $associationData[] = $association->getId();\n }\n }\n\n return $associationData;\n }\n\n private function importOrUpdateOpportunity($crmData, ?bool $exists = null): ?Opportunity\n {\n if (empty($crmData['properties'])) {\n return null;\n }\n\n $crmId = (string) $crmData['id'];\n $properties = $crmData['properties'];\n $associations = $crmData['associations'] ?? [];\n\n $opportunityExists = $exists ?? (bool) $this->crmEntityRepository->findOpportunityByExternalId(\n $this->config,\n $crmId\n );\n\n if ($opportunityExists) {\n return $this->updateOpportunity($crmId, $properties, $associations);\n } else {\n return $this->createOpportunity($crmId, $properties, $associations);\n }\n }\n\n /**\n * Create new opportunity\n */\n private function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity\n {\n $accountId = $this->resolveAccountId($associations);\n if (! $accountId) {\n return null;\n }\n\n $businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);\n if (! $businessProcess) {\n return null;\n }\n\n $stage = $this->resolveStage($businessProcess, $properties['dealstage'] ?? null);\n if (! $stage) {\n return null;\n }\n\n $data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);\n\n $attributes = [\n 'crm_configuration_id' => $this->config->getId(),\n 'crm_provider_id' => $crmId,\n ];\n\n $values = array_merge($attributes, $data);\n\n $opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);\n\n $this->importExternalFieldData($properties, $opportunity->getId());\n $this->importOpportunityContacts($opportunity, $associations['contacts']);\n\n if ($opportunity->wasRecentlyCreated) {\n MatchActivitiesToNewOpportunity::dispatch($opportunity->getId());\n }\n\n return $opportunity;\n }\n\n /**\n * Update existing opportunity\n */\n private function updateOpportunity(string $crmId, array $properties, array $associations): Opportunity\n {\n $accountId = $this->resolveAccountId($associations);\n $businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);\n $stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;\n\n $data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);\n\n $attributes = [\n 'crm_configuration_id' => $this->config->getId(),\n 'crm_provider_id' => $crmId,\n ];\n\n $values = array_merge($attributes, $data);\n $opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);\n\n $this->importExternalFieldData($properties, $opportunity->getId());\n $this->updateOpportunityAssociations($opportunity, $associations);\n\n return $opportunity;\n }\n\n private function resolveAccountId(array $associations): ?int\n {\n if (! empty($associations['accountId'])) {\n return $associations['accountId'];\n }\n\n if (empty($associations)) {\n return null;\n }\n\n // we can't resolve multiple account ids (currently SDK returns one company)\n foreach ($associations['companies'] as $accountId) {\n return $accountId;\n }\n\n return null;\n }\n\n private function buildOpportunityData(\n array $properties,\n ?int $accountId,\n ?BusinessProcess $businessProcess,\n ?Stage $stage\n ): array {\n $ownerId = null;\n $profile = null;\n if (! empty($properties['hubspot_owner_id'])) {\n $ownerId = $properties['hubspot_owner_id'];\n $profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);\n }\n\n $name = 'Unknown';\n if (isset($properties['dealname'])) {\n $name = mb_strimwidth($properties['dealname'], 0, 128);\n }\n\n $amount = $this->resolveAmount($properties);\n $currency = $properties['deal_currency_code'] ?? null;\n\n $closeDate = null;\n if (! empty($properties['closedate'])) {\n $closeDate = Carbon::parse($properties['closedate'])->format('Y-m-d');\n }\n\n $remotelyCreatedAt = null;\n if (! empty($properties['createdate']) && strtotime($properties['createdate'])) {\n $date = $this->parseCleanDatetime($properties['createdate']);\n $remotelyCreatedAt = $date?->format('Y-m-d H:i:s');\n }\n\n $closedStages = $this->getClosedDealStages();\n $isWon = in_array($properties['dealstage'], $closedStages['won']);\n $isLost = in_array($properties['dealstage'], $closedStages['lost']);\n\n $data = [\n 'team_id' => $this->team->getId(),\n 'user_id' => $profile ? $profile->user_id : null,\n 'owner_id' => $ownerId,\n 'name' => $name,\n 'value' => ! empty($amount) ? $amount : null,\n 'currency_code' => CurrencyFormatter::formatCode($currency),\n 'close_date' => $closeDate,\n 'is_closed' => $isWon || $isLost,\n 'is_won' => $isWon,\n 'remotely_created_at' => $remotelyCreatedAt,\n 'probability' => $this->resolveDealProbability($properties['hs_deal_stage_probability']),\n 'forecast_category' => $this->resolveForecastCategory($properties['hs_manual_forecast_category']),\n ];\n\n if ($accountId) {\n $data['account_id'] = $accountId;\n }\n\n if ($stage) {\n $data['stage_id'] = $stage->id;\n }\n\n if ($businessProcess) {\n $recordType = $this->crmEntityRepository->getBusinessProcessRecordType($businessProcess);\n if ($recordType) {\n $data['record_type_id'] = $recordType->id;\n }\n }\n\n return $data;\n }\n\n private function resolveBusinessProcess(?string $pipelineId): ?BusinessProcess\n {\n if ($pipelineId === null) {\n return null;\n }\n\n if (isset($this->cachedBusinessProcesses[$pipelineId])) {\n return $this->cachedBusinessProcesses[$pipelineId];\n }\n\n $businessProcess = $this->getBusinessProcess($pipelineId);\n\n if (! $businessProcess instanceof BusinessProcess) {\n $this->importStages();\n $businessProcess = $this->getBusinessProcess($pipelineId);\n }\n\n if (! $businessProcess instanceof BusinessProcess) {\n $this->logger->info(\n '[HubSpot] Deal is not attached to a pipeline',\n [\n 'pipeline' => $pipelineId]\n );\n }\n\n $this->cachedBusinessProcesses[$pipelineId] = $businessProcess;\n\n return $businessProcess;\n }\n\n private function getBusinessProcess(string $pipelineId): ?BusinessProcess\n {\n return $this->crmEntityRepository->findBusinessProcessesByExternalId($this->config, $pipelineId);\n }\n\n private function resolveStage(BusinessProcess $businessProcess, ?string $stageId): ?Stage\n {\n if (empty($stageId)) {\n return null;\n }\n\n $cacheKey = $businessProcess->getId() . ':' . $stageId;\n if (isset($this->cachedStages[$cacheKey])) {\n return $this->cachedStages[$cacheKey];\n }\n\n $stage = $this->crmEntityRepository->getPipelineStageByConditions(\n $businessProcess,\n [\n 'crm_provider_id' => $stageId,\n 'type' => Stage::TYPE_OPPORTUNITY,\n ]\n );\n\n if ($stage === null) {\n $this->importStages(null, $stageId);\n }\n\n if ($stage === null) {\n $this->logger->info('[HubSpot] Stage does not exist => ' . $stageId);\n }\n\n $this->cachedStages[$cacheKey] = $stage;\n\n return $stage;\n }\n\n private function resolveAmount(array $properties): ?string\n {\n $amount = null;\n if (! empty($properties['amount'])) {\n $amount = str_replace(',', '', $properties['amount']);\n }\n\n if ($this->config->hasDefaultCurrencyFieldSet()) {\n $valueFieldName = $this->config->getDefaultCurrencyField()->getCrmProviderId();\n $amount = $properties[$valueFieldName] ?? $amount;\n }\n\n return $amount;\n }\n\n private function parseCleanDatetime(string $datetime): ?Carbon\n {\n // Treat pre-1980 values as invalid\n $minValidDate = Carbon::parse('1980-01-01 00:00:00');\n\n try {\n $date = Carbon::parse($datetime);\n\n if ($minValidDate->gt($date)) {\n return null;\n }\n\n return $date;\n } catch (Exception) {\n return null; // On parse error, treat as null\n }\n }\n\n private function resolveDealProbability(?string $stageProbability): int\n {\n if ($stageProbability === null) {\n return 0;\n }\n\n $probability = (float) $stageProbability;\n\n return $probability > 1 ? 0 : (int) ($probability * 100);\n }\n\n private function resolveForecastCategory(?string $forecastCategory): string\n {\n if (! $forecastCategory) {\n return Forecast::FORECAST_CATEGORY_UNCATEGORIZED;\n }\n\n $forecastCategory = str_replace('_', ' ', $forecastCategory);\n\n return ucwords(strtolower($forecastCategory));\n }\n\n private function importExternalFieldData(array $properties, int $opportunityId): void\n {\n $crmFields = $this->getOpportunitySyncableFields();\n $this->importOpportunityCrmFieldData($properties, $crmFields, $opportunityId);\n }\n\n private function importOpportunityContacts(Opportunity $opportunity, array $associations): void\n {\n // Handle empty or missing contact associations\n if (empty($associations)) {\n // Remove all existing contact associations if none provided\n $this->removeAllOpportunityContacts($opportunity);\n\n return;\n }\n\n // Use differential sync approach for better performance and accuracy\n $this->syncOpportunityContactsDifferential($opportunity, $associations);\n }\n\n /**\n * Sync opportunity contacts using differential approach\n * This compares current vs new associations and only makes necessary changes\n */\n private function syncOpportunityContactsDifferential(Opportunity $opportunity, array $contactAssociations): void\n {\n $currentContactCrmIds = $this->getCurrentContactCrmIds($opportunity);\n $contactAssociationIds = array_keys($contactAssociations);\n\n $contactsToAdd = array_diff($contactAssociationIds, $currentContactCrmIds);\n $contactsToRemove = array_diff($currentContactCrmIds, $contactAssociationIds);\n\n if (empty($contactsToAdd) && empty($contactsToRemove)) {\n return;\n }\n\n $this->logContactAssociationChanges($opportunity, $currentContactCrmIds, $contactAssociations, $contactsToAdd, $contactsToRemove);\n\n $this->removeContactAssociations($opportunity, $contactsToRemove);\n $this->addContactAssociations($opportunity, $contactsToAdd, $contactAssociations);\n }\n\n private function getCurrentContactCrmIds(Opportunity $opportunity): array\n {\n return $opportunity->contacts()\n ->pluck('contacts.crm_provider_id')\n ->toArray();\n }\n\n private function logContactAssociationChanges(\n Opportunity $opportunity,\n array $currentContactCrmIds,\n array $contactAssociations,\n array $contactsToAdd,\n array $contactsToRemove\n ): void {\n $this->logger->info('[' . $this->getDisplayName() . '] Contact association changes', [\n 'opportunity_id' => $opportunity->getId(),\n 'current_contacts' => $currentContactCrmIds,\n 'new_contacts' => $contactAssociations,\n 'contacts_to_add' => $contactsToAdd,\n 'contacts_to_remove' => $contactsToRemove,\n ]);\n }\n\n private function removeContactAssociations(Opportunity $opportunity, array $contactsToRemove): void\n {\n if (empty($contactsToRemove)) {\n return;\n }\n\n $contactsToDetach = $opportunity->contacts()\n ->whereIn('contacts.crm_provider_id', $contactsToRemove)\n ->pluck('contacts.id')\n ->toArray();\n\n if (! empty($contactsToDetach)) {\n $opportunity->contacts()->detach($contactsToDetach);\n\n $this->logger->info('[' . $this->getDisplayName() . '] Removed contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'removed_contact_crm_ids' => $contactsToRemove,\n 'removed_contact_count' => count($contactsToDetach),\n ]);\n }\n }\n\n private function addContactAssociations(Opportunity $opportunity, array $contactsToAdd, array $contactAssociations): void\n {\n if (empty($contactsToAdd)) {\n return;\n }\n\n $contactsAdded = [];\n foreach ($contactsToAdd as $crmId) {\n $id = $contactAssociations[$crmId];\n\n if ($this->attachSingleContact($opportunity, (string) $crmId, $id)) {\n $contactsAdded[] = $crmId;\n }\n }\n\n $this->logAddedContacts($opportunity, $contactsAdded);\n }\n\n private function attachSingleContact(Opportunity $opportunity, string $crmId, int $id): bool\n {\n try {\n $contact = $this->crmEntityRepository->findContactByConfigurationAndId($this->config, $id);\n\n if (! $contact) {\n return false;\n }\n\n return $this->performContactAttachment($opportunity, $contact, $crmId);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to add contact association', [\n 'opportunity_id' => $opportunity->getId(),\n 'contact_crm_id' => $crmId,\n 'error' => $e->getMessage(),\n ]);\n\n return false;\n }\n }\n\n private function performContactAttachment(Opportunity $opportunity, Contact $contact, string $crmId): bool\n {\n try {\n $opportunity->contacts()->attach($contact->getId(), [\n 'crm_provider_id' => $crmId,\n ]);\n\n return true;\n } catch (\\Illuminate\\Database\\QueryException $e) {\n if (str_contains($e->getMessage(), 'Duplicate entry')) {\n $this->logger->info('[' . $this->getDisplayName() . '] Contact association already exists', [\n 'contact_id' => $contact->getId(),\n 'contact_crm_id' => $crmId,\n 'opportunity_id' => $opportunity->getId(),\n ]);\n\n return false;\n }\n\n throw $e;\n }\n }\n\n private function logAddedContacts(Opportunity $opportunity, array $contactsAdded): void\n {\n if (! empty($contactsAdded)) {\n $this->logger->info('[' . $this->getDisplayName() . '] Added contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'contacts_to_add_count' => count($contactsAdded),\n 'added_contact_crm_ids' => $contactsAdded,\n 'added_contacts_count' => count($contactsAdded),\n ]);\n }\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Services\\Crm\\Hubspot\\ServiceTraits;\n\nuse Carbon\\Carbon;\nuse HubSpot\\Client\\Crm\\Deals\\Model\\CollectionResponseAssociatedId;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Models\\Account;\nuse Exception;\nuse Jiminny\\Component\\DealInsights\\Forecast\\Forecast;\nuse Jiminny\\Jobs\\Crm\\MatchActivitiesToNewOpportunity;\nuse Jiminny\\Models\\Contact;\nuse Jiminny\\Models\\Crm\\BusinessProcess;\nuse Jiminny\\Exceptions\\CrmException;\nuse Jiminny\\Models\\Opportunity;\nuse Illuminate\\Support\\Collection;\nuse Jiminny\\Models\\Stage;\nuse Jiminny\\Repositories\\Crm\\CrmEntityRepository;\nuse Jiminny\\Services\\Crm\\Hubspot\\DealFieldsService;\nuse Jiminny\\Services\\Crm\\Hubspot\\OpportunitySyncStrategy\\HubspotSingleSyncStrategy;\nuse Jiminny\\Services\\Crm\\Hubspot\\WebhookSyncBatchProcessor;\nuse Jiminny\\Services\\Crm\\OpportunitySyncStrategyResolver;\nuse Jiminny\\Utils\\CurrencyFormatter;\n\n/**\n * Optimized sync methods for better performance\n * These methods can be integrated into SyncCrmEntitiesTrait for significant performance gains\n */\ntrait OpportunitySyncTrait\n{\n private const int BATCH_SIZE = 100;\n private const int BATCH_PROCESS_SIZE = 800;\n\n protected OpportunitySyncStrategyResolver $opportunitySyncStrategyResolver;\n protected CrmEntityRepository $crmEntityRepository;\n protected DealFieldsService $dealFieldsService;\n\n private ?array $cachedClosedDealStages = null;\n private array $cachedBusinessProcesses = [];\n private array $cachedStages = [];\n\n public function syncOpportunities(array $parameters, ?string $strategy = null): int\n {\n $strategies = $this->opportunitySyncStrategyResolver->getStrategies($this->config, $strategy);\n $parameters['config'] = $this->config;\n $syncCount = 0;\n $reportedTotal = 0;\n $lastSyncedId = [];\n\n try {\n foreach ($strategies as $strategyName => $syncStrategy) {\n $this->logger->info(\n '[' . $this->getDisplayName() . '] Syncing opportunities using strategy: ' .\n $strategyName\n );\n\n $total = 0;\n $lastId = null;\n $buffer = [];\n\n // HubspotWebhookBatchSyncStrategy returns empty generator, this is for other strategies\n foreach ($syncStrategy->fetchOpportunities($parameters, $total, $lastId) as $hsOpportunity) {\n $buffer[] = $hsOpportunity;\n\n // process every 800 rows (fits < 1 000 association limit)\n if (\\count($buffer) >= self::BATCH_PROCESS_SIZE) {\n $syncCount += $this->processOpportunityBatch($buffer);\n $buffer = [];\n }\n }\n\n // leftovers\n if ($buffer) {\n $syncCount += $this->processOpportunityBatch($buffer);\n }\n\n $reportedTotal += $total;\n $lastSyncedId = $lastId;\n }\n } catch (\\HubSpot\\Client\\Crm\\Deals\\ApiException | CrmException $e) {\n $this->handleSyncException($e, $parameters);\n }\n\n $this->logger->info(\n '[HubSpot] Synced opportunities',\n [\n 'team' => $this->team->getId(),\n 'sync_count' => $syncCount,\n 'total' => $reportedTotal,\n 'last_synced_id' => $lastSyncedId,\n ]\n );\n\n return $reportedTotal;\n }\n\n private function handleSyncException(\\Throwable $e, array $parameters): void\n {\n if (($parameters['since'] ?? null) instanceof Carbon) {\n $parameters['since'] = $parameters['since']->toDateTimeString();\n }\n $parameters['config'] = $this->config->getId();\n\n $this->logger->warning('[' . $this->getDisplayName() . '] Sync opportunities failed', [\n 'teamId' => $this->team->getUuid(),\n 'parameters' => $parameters,\n 'reason' => $e->getMessage(),\n ]);\n }\n\n /**\n * @inheritdoc\n */\n public function syncOpportunity(string $crmId): ?Opportunity\n {\n $strategy = $this->opportunitySyncStrategyResolver->resolve(\n $this->config,\n OpportunitySyncStrategyResolver::SINGLE_SYNC_OPPORTUNITY_STRATEGY,\n );\n\n $parameters = [\n 'config' => $this->config,\n 'crm_id' => $crmId,\n ];\n\n try {\n if (! $strategy instanceof HubspotSingleSyncStrategy) {\n throw new InvalidArgumentException('Strategy must by HubspotSingleSyncStrategy');\n }\n\n $hsOpportunity = $strategy->fetchOpportunity($parameters);\n } catch (\\HubSpot\\Client\\Crm\\Deals\\ApiException $e) {\n $this->logger->info('[' . $this->getDisplayName() . '] Opportunity not found', [\n 'teamId' => $this->team->getUuid(),\n 'crmId' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n return null;\n }\n\n $hsOpportunity['associations'] = $this->convertDealAssociations($hsOpportunity['associations'] ?? []);\n\n return $this->importOrUpdateOpportunity($hsOpportunity);\n }\n\n /**\n * Process webhook-collected opportunity batches.\n *\n * Drains Redis sets containing company CRM IDs collected from webhook events\n * and dispatches ImportOpportunityBatch jobs for batch processing.\n *\n * @return int Number of opportunity IDs dispatched to jobs\n */\n public function batchSyncOpportunities(): int\n {\n $configId = $this->team->getCrmConfiguration()->getId();\n\n return $this->batchProcessor->processBatchesForObjectType(\n WebhookSyncBatchProcessor::OBJECT_TYPE_DEAL,\n $configId\n );\n }\n\n /**\n * Import a batch of opportunities by their CRM IDs.\n * Fetches opportunity data from HubSpot API and delegates to importOpportunityBatch().\n *\n * @param array<string> $crmIds HubSpot deal CRM IDs\n *\n * @return array{success: array, failed_ids: array, errors?: array<string, string>}\n */\n public function importOpportunityBatchByIds(array $crmIds): array\n {\n $fields = $this->dealFieldsService->getFieldsForConfiguration($this->config);\n\n $allDeals = [];\n foreach (array_chunk($crmIds, self::BATCH_SIZE) as $chunk) {\n $deals = $this->client->getOpportunitiesByIds($chunk, $fields);\n foreach ($deals as $deal) {\n $allDeals[] = $deal;\n }\n }\n\n // IDs not returned by HubSpot are likely deleted or inaccessible deals.\n // These are not failures — retrying won't bring them back.\n $fetchedIds = array_map('strval', array_column($allDeals, 'id'));\n $notFoundIds = array_values(array_diff(array_map('strval', $crmIds), $fetchedIds));\n\n if (! empty($notFoundIds)) {\n $this->logger->info('[' . $this->getDisplayName() . '] CRM IDs not found in HubSpot (likely deleted)', [\n 'teamId' => $this->team->getId(),\n 'notFoundCount' => \\count($notFoundIds),\n 'notFoundIds' => $notFoundIds,\n 'requestedCount' => \\count($crmIds),\n 'fetchedCount' => \\count($allDeals),\n ]);\n }\n\n if (empty($allDeals)) {\n return ['success' => [], 'failed_ids' => []];\n }\n\n return $this->importOpportunityBatch($allDeals);\n }\n\n private function getClosedDealStages(): array\n {\n if ($this->cachedClosedDealStages !== null) {\n return $this->cachedClosedDealStages;\n }\n\n $stages = $this->crmEntityRepository->getOpportunityClosedStages($this->config);\n $data = [\n 'lost' => [],\n 'won' => [],\n ];\n\n foreach ($stages as $stage) {\n if ($stage->probability == 0.00) {\n $data['lost'][] = $stage->crm_provider_id;\n }\n if ($stage->probability == 100.00) {\n $data['won'][] = $stage->crm_provider_id;\n }\n }\n\n $this->cachedClosedDealStages = $data;\n\n return $data;\n }\n\n /**\n * Import deals into the database with pre-fetched associations.\n *\n * API calls here (getAssociationsData, getExistingOpportunityCrmIds) are NOT\n * caught — if they throw, the exception propagates to ImportOpportunityBatch::handle()\n * where Laravel retries the whole job with backoff. After all retries exhausted,\n * failed() requeues all IDs to Redis.\n *\n * The per-deal loop catches exceptions individually. A deal can end up in three states:\n * - success: imported/updated successfully\n * - failed_ids: exception thrown (DB constraint violation, corrupt data, etc.)\n * These are permanent issues — retrying won't fix them.\n * - skipped (null): missing dependencies (no account, unknown pipeline/stage).\n * This is acceptable — the deal cannot be imported until those exist.\n */\n private function importOpportunityBatch(array $deals): array\n {\n $syncedOpportunities = [\n 'success' => [],\n 'failed_ids' => [],\n ];\n $dealIds = array_column($deals, 'id');\n\n // Shared association/existing-ID preparation is batch-level state. If it fails, rethrow so the\n // queue job retries the whole batch and eventually requeues all deal IDs back to Redis.\n try {\n $companyAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'companies');\n $contactAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'contacts');\n\n $associationsData = $this->prepareAssociatedEntities($companyAssociations, $contactAssociations);\n\n $existingCrmIds = $this->crmEntityRepository->getExistingOpportunityCrmIds(\n $this->config,\n array_map('strval', $dealIds)\n );\n $existingCrmIdSet = array_flip($existingCrmIds);\n } catch (\\Throwable $e) {\n $this->logger->error('[' . $this->getDisplayName() . '] Failed to fetch associations or existing IDs', [\n 'teamId' => $this->team->getId(),\n 'dealCount' => count($dealIds),\n 'error' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n foreach ($deals as $deal) {\n try {\n $deal['associations'] = $this->prepareAssociationsForOpportunity(\n $deal['id'],\n $companyAssociations,\n $contactAssociations,\n $associationsData\n );\n\n $syncedOpportunity = $this->importOrUpdateOpportunity(\n $deal,\n isset($existingCrmIdSet[(string) $deal['id']])\n );\n if ($syncedOpportunity) {\n $syncedOpportunities['success'][] = $syncedOpportunity;\n }\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to import opportunity', [\n 'teamId' => $this->team->getId(),\n 'crmId' => $deal['id'],\n 'error' => $e->getMessage(),\n ]);\n $syncedOpportunities['failed_ids'][] = $deal['id'];\n $syncedOpportunities['errors'][$deal['id']] = $e->getMessage();\n }\n }\n\n return $syncedOpportunities;\n }\n\n /**\n * Prepare associated entities for opportunities with optimized batch processing\n * Returns structured data with CRM ID to DB ID mappings for each opportunity\n */\n private function prepareAssociatedEntities(array $companyAssociations, array $contactAssociations): array\n {\n // Step 1: Collect all unique company and contact IDs from associations\n $allCompanyIds = $this->flattenAssociationIds($companyAssociations);\n $allContactIds = $this->flattenAssociationIds($contactAssociations);\n\n // Step 2: Batch sync missing entities and get CRM ID to DB ID mappings\n $companyIdMappings = [];\n $contactIdMappings = [];\n\n if (! empty($allCompanyIds)) {\n $companyIdMappings = $this->prepareAssociatedAccounts($allCompanyIds);\n }\n\n if (! empty($allContactIds)) {\n $contactIdMappings = $this->prepareAssociatedContacts($allContactIds);\n }\n\n return [\n 'company_id_mappings' => $companyIdMappings,\n 'contact_id_mappings' => $contactIdMappings,\n ];\n }\n\n /**\n * Flatten association data to get unique IDs\n */\n private function flattenAssociationIds(array $associations): array\n {\n $ids = [];\n foreach ($associations as $dealAssociations) {\n if (is_array($dealAssociations)) {\n foreach ($dealAssociations as $id) {\n $ids[$id] = true;\n }\n }\n }\n\n return array_keys($ids);\n }\n\n /**\n * Batch sync missing accounts\n */\n private function prepareAssociatedAccounts(array $companyIds): array\n {\n // Find which accounts already exist\n $existingAccounts = $this->crmEntityRepository\n ->findAccountsByExternalIds($this->config, $companyIds);\n\n $existingCompanyIds = $existingAccounts->pluck('crm_provider_id')->toArray();\n\n $existingAccountsData = $existingAccounts->mapWithKeys(function ($account) {\n return [$account->getCrmProviderId() => $account->getId()];\n })->toArray();\n\n $missingCompanyIds = array_diff($companyIds, $existingCompanyIds);\n\n if (empty($missingCompanyIds)) {\n return $existingAccountsData;\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing accounts', [\n 'teamId' => $this->team->getUuid(),\n 'total_companies' => count($companyIds),\n 'existing_companies' => count($existingCompanyIds),\n 'missing_companies' => count($missingCompanyIds),\n ]);\n\n // we already have limit on opportunity ids count\n // Initialize variable before try block\n $syncedAccountsData = [];\n\n try {\n $syncedAccountsData = $this->batchSyncCrmObjects('companies', $missingCompanyIds);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing accounts', [\n 'size' => count($missingCompanyIds),\n 'error' => $e->getMessage(),\n ]);\n $syncedAccountsData = [];\n }\n\n return $existingAccountsData + $syncedAccountsData;\n }\n\n /**\n * Prepare associated contacts - find existing and sync missing ones\n * Returns mapping of CRM ID to DB ID\n */\n private function prepareAssociatedContacts(array $contactIds): array\n {\n // Find which contacts already exist\n $existingContacts = $this->crmEntityRepository\n ->findContactsByExternalIds($this->config, $contactIds);\n\n $existingContactIds = $existingContacts->pluck('crm_provider_id')->toArray();\n\n // Create mapping for existing contacts\n $existingContactsData = $existingContacts->mapWithKeys(function ($contact) {\n return [$contact->getCrmProviderId() => $contact->getId()];\n })->toArray();\n\n $missingContactIds = array_diff($contactIds, $existingContactIds);\n\n if (empty($missingContactIds)) {\n return $existingContactsData;\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing contacts', [\n 'teamId' => $this->team->getUuid(),\n 'total_contacts' => count($contactIds),\n 'existing_contacts' => count($existingContactIds),\n 'missing_contacts' => count($missingContactIds),\n ]);\n\n // Sync missing contacts using batch API\n try {\n $syncedContactsData = $this->batchSyncCrmObjects('contacts', $missingContactIds);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing contacts', [\n 'size' => count($missingContactIds),\n 'error' => $e->getMessage(),\n ]);\n $syncedContactsData = [];\n }\n\n return $existingContactsData + $syncedContactsData;\n }\n\n private function batchSyncCrmObjects(string $objectType, array $crmIds): array\n {\n $syncObjects = [];\n $crmObjectIds = array_values($crmIds);\n\n foreach (array_chunk($crmObjectIds, self::BATCH_SIZE) as $chunk) {\n try {\n $objects = $objectType === 'companies' ?\n $this->client->getCompaniesByIds($chunk, $this->getCompanyFields()) :\n $this->client->getContactsByIds($chunk, $this->getContactFields());\n\n foreach ($objects as $objectId => $objectData) {\n $this->importCrmObject($objectType, (string) $objectId, $objectData, $syncObjects);\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch synced ' . $objectType, [\n 'requested_count' => count($chunk),\n 'synced_count' => count($objects),\n ]);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Batch ' . $objectType . ' sync failed', [\n 'ids' => $chunk,\n 'error' => $e->getMessage(),\n ]);\n }\n }\n\n return $syncObjects;\n }\n\n private function importCrmObject(string $objectType, string $objectId, mixed $objectData, array &$syncObjects): void\n {\n try {\n $object = $objectType === 'companies' ?\n $this->importAccount($objectData) :\n $this->importContact($objectData);\n\n if ($object) {\n $syncObjects[$object->getCrmProviderId()] = $object->getId();\n }\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to import batch ' . $objectType, [\n 'id' => $objectId,\n 'error' => $e->getMessage(),\n ]);\n }\n }\n\n /**\n * Prepare associations for a single opportunity\n *\n * The return value is an array with the following structure:\n * [\n * 'companies' => [\n * $companyCrmId => $companyId,\n * ...\n * ],\n * 'contacts' => [\n * $contactCrmId => $contactId,\n * ...\n * ],\n * 'account_id' => $accountId,\n * ]\n */\n private function prepareAssociationsForOpportunity(\n string $oppCrmId,\n array $companyAssociations,\n array $contactAssociations,\n array $associationsData\n ): array {\n $associations = [\n 'companies' => [],\n 'contacts' => [],\n 'account_id' => null, // Primary account for opportunity\n ];\n\n $oppCompanyIds = $companyAssociations[$oppCrmId] ?? [];\n foreach ($oppCompanyIds as $companyCrmId) {\n if (isset($associationsData['company_id_mappings'][$companyCrmId])) {\n $associations['companies'][$companyCrmId] = $associationsData['company_id_mappings'][$companyCrmId];\n\n // Set primary account (first company becomes primary account)\n if ($associations['account_id'] === null) {\n $associations['account_id'] = $associationsData['company_id_mappings'][$companyCrmId];\n }\n }\n }\n\n $oppContactIds = $contactAssociations[$oppCrmId] ?? [];\n foreach ($oppContactIds as $contactCrmId) {\n if (isset($associationsData['contact_id_mappings'][$contactCrmId])) {\n $associations['contacts'][$contactCrmId] = $associationsData['contact_id_mappings'][$contactCrmId];\n }\n }\n\n return $associations;\n }\n\n /**\n * Update only associations for an opportunity\n */\n private function updateOpportunityAssociations(Opportunity $opportunity, array $associations): void\n {\n // Update contact associations\n $this->importOpportunityContacts($opportunity, $associations['contacts']);\n\n // Update company (account) associations\n $this->updateOpportunityAccount($opportunity, $associations['account_id']);\n }\n\n /**\n * Remove all contact associations from an opportunity\n */\n private function removeAllOpportunityContacts(Opportunity $opportunity): void\n {\n $currentCount = (int) $opportunity->contacts()->count();\n\n if ($currentCount > 0) {\n $opportunity->contacts()->detach();\n\n $this->logger->info('[' . $this->getDisplayName() . '] Removed all contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'removed_count' => $currentCount,\n ]);\n }\n }\n\n private function updateOpportunityAccount(Opportunity $opportunity, ?int $accountId): void\n {\n if ($accountId === null) {\n // No account ID provided - keep current account\n return;\n }\n\n $currentAccountId = $opportunity->getAccountId();\n\n // Only update if account has changed\n if ($currentAccountId !== $accountId) {\n $opportunity->account_id = $accountId;\n $opportunity->save();\n\n $this->logger->info('[' . $this->getDisplayName() . '] Updated opportunity account association', [\n 'opportunity_id' => $opportunity->getId(),\n 'old_account_id' => $currentAccountId,\n 'new_account_id' => $accountId,\n ]);\n }\n }\n\n /**\n * Find existing opportunities by external IDs (OPTIMIZED VERSION)\n * Uses batch query for better performance\n */\n private function findExistingOpportunities(array $crmIds): Collection\n {\n return $this->crmEntityRepository\n ->findOpportunitiesByExternalIds($this->config, $crmIds);\n }\n\n private function processOpportunityBatch(array $opportunities): int\n {\n $syncedOpportunities = $this->importOpportunityBatch($opportunities);\n\n return count($syncedOpportunities['success'] ?? []);\n }\n\n /**\n * Convert single deal associations from HubSpot format to internal format\n * Handles both HubSpot SDK objects and array formats\n *\n * @param array $opportunityAssociations Raw associations from HubSpot API or pre-processed\n *\n * @return array Processed associations with DB IDs\n */\n private function convertDealAssociations(array $opportunityAssociations): array\n {\n $associations = $this->initializeAssociationsStructure();\n\n if (empty($opportunityAssociations)) {\n return $associations;\n }\n\n $associationIds = $this->extractAssociationIds($opportunityAssociations);\n\n $this->processCompanyAssociations($associationIds, $associations);\n $this->processContactAssociations($associationIds, $associations);\n\n return $associations;\n }\n\n private function initializeAssociationsStructure(): array\n {\n return [\n 'companies' => [],\n 'contacts' => [],\n 'account_id' => null, // Primary account for opportunity\n ];\n }\n\n private function extractAssociationIds(array $opportunityAssociations): array\n {\n $associationIds = [];\n\n foreach ($opportunityAssociations as $type => $associationData) {\n if (! empty($associationData)) {\n $associationIds[$type] = $this->convertSingleDealAssociations($associationData);\n }\n }\n\n return $associationIds;\n }\n\n private function processCompanyAssociations(array $associationIds, array &$associations): void\n {\n if (empty($associationIds['companies'])) {\n return;\n }\n\n $companyId = $associationIds['companies'][0];\n $account = $this->findOrSyncAccount($companyId);\n\n if ($account instanceof Account) {\n $associations['companies'][$companyId] = $account->getId();\n $associations['account_id'] = $account->getId();\n }\n }\n\n private function processContactAssociations(array $associationIds, array &$associations): void\n {\n if (empty($associationIds['contacts'])) {\n return;\n }\n\n foreach ($associationIds['contacts'] as $contactId) {\n $contact = $this->findOrSyncContact($contactId);\n\n if ($contact instanceof Contact) {\n $associations['contacts'][$contactId] = $contact->getId();\n }\n }\n }\n\n private function findOrSyncAccount(string $companyId): ?Account\n {\n $account = $this->crmEntityRepository->findAccountByExternalId($this->config, $companyId);\n\n if (! $account instanceof Account) {\n $account = $this->syncAccount($companyId);\n }\n\n return $account;\n }\n\n private function findOrSyncContact(string $contactId): ?Contact\n {\n $contact = $this->crmEntityRepository->findContactByExternalId($this->config, $contactId);\n\n if (! $contact instanceof Contact) {\n $contact = $this->syncContact($contactId);\n }\n\n return $contact;\n }\n\n private function convertSingleDealAssociations($opportunityAssociations = null): array\n {\n $associationData = [];\n\n if ($opportunityAssociations === null) {\n return $associationData;\n }\n\n // Handle array input (from extractAssociationIds)\n if (is_array($opportunityAssociations)) {\n return $opportunityAssociations;\n }\n\n // Handle CollectionResponseAssociatedId object\n if ($opportunityAssociations instanceof CollectionResponseAssociatedId) {\n foreach ($opportunityAssociations->getResults() as $association) {\n $associationData[] = $association->getId();\n }\n }\n\n return $associationData;\n }\n\n private function importOrUpdateOpportunity($crmData, ?bool $exists = null): ?Opportunity\n {\n if (empty($crmData['properties'])) {\n return null;\n }\n\n $crmId = (string) $crmData['id'];\n $properties = $crmData['properties'];\n $associations = $crmData['associations'] ?? [];\n\n $opportunityExists = $exists ?? (bool) $this->crmEntityRepository->findOpportunityByExternalId(\n $this->config,\n $crmId\n );\n\n if ($opportunityExists) {\n return $this->updateOpportunity($crmId, $properties, $associations);\n } else {\n return $this->createOpportunity($crmId, $properties, $associations);\n }\n }\n\n /**\n * Create new opportunity\n */\n private function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity\n {\n $accountId = $this->resolveAccountId($associations);\n if (! $accountId) {\n return null;\n }\n\n $businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);\n if (! $businessProcess) {\n return null;\n }\n\n $stage = $this->resolveStage($businessProcess, $properties['dealstage'] ?? null);\n if (! $stage) {\n return null;\n }\n\n $data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);\n\n $attributes = [\n 'crm_configuration_id' => $this->config->getId(),\n 'crm_provider_id' => $crmId,\n ];\n\n $values = array_merge($attributes, $data);\n\n $opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);\n\n $this->importExternalFieldData($properties, $opportunity->getId());\n $this->importOpportunityContacts($opportunity, $associations['contacts']);\n\n if ($opportunity->wasRecentlyCreated) {\n MatchActivitiesToNewOpportunity::dispatch($opportunity->getId());\n }\n\n return $opportunity;\n }\n\n /**\n * Update existing opportunity\n */\n private function updateOpportunity(string $crmId, array $properties, array $associations): Opportunity\n {\n $accountId = $this->resolveAccountId($associations);\n $businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);\n $stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;\n\n $data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);\n\n $attributes = [\n 'crm_configuration_id' => $this->config->getId(),\n 'crm_provider_id' => $crmId,\n ];\n\n $values = array_merge($attributes, $data);\n $opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);\n\n $this->importExternalFieldData($properties, $opportunity->getId());\n $this->updateOpportunityAssociations($opportunity, $associations);\n\n return $opportunity;\n }\n\n private function resolveAccountId(array $associations): ?int\n {\n if (! empty($associations['accountId'])) {\n return $associations['accountId'];\n }\n\n if (empty($associations)) {\n return null;\n }\n\n // we can't resolve multiple account ids (currently SDK returns one company)\n foreach ($associations['companies'] as $accountId) {\n return $accountId;\n }\n\n return null;\n }\n\n private function buildOpportunityData(\n array $properties,\n ?int $accountId,\n ?BusinessProcess $businessProcess,\n ?Stage $stage\n ): array {\n $ownerId = null;\n $profile = null;\n if (! empty($properties['hubspot_owner_id'])) {\n $ownerId = $properties['hubspot_owner_id'];\n $profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);\n }\n\n $name = 'Unknown';\n if (isset($properties['dealname'])) {\n $name = mb_strimwidth($properties['dealname'], 0, 128);\n }\n\n $amount = $this->resolveAmount($properties);\n $currency = $properties['deal_currency_code'] ?? null;\n\n $closeDate = null;\n if (! empty($properties['closedate'])) {\n $closeDate = Carbon::parse($properties['closedate'])->format('Y-m-d');\n }\n\n $remotelyCreatedAt = null;\n if (! empty($properties['createdate']) && strtotime($properties['createdate'])) {\n $date = $this->parseCleanDatetime($properties['createdate']);\n $remotelyCreatedAt = $date?->format('Y-m-d H:i:s');\n }\n\n $closedStages = $this->getClosedDealStages();\n $isWon = in_array($properties['dealstage'], $closedStages['won']);\n $isLost = in_array($properties['dealstage'], $closedStages['lost']);\n\n $data = [\n 'team_id' => $this->team->getId(),\n 'user_id' => $profile ? $profile->user_id : null,\n 'owner_id' => $ownerId,\n 'name' => $name,\n 'value' => ! empty($amount) ? $amount : null,\n 'currency_code' => CurrencyFormatter::formatCode($currency),\n 'close_date' => $closeDate,\n 'is_closed' => $isWon || $isLost,\n 'is_won' => $isWon,\n 'remotely_created_at' => $remotelyCreatedAt,\n 'probability' => $this->resolveDealProbability($properties['hs_deal_stage_probability']),\n 'forecast_category' => $this->resolveForecastCategory($properties['hs_manual_forecast_category']),\n ];\n\n if ($accountId) {\n $data['account_id'] = $accountId;\n }\n\n if ($stage) {\n $data['stage_id'] = $stage->id;\n }\n\n if ($businessProcess) {\n $recordType = $this->crmEntityRepository->getBusinessProcessRecordType($businessProcess);\n if ($recordType) {\n $data['record_type_id'] = $recordType->id;\n }\n }\n\n return $data;\n }\n\n private function resolveBusinessProcess(?string $pipelineId): ?BusinessProcess\n {\n if ($pipelineId === null) {\n return null;\n }\n\n if (isset($this->cachedBusinessProcesses[$pipelineId])) {\n return $this->cachedBusinessProcesses[$pipelineId];\n }\n\n $businessProcess = $this->getBusinessProcess($pipelineId);\n\n if (! $businessProcess instanceof BusinessProcess) {\n $this->importStages();\n $businessProcess = $this->getBusinessProcess($pipelineId);\n }\n\n if (! $businessProcess instanceof BusinessProcess) {\n $this->logger->info(\n '[HubSpot] Deal is not attached to a pipeline',\n [\n 'pipeline' => $pipelineId]\n );\n }\n\n $this->cachedBusinessProcesses[$pipelineId] = $businessProcess;\n\n return $businessProcess;\n }\n\n private function getBusinessProcess(string $pipelineId): ?BusinessProcess\n {\n return $this->crmEntityRepository->findBusinessProcessesByExternalId($this->config, $pipelineId);\n }\n\n private function resolveStage(BusinessProcess $businessProcess, ?string $stageId): ?Stage\n {\n if (empty($stageId)) {\n return null;\n }\n\n $cacheKey = $businessProcess->getId() . ':' . $stageId;\n if (isset($this->cachedStages[$cacheKey])) {\n return $this->cachedStages[$cacheKey];\n }\n\n $stage = $this->crmEntityRepository->getPipelineStageByConditions(\n $businessProcess,\n [\n 'crm_provider_id' => $stageId,\n 'type' => Stage::TYPE_OPPORTUNITY,\n ]\n );\n\n if ($stage === null) {\n $this->importStages(null, $stageId);\n }\n\n if ($stage === null) {\n $this->logger->info('[HubSpot] Stage does not exist => ' . $stageId);\n }\n\n $this->cachedStages[$cacheKey] = $stage;\n\n return $stage;\n }\n\n private function resolveAmount(array $properties): ?string\n {\n $amount = null;\n if (! empty($properties['amount'])) {\n $amount = str_replace(',', '', $properties['amount']);\n }\n\n if ($this->config->hasDefaultCurrencyFieldSet()) {\n $valueFieldName = $this->config->getDefaultCurrencyField()->getCrmProviderId();\n $amount = $properties[$valueFieldName] ?? $amount;\n }\n\n return $amount;\n }\n\n private function parseCleanDatetime(string $datetime): ?Carbon\n {\n // Treat pre-1980 values as invalid\n $minValidDate = Carbon::parse('1980-01-01 00:00:00');\n\n try {\n $date = Carbon::parse($datetime);\n\n if ($minValidDate->gt($date)) {\n return null;\n }\n\n return $date;\n } catch (Exception) {\n return null; // On parse error, treat as null\n }\n }\n\n private function resolveDealProbability(?string $stageProbability): int\n {\n if ($stageProbability === null) {\n return 0;\n }\n\n $probability = (float) $stageProbability;\n\n return $probability > 1 ? 0 : (int) ($probability * 100);\n }\n\n private function resolveForecastCategory(?string $forecastCategory): string\n {\n if (! $forecastCategory) {\n return Forecast::FORECAST_CATEGORY_UNCATEGORIZED;\n }\n\n $forecastCategory = str_replace('_', ' ', $forecastCategory);\n\n return ucwords(strtolower($forecastCategory));\n }\n\n private function importExternalFieldData(array $properties, int $opportunityId): void\n {\n $crmFields = $this->getOpportunitySyncableFields();\n $this->importOpportunityCrmFieldData($properties, $crmFields, $opportunityId);\n }\n\n private function importOpportunityContacts(Opportunity $opportunity, array $associations): void\n {\n // Handle empty or missing contact associations\n if (empty($associations)) {\n // Remove all existing contact associations if none provided\n $this->removeAllOpportunityContacts($opportunity);\n\n return;\n }\n\n // Use differential sync approach for better performance and accuracy\n $this->syncOpportunityContactsDifferential($opportunity, $associations);\n }\n\n /**\n * Sync opportunity contacts using differential approach\n * This compares current vs new associations and only makes necessary changes\n */\n private function syncOpportunityContactsDifferential(Opportunity $opportunity, array $contactAssociations): void\n {\n $currentContactCrmIds = $this->getCurrentContactCrmIds($opportunity);\n $contactAssociationIds = array_keys($contactAssociations);\n\n $contactsToAdd = array_diff($contactAssociationIds, $currentContactCrmIds);\n $contactsToRemove = array_diff($currentContactCrmIds, $contactAssociationIds);\n\n if (empty($contactsToAdd) && empty($contactsToRemove)) {\n return;\n }\n\n $this->logContactAssociationChanges($opportunity, $currentContactCrmIds, $contactAssociations, $contactsToAdd, $contactsToRemove);\n\n $this->removeContactAssociations($opportunity, $contactsToRemove);\n $this->addContactAssociations($opportunity, $contactsToAdd, $contactAssociations);\n }\n\n private function getCurrentContactCrmIds(Opportunity $opportunity): array\n {\n return $opportunity->contacts()\n ->pluck('contacts.crm_provider_id')\n ->toArray();\n }\n\n private function logContactAssociationChanges(\n Opportunity $opportunity,\n array $currentContactCrmIds,\n array $contactAssociations,\n array $contactsToAdd,\n array $contactsToRemove\n ): void {\n $this->logger->info('[' . $this->getDisplayName() . '] Contact association changes', [\n 'opportunity_id' => $opportunity->getId(),\n 'current_contacts' => $currentContactCrmIds,\n 'new_contacts' => $contactAssociations,\n 'contacts_to_add' => $contactsToAdd,\n 'contacts_to_remove' => $contactsToRemove,\n ]);\n }\n\n private function removeContactAssociations(Opportunity $opportunity, array $contactsToRemove): void\n {\n if (empty($contactsToRemove)) {\n return;\n }\n\n $contactsToDetach = $opportunity->contacts()\n ->whereIn('contacts.crm_provider_id', $contactsToRemove)\n ->pluck('contacts.id')\n ->toArray();\n\n if (! empty($contactsToDetach)) {\n $opportunity->contacts()->detach($contactsToDetach);\n\n $this->logger->info('[' . $this->getDisplayName() . '] Removed contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'removed_contact_crm_ids' => $contactsToRemove,\n 'removed_contact_count' => count($contactsToDetach),\n ]);\n }\n }\n\n private function addContactAssociations(Opportunity $opportunity, array $contactsToAdd, array $contactAssociations): void\n {\n if (empty($contactsToAdd)) {\n return;\n }\n\n $contactsAdded = [];\n foreach ($contactsToAdd as $crmId) {\n $id = $contactAssociations[$crmId];\n\n if ($this->attachSingleContact($opportunity, (string) $crmId, $id)) {\n $contactsAdded[] = $crmId;\n }\n }\n\n $this->logAddedContacts($opportunity, $contactsAdded);\n }\n\n private function attachSingleContact(Opportunity $opportunity, string $crmId, int $id): bool\n {\n try {\n $contact = $this->crmEntityRepository->findContactByConfigurationAndId($this->config, $id);\n\n if (! $contact) {\n return false;\n }\n\n return $this->performContactAttachment($opportunity, $contact, $crmId);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to add contact association', [\n 'opportunity_id' => $opportunity->getId(),\n 'contact_crm_id' => $crmId,\n 'error' => $e->getMessage(),\n ]);\n\n return false;\n }\n }\n\n private function performContactAttachment(Opportunity $opportunity, Contact $contact, string $crmId): bool\n {\n try {\n $opportunity->contacts()->attach($contact->getId(), [\n 'crm_provider_id' => $crmId,\n ]);\n\n return true;\n } catch (\\Illuminate\\Database\\QueryException $e) {\n if (str_contains($e->getMessage(), 'Duplicate entry')) {\n $this->logger->info('[' . $this->getDisplayName() . '] Contact association already exists', [\n 'contact_id' => $contact->getId(),\n 'contact_crm_id' => $crmId,\n 'opportunity_id' => $opportunity->getId(),\n ]);\n\n return false;\n }\n\n throw $e;\n }\n }\n\n private function logAddedContacts(Opportunity $opportunity, array $contactsAdded): void\n {\n if (! empty($contactsAdded)) {\n $this->logger->info('[' . $this->getDisplayName() . '] Added contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'contacts_to_add_count' => count($contactsAdded),\n 'added_contact_crm_ids' => $contactsAdded,\n 'added_contacts_count' => count($contactsAdded),\n ]);\n }\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.54765624,"top":0.15069444,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"bounds":{"left":0.5578125,"top":0.15069444,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"bounds":{"left":0.57070315,"top":0.15069444,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"bounds":{"left":0.58085936,"top":0.15069444,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"bounds":{"left":0.59101564,"top":0.15069444,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"bounds":{"left":0.6039063,"top":0.15069444,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"bounds":{"left":0.61679685,"top":0.15069444,"width":0.028515626,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"bounds":{"left":0.64804685,"top":0.15069444,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.6917969,"top":0.15069444,"width":0.033203125,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"26","depth":4,"bounds":{"left":0.6421875,"top":0.17222223,"width":0.012109375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"9","depth":4,"bounds":{"left":0.65664065,"top":0.17222223,"width":0.009375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"21","depth":4,"bounds":{"left":0.6683594,"top":0.17222223,"width":0.011328125,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.6820313,"top":0.17222223,"width":0.009375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"102","depth":4,"bounds":{"left":0.69375,"top":0.17222223,"width":0.0140625,"height":0.013194445},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7097656,"top":0.17083333,"width":0.00859375,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.71835935,"top":0.17083333,"width":0.008203125,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM team_features where team_id = 1;\n\nSELECT * FROM teams WHERE name LIKE '%Vixio%'; # 340,270,11922\nSELECT * FROM users WHERE team_id = 340; # 12015\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 340\nand sa.provider = 'salesforce';\n# and sa.provider = 'salesloft';\n\nselect * from crm_fields where crm_configuration_id = 270 and object_type = 'event';\n# 125558 - Event Type - Event_Type__c\n# 125552 - Event Status - Event_Status__c\n\nSELECT * FROM sidekick_settings WHERE team_id = 340;\n\nSELECT * FROM crm_field_values WHERE crm_field_id in (125552);\n\nselect * from activities where crm_configuration_id = 270\nand type = 'conference' and crm_provider_id IS NOT NULL\nand actual_start_time > '2024-09-16 09:00:00' order by scheduled_start_time;\n\nSELECT * FROM activities WHERE id = 20871677;\nSELECT * FROM crm_field_data WHERE activity_id = 20871677;\n\nselect * from crm_layouts where crm_configuration_id = 270;\nselect * from crm_layout_entities where crm_layout_id in (886,887);\n\nSELECT * FROM crm_configurations WHERE id = 270;\n\nselect * from playbooks where team_id = 340; # 1514\nselect * from groups where team_id = 340;\nSELECT * FROM crm_fields WHERE id IN (125393, 125401);\n\nselect g.name as 'team name', p.name as 'playbook name', f.label as 'activity type field' from groups g\njoin playbooks p on g.playbook_id = p.id\njoin crm_fields f on p.activity_field_id = f.id\nwhere g.team_id = 340;\n\nSELECT * FROM activities WHERE uuid_to_bin('0c180357-67d2-419e-a8c3-b832a3490770') = uuid; # 20448716\nselect * from crm_field_data where object_id = 20448716;\n\nselect * from activities where crm_configuration_id = 270 and provider = 'salesloft' order by id desc;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%CybSafe%'; # 343,273,12008\nselect * from opportunities where team_id = 343;\nselect * from opportunities where team_id = 343 and crm_provider_id = '18099102526';\nselect * from opportunities where team_id = 343 and account_id = 945217482;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nselect * from accounts where team_id = 343 order by name asc;\n\nselect * from stages where crm_configuration_id = 273 and type = 'opportunity';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Voyado%'; # 353,283,12143\nSELECT * FROM activities WHERE crm_configuration_id = 283 and account_id = 3777844 order by id desc;\nSELECT * FROM accounts WHERE team_id = 353 AND name LIKE '%Salesloft%';\nSELECT * FROM activities WHERE id = 20717903;\n\nselect * from participants where activity_id IN (20929172,20928605,20928468,20926272,20926271,20926270,20926269,20916499,20916454,20916436,20916435,20900015,20900014,20900013,20897312,20897243,20897241,20897237,20897232,20897229,20893648,20893231,20893230,20893229,20893228,20889784,20885039,20885038,20885037,20885036,20885035,20882728,20882708,20882703,20882702,20869828,20869811,20869806,20869801,20869799,20869798,20869796,20869795,20869794,20869761,20869760,20869759,20868688,20868687,20850340,20847195,20841710,20833967,20827021,20825307,20825305,20825297,20824615,20824400,20823927,20821760,20795588,20794233,20794057,20793710,20785811,20781789,20781394,20781307,20762651,20758453,20758282,20757323,20756643,20756636,20756629,20756627,20756606,20756605,20756604,20756603,20756602,20756600,20756599,20756598,20756595,20756594,20756589,20756587,20756577,20756573,20748918,20748386,20748385,20748384,20748383,20748382,20748381,20748380,20748379,20748377,20748375,20748373,20743301,20717905,20717904,20717903,20717901,20717899);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 353\nand sa.provider = 'salesforce';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%modern world business solutions%'; # 345,275,12016, l.atkinson@mwbsolutions.co.uk\nSELECT * FROM activities WHERE uuid_to_bin('3921d399-3fef-4609-a291-b0097a166d43') = uuid;\n# id: 20940638, user: 12022, contact: 5305871\nSELECT * FROM activity_summary_logs WHERE activity_id = 20940638;\nselect * from contacts where team_id = 345 and crm_provider_id = '30891432415' order by name asc; # 5305871\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 345\nand sa.provider = 'hubspot';\n\nselect * from users where team_id = 345 and id = 12022;\nSELECT * FROM crm_profiles WHERE user_id = 12022;\nSELECT * FROM participants WHERE activity_id = 20940638;\nSELECT * FROM users u\nJOIN crm_profiles cp ON u.id = cp.user_id\nWHERE u.team_id = 345;\n\nselect * from contacts where team_id = 345 and crm_provider_id = '30880813535' order by name desc; # 5305871\n\nselect * from team_features where team_id = 345;\nSELECT * FROM activities WHERE uuid_to_bin('11701e2d-2f82-4dab-a616-1db4fad238df') = uuid; # 21115197\nSELECT * FROM participants WHERE activity_id = 20897406;\n\n\n\nSELECT * FROM activities WHERE uuid_to_bin('63ba55cd-1abc-447d-83da-0137000005b7') = uuid; # 20953912\nSELECT * FROM activities WHERE crm_configuration_id = 275 and provider = 'ringcentral' and title like '%1252629100%';\n\n\nSELECT * FROM activities WHERE id = 20946641;\nSELECT * FROM crm_profiles WHERE user_id = 10211;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120,97,10984, triger@lunio.ai\nSELECT * FROM opportunities WHERE crm_configuration_id = 97 and crm_provider_id = '006N1000006c5PpIAI';\nselect * from stages where crm_configuration_id = 97 and type = 'opportunity';\nselect * from opportunities where team_id = 120;\n\n\nselect * from crm_configurations crm join teams t on crm.id = t.crm_id\nwhere 1=1\nAND t.current_billing_plan IS NOT NULL\nAND crm.auto_sync_activity = 0\nand crm.provider = 'hubspot';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Exclaimer%'; # 270,205,10053,james.lewendon@exclaimer.com\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 270\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('b54df794-2a9a-4957-8d80-09a600ead5f8') = uuid; # 21637956\nSELECT * FROM crm_profiles WHERE user_id = 11446;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Cygnetise%'; # 372,300,12554, alex.chikly@cygnetise.com\nselect * from playbooks where team_id = 372;\nselect * from crm_fields where crm_configuration_id = 300 and object_type = 'event'; # 141340\nSELECT * FROM crm_field_values WHERE crm_field_id = 141340;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 372\nand sa.provider = 'salesforce';\n\nselect * from crm_profiles where crm_configuration_id = 300;\nSELECT * FROM crm_configurations WHERE team_id = 372;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Planday%'; # 291,242,11501,mfa@planday.com\nSELECT * FROM opportunities WHERE team_id = 291 and crm_provider_id = '006bG000005DO86QAG'; # 3207756\nselect * from crm_field_data where object_id = 3207756;\nSELECT * FROM crm_fields WHERE id = 111834;\n\nselect f.id, f.crm_provider_id AS field_name, f.label, fd.object_id AS dealId, fd.value\nFROM crm_fields f\nJOIN crm_field_data fd ON f.id = fd.crm_field_id\nWHERE f.crm_configuration_id = 242\nAND f.object_type = 'opportunity'\nAND fd.object_id IN (3207756)\nORDER BY fd.object_id, fd.updated_at;\n\nSELECT * FROM crm_configurations WHERE auto_connect = 1;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Tour%'; # 187,209,8150,salesforce-admin@tourlane.com\nselect * from group_deal_risk_types drgt join groups g on drgt.group_id = g.id\nwhere g.team_id = 187;\n\nselect * from `groups` where team_id = 187;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 187\nand sa.provider = 'salesforce';\n\n# Destination - 98870 - Destination__c\n# Stage - 79014 - StageName\n# Land Arrangement - 98856 - Land_Arrangement__c\n# Flight - 98848 - Flight__c\n# Last activity date - 98812 - LastActivityDate\n# Last modified date - 98809 - LastModifiedDate\n# Last inbound mail timestamp - 99151 - Last_Inbound_Mail_Timestamp__c\n# next call - 98864 - Next_Call__c\n\nselect * from crm_fields where crm_configuration_id = 209 and object_type = 'opportunity';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 209;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 682;\n\nselect * from opportunities where team_id = 187 and name LIKE'%Muriel Sal%';\nselect * from opportunities where team_id = 187 and user_id = 9951 and is_closed = 0;\nselect * from activities where opportunity_id = 3538248;\n\nSELECT * FROM crm_profiles WHERE user_id = 8150;\n\nselect * from deal_risks where opportunity_id = 3538248;\n\nselect * from teams where crm_id IS NULL;\n\nSELECT opp.id AS opportunity_id,\n u.group_id AS group_id,\n MAX(\n CASE\n WHEN a.type IN (\"sms-inbound\", \"sms-outbound\") THEN a.created_at\n ELSE a.actual_end_time\n END) as last_date\nFROM opportunities opp\nleft join activities a on a.opportunity_id = opp.id\ninner join users u on opp.user_id = u.id\nwhere opp.user_id IN (9951)\n\nAND opp.is_closed = 0\nand a.status IN ('completed', 'received', 'delivered') OR a.status IS NULL\ngroup by opp.id;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Cybsafe%'; # 343,301,12008,polly.morphew@cybsafe.com\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 301;\nSELECT * FROM contacts WHERE id = 6612363;\nSELECT * FROM accounts WHERE id = 4235676;\nSELECT * FROM opportunities WHERE crm_configuration_id = 301 and crm_provider_id = 32983784868;\nselect * from opportunity_stages where opportunity_id = 4503759;\n# SELECT * FROM opportunities WHERE id = 4569937;\n\nselect * from activities where crm_configuration_id = 301;\nSELECT * FROM activities WHERE uuid_to_bin('d3b2b28b-c3d0-4c2d-8ed0-eef42855278a') = uuid; # 26330370\nSELECT * FROM participants WHERE activity_id = 26330370;\n\nSELECT * FROM teams WHERE id = 375;\nselect * from playbooks where team_id = 375;\n\nselect * from stages where crm_configuration_id = 301 and type = 'opportunity';\n\nselect * from teams;\nselect * from contact_roles;\n\nSELECT * FROM opportunities WHERE team_id = 343 and user_id = 12871 and close_date >= '2024-11-01';\n\nselect * from users u join crm_profiles cp on cp.user_id = u.id where u.team_id = 343;\n\nSELECT * FROM crm_field_data WHERE object_id = 3771706;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_fields WHERE crm_configuration_id = 301 and object_type = 'opportunity'\nand crm_provider_id LIKE \"%traffic_light%\";\nSELECT * FROM crm_field_values WHERE crm_field_id IN (144020,144048,144111,144113,144126,144481,144508,144531);\n\nSELECT fd.* FROM opportunities o\nJOIN crm_field_data fd ON o.id = fd.object_id\nWHERE o.team_id = 343\n# and o.user_id IS NOT NULL\nand fd.crm_field_id IN (144020,144048,144111,144113,144126,144481,144508,144531)\nand fd.value != ''\norder by value desc\n# group by o.id\n;\n\nSELECT * FROM opportunities WHERE id = 3769843;\n\nSELECT * FROM teams WHERE name LIKE '%Tour%'; # 187,209,8150, salesforce-admin@tourlane.com\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 209;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 682;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Funding Circle%'; # 220,177,8603,aswini.mishra@fundingcircle.com\nSELECT * FROM activities WHERE uuid_to_bin('7a40e99b-3b37-4bb1-b983-325b81801c01') = uuid; # 23139839\n\n\nSELECT * FROM opportunities WHERE id = 3855992;\n\nSELECT * FROM users WHERE name LIKE '%Angus Pollard%'; # 8988\n\nSELECT * FROM teams WHERE name LIKE '%Story Terrace%'; # 379, 307, 12894\nSELECT * FROM crm_fields WHERE crm_configuration_id = 307 and object_type != 'opportunity';\n\nselect * from contacts where team_id = 379 and name like '%bebro%'; # 5874411, crm: 77229348507\nSELECT * FROM crm_field_data WHERE object_id = 5874411;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 379\nand sa.provider = 'hubspot';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%mentio%'; # 117, 94, 6371, nikhil.kumar@mention-me.com\nSELECT * FROM activities WHERE uuid_to_bin('82939311-1af0-4506-8546-21e8d1fdf2c1') = uuid;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Tourlane%'; # 187, 209, 8150, salesforce-admin@tourlane.com\nSELECT * FROM opportunities WHERE team_id = 187 and crm_provider_id = '006Se000008xfvNIAQ'; # 3537793\nselect * from generic_ai_prompts where subject_id = 3537793;\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120, 97, 10984, triger@lunio.ai\nSELECT * FROM crm_configurations WHERE id = 97;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 97;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 355;\nSELECT * FROM crm_fields WHERE id = 32682;\n\nselect cfd.value, o.* from opportunities o\njoin crm_field_data cfd on o.id = cfd.object_id and cfd.crm_field_id = 32682\nwhere team_id = 120\nand cfd.value != ''\n;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 120\nand sa.provider = 'salesforce';\n\nselect * from opportunities where team_id = 120 and crm_provider_id = '006N1000007X8MAIA0';\nSELECT * FROM crm_field_data WHERE object_id = 2313439;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE id = 410;\nSELECT * FROM teams WHERE name LIKE '%Local Business Oxford%';\nselect * from scorecards where team_id = 410;\nselect * from scorecard_rules;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Funding%'; # 220, 177, 8603, aswini.mishra@fundingcircle.com\nselect * from activities a\njoin opportunities o on a.opportunity_id = o.id\njoin users u on o.user_id = u.id\nwhere a.crm_configuration_id = 177 and a.type LIKE '%email-out%'\n# and a.actual_end_time > '2024-12-16 00:00:00'\n# and o.remotely_created_at > '2024-12-01 00:00:00'\n# and u.group_id = 1014\nand u.id = 9021\norder by a.id desc;\nSELECT * FROM opportunities WHERE id in (3981384,4017346);\nSELECT * FROM users WHERE team_id = 220 and id IN (8775, 11435);\n\nselect * from users where id = 9021;\nselect * from inboxes where user_id = 9021;\n\nselect * from inbox_emails where inbox_id = 1349 and email_date > '2024-12-18 00:00:00';\n\nselect * from email_messages where team_id = 220\nand orig_date > '2024-12-16 00:00:00' and orig_date < '2024-12-19 00:00:00'\nand subject LIKE '%Personal%'\n# and 'from' = 'credit@fundingcircle.com'\n;\n\nselect * from activities a\njoin opportunities o on a.opportunity_id = o.id\nwhere a.user_id = 9021 and a.type LIKE '%email-out%'\nand a.actual_end_time > '2024-12-18 00:00:00'\nand o.user_id IS NOT NULL\nand o.remotely_created_at > '2024-12-01 00:00:00'\norder by a.id desc;\n\nSELECT * FROM opportunities WHERE team_id = 220 and name LIKE '%Right Car move Limited%' and id = 3966852;\nselect * from activities where crm_configuration_id = 177 and type LIKE '%email%' and opportunity_id = 3966852 order by id desc;\n\nselect * from team_settings where name IN ('useCloseDate');\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Hurree%'; # 104, 81, 6175, jfarrell@hurree.co\nSELECT * FROM opportunities WHERE team_id = 104 and name = 'PropOp';\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 104\nand sa.provider = 'hubspot';\n\nselect * from crm_configurations where last_synced_at > '2025-01-19 01:00:00'\nselect * from teams where crm_id IS NULL;\n\nselect t.name as 'team', u.name as 'owner', u.email, u.phone\nfrom teams t\njoin activity_providers ap on t.id = ap.team_id\njoin users u on t.owner_id = u.id\nwhere 1=1\n and t.status = 'active'\n and ap.is_enabled = 1\n# and u.status = 1\n and ap.provider = 'ms-teams';\n\nselect * from crm_configurations where provider = 'bullhorn'; # 344\nSELECT * FROM teams WHERE id = 442; # 14293\nselect * from users where team_id = 442;\nselect * from social_accounts sa where sa.sociable_id = 14293;\nselect * from invitations where team_id = 442;\n\n# ********************************************************************************************************\nSELECT * FROM users WHERE email LIKE '%nea.liikamaa@eletive.com%'; # 14022\nSELECT * FROM teams WHERE id = 429;\nselect * from opportunities where team_id = 429 and crm_provider_id IN (16157415775, 22246219645);\nselect * from activities where opportunity_id in (4340436,4353519);\n\nselect * from transcription where activity_id IN (25630961,25381771);\nselect * from generic_ai_prompts where subject_id IN (4353519);\n\nSELECT\n a.id as activity_id,\n a.opportunity_id,\n a.type as activity_type,\n a.language,\n CONCAT(a.title, a.description) AS mail_content,\n e.from AS mail_from,\n e.to AS mail_to,\n e.subject AS mail_subject,\n e.body AS mail_body,\n p.type as prompt_type,\n p.status as prompt_status,\n p.content AS prompt_content,\n a.actual_start_time as created_at\nFROM activities a\n LEFT JOIN ai_prompts p ON a.transcription_id = p.transcription_id AND p.deleted_at IS NULL\n LEFT JOIN email_messages e ON a.id = e.activity_id\nWHERE a.actual_start_time > '2024-01-01 00:00:00'\n AND a.opportunity_id IN (4353519)\n AND a.status IN ('completed', 'received', 'delivered')\n AND a.deleted_at IS NULL\n AND a.type NOT IN ('sms-inbound', 'sms-outbound')\nORDER BY a.opportunity_id ASC, a.id ASC;\n\nSELECT * FROM users WHERE name LIKE '%George Fierstone%'; # 14293\nSELECT * FROM teams WHERE id = 442;\nSELECT * FROM crm_configurations WHERE id = 344;\nselect * from team_features where team_id = 442;\nselect * from groups where team_id = 442;\nselect * from playbooks where team_id = 442;\nselect * from playbook_categories where playbook_id = 1729;\nselect * from crm_fields where crm_configuration_id = 344 and id = 172024;\nSELECT * FROM crm_field_values WHERE crm_field_id = 172024;\nselect * from crm_layouts where crm_configuration_id = 344;\nselect * from playbook_layouts where playbook_id = 1729;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Learning%'; # 260, 221, 9444\n\nselect s.*\n# , s.sent_at, u.name, a.*\nfrom activity_summary_logs s\ninner join activities a on a.id = s.activity_id\ninner join users u on u.id = a.user_id\nwhere a.crm_configuration_id = 356\nand s.sent_at > date_sub(now(), interval 60 day)\norder by a.actual_end_time desc;\n\nselect * from activities a\n# inner join activity_summary_logs s on s.activity_id = a.id\nwhere a.crm_configuration_id = 356 and a.actual_end_time > date_sub(now(), interval 60 day)\n# and a.crm_provider_id is not null\n# and provider <> 'ringcentral'\nand status = 'completed'\norder by a.actual_end_time desc;\n\nselect * from teams order by id desc; # 17328, 32, 17830, integration-account@jiminny.com\nSELECT * FROM users;\nSELECT * FROM users where team_id = 260 and status = 1; # 201 - 150 active\nSELECT * FROM teams WHERE id = 260;\nselect * from team_settings where team_id = 260;\nselect * from crm_configurations where team_id = 260;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 356;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1184;\n\nselect * from accounts where crm_configuration_id = 221 order by id desc; # 7000\nselect * from leads where crm_configuration_id = 221 order by id desc; # 0\nselect * from contacts where crm_configuration_id = 221 order by id desc; # 200 000\nselect * from opportunities where crm_configuration_id = 221 order by id desc; # 0\nselect * from crm_profiles where crm_configuration_id = 221 order by id desc; # 23\nselect * from crm_fields where crm_configuration_id = 221;\nselect * from crm_field_values where crm_field_id = 5302 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 221 order by id desc;\nselect * from stages where crm_configuration_id = 221 order by id desc;\n\nselect * from accounts where crm_configuration_id = 356 order by id desc; # 7000\nselect * from leads where crm_configuration_id = 356 order by id desc; # 0\nselect * from contacts where crm_configuration_id = 356 order by id desc; # 200 000\nselect * from opportunities where crm_configuration_id = 356 order by id desc; # 0\nselect * from crm_profiles where crm_configuration_id = 356 order by id desc; # 23\nselect * from crm_fields where crm_configuration_id = 356;\nselect * from crm_field_values where crm_field_id = 5302 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 356 order by id desc;\nselect * from stages where crm_configuration_id = 356 order by id desc;\n\nselect * from playbooks where team_id = 260 order by id desc; # 4 (2 deleted)\nselect * from groups where team_id = 260 order by id desc; # 27 groups, (2 deleted)\nselect * from playbook_layouts where playbook_id IN (1410,1409,1276,1254); # 4\nselect ce.* from calendars c\njoin users u on c.user_id = u.id\njoin calendar_events ce on c.id = ce.calendar_id\nwhere u.team_id = 260\nand (ce.start_time > '2025-02-21 00:00:00')\n;\n# calendar events 1207\n#\n\nselect * from opportunities where team_id = 260;\nSELECT * FROM crm_field_data WHERE object_id = 4696496;\n\nselect * from activities where crm_configuration_id = 356 and crm_provider_id IS NOT NULL;\nselect * from activities where crm_configuration_id IN (221) and provider NOT IN ('ms-teams', 'uploader', 'zoom-bot')\n# and type = 'conference' and status = 'scheduled' and activities.is_internal = 0\nand created_at > '2024-03-01 00:00:00'\norder by id desc; # 880 000, ringcentral, avaya\nSELECT * FROM participants WHERE activity_id = 26371744;\n\n# all activities 942 000 +\n# conference 7385 - scheduled 984 - external 343\n\nselect * from activities where id = 26321812;\nselect * from participants where activity_id = 26321812;\nselect * from participants where activity_id in (26414510,26414514,26414516,26414604,26414653,26414655);\nselect * from leads where id in (720428,689175,731546,645866,621037);\n\nselect * from users where id = 13841;\nselect * from opportunities where user_id = 9541;\nselect * from stages where id = 15900;\n\nselect * from accounts where\n# id IN (4160055,5053725,4965303,4896434)\nid in (4584518,3249934,3218025,3891133,3399450,4172999,4485161,3101785,4587203,3070816,2870343,2870341,3563940,4550846,3424464,3249963,2870342)\n;\n\nselect * from activities where id = 26654935;\nSELECT * FROM opportunities WHERE id = 4803458;\n\nSELECT * FROM opportunities where team_id = 260 and user_id = 13841 AND stage_id = 15900;\nSELECT id, uuid, provider, type, lead_id, account_id, contact_id, opportunity_id, stage_id, status, recording_state, title, actual_start_time, actual_end_time\nFROM activities WHERE user_id = 13841 AND opportunity_id IN (4729783, 4731717, 4731726, 4732064, 4732849, 4803458, 4813213);\n\nSELECT DISTINCT\n o.id, o.stage_id, s.name, a.title,\n a.*\nFROM activities a\n# INNER JOIN tracks t ON a.id = t.activity_id\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams team ON u.team_id = team.id\nINNER JOIN groups g ON u.group_id = g.id\nINNER JOIN opportunities o ON a.opportunity_id = o.id\nINNER JOIN stages s ON o.stage_id = s.id\nWHERE\n a.crm_configuration_id = 356\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n# and a.user_id = 13841\n AND u.uuid = uuid_to_bin('6f40e4b8-c340-4059-b4ac-1728e87ea99e')\n AND team.uuid = uuid_to_bin('a607fba7-452e-4683-b2af-00d6cb52c93c')\n AND g.uuid = uuid_to_bin('b5d69e40-24a0-4c16-810b-5fa462299f94')\n\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND t.type IN ('audio', 'video')\n AND (\n (a.actual_start_time BETWEEN '2025-03-13 00:00:00' AND '2025-03-18 07:59:59')\n OR\n (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-13 00:00:00' AND '2025-03-18 07:59:59'\n )\n )\n AND (\n a.is_private = 0\n OR (\n a.is_private = 1\n AND u.uuid = uuid_to_bin('6f40e4b8-c340-4059-b4ac-1728e87ea99e')\n )\n )\n AND (\n# s.id = 15900\n s.uuid = uuid_to_bin('04ca1c26-c666-4268-a129-419c0acffd73')\n OR s.uuid IS NULL -- Include records without opportunity stage\n )\n\nORDER BY a.actual_end_time DESC;\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lead Forensics%'; # 190, 162, 8474, willsc@leadforensics.com\nSELECT * FROM users WHERE team_id = 190;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 190\nand sa.provider = 'hubspot';\n\nselect * from role_user where user_id = 8474;\n\nselect * from crm_configurations where provider = 'bullhorn';\n\nSELECT * FROM opportunities WHERE uuid_to_bin('94578249-65ec-4205-90f2-7d1a7d5ab64a') = uuid;\nSELECT * FROM users WHERE uuid_to_bin('26dbadeb-926f-4150-b11b-771b9d4c2f9a') = uuid;\n\nSELECT * FROM opportunities WHERE id = 4732493;\nselect * from activities where opportunity_id = 4732493;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE id = 443; # 358, 14315, andrea.romano@correrenaturale.com\nSELECT * FROM opportunities WHERE team_id = 443;\n\nSELECT a.id, a.type, a.user_id, a.status, a.deleted_at, u.name, u.email, u.team_id as activity_team_id, u.status, u.deleted_at, t.name, t.status, s.team_id as stage_team_id\nFROM activities AS a\nJOIN stages AS s ON a.stage_id = s.id\nJOIN users AS u ON u.id = a.user_id\nJOIN teams AS t ON t.id = s.team_id\nWHERE u.team_id <> s.team_id and t.id > 135;\n\n\nSELECT\n crm_configuration_id,\n crm_provider_id,\n COUNT(*) as duplicate_count,\n GROUP_CONCAT(id) as stage_ids,\n GROUP_CONCAT(name) as stage_names\nFROM stages\nGROUP BY crm_configuration_id, crm_provider_id\nHAVING COUNT(*) > 1\nORDER BY duplicate_count DESC;\n\nselect * from stages where id IN (14898,14907);\n\nselect * from business_processes;\n\nSELECT *\nFROM crm_configurations\nWHERE team_id IN (\n SELECT team_id\n FROM crm_configurations\n GROUP BY team_id\n HAVING COUNT(*) > 1\n)\nORDER BY team_id;\n\nSELECT *\nFROM teams\nWHERE crm_id IN (\n SELECT crm_id\n FROM teams\n GROUP BY crm_id\n HAVING COUNT(*) > 1\n)\nORDER BY crm_id;\n\n# ***************************************************************************\nselect * from crm_configurations where provider = 'integration-app';\nSELECT * FROM teams WHERE id = 443; # Correre Naturale 358 14315 andrea.romano@correrenaturale.com\nselect * from activities where crm_configuration_id = 358 order by actual_end_time desc;\nselect id, uuid, actual_end_time, crm_provider_id, is_internal, playbook_category_id, type, user_id, lead_id, contact_id, account_id, opportunity_id, status, title from activities where crm_configuration_id = 358 order by actual_end_time desc;\nselect * from team_features where team_id = 358;\nselect * from activity_summary_logs;\n\nselect * from teams where id = 406;\n\n# ************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Sportfive%'; # 267, 202, 14637, srv.salesforce@sportfive.com\nselect * from activities where crm_configuration_id = 202 order by actual_end_time desc;\n\nSELECT * FROM users where id = 14637;\nSELECT * FROM teams where id = 267;\nSELECT * FROM groups where id = 1118;\n\nselect g.name, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\ninner join groups g on g.id = u.group_id\nwhere a.crm_configuration_id = 202\nand a.is_internal = 0\nand (a.scheduled_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type = 'conference'\nand a.status != 'completed'\nand a.external_id is not null\norder by a.scheduled_start_time desc;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 202\n AND status IN ('completed', 'failed')\n AND recording_state != 'stopped'\n AND type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n AND (is_private = 0 OR user_id = 14637)\n AND (\n (\n actual_start_time BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n ) OR (\n actual_start_time IS NULL\n AND type IN ('sms-outbound', 'sms-inbound')\n AND created_at BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n )\n )\n AND NOT EXISTS (\n SELECT 1\n FROM tracks\n WHERE\n tracks.activity_id = activities.id\n AND tracks.type IN ('audio', 'video')\n )\nORDER BY actual_end_time DESC;\n\nSELECT DISTINCT\n a.*\nFROM activities a\nINNER JOIN tracks t ON a.id = t.activity_id\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams team ON u.team_id = team.id\nWHERE\n a.crm_configuration_id = 202\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n# and a.user_id = 14637\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND t.type IN ('audio', 'video')\n AND (\n (a.actual_start_time BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59')\n OR\n (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n )\n )\n AND (\n a.is_private = 0\n OR (\n a.is_private = 1\n AND a.user_id = 14637\n )\n )\n\nORDER BY a.actual_end_time DESC\n;\n\nSELECT DISTINCT a.*\nFROM activities a\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams t ON u.team_id = t.id\n# INNER JOIN tracks tr ON a.id = tr.activity_id\n# INNER JOIN groups g ON u.group_id = g.id\nWHERE 1=1\n AND t.id = 267\n# AND t.uuid = uuid_to_bin('aed4927b-f1ea-499e-94c3-83762fd233e8')\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND tr.type NOT IN ('audio', 'video')\n AND (\n a.is_private = 0\n OR a.user_id = 14637\n )\n AND (\n (a.actual_start_time BETWEEN '2025-03-19 00:00:00' AND '2025-03-21 23:59:59')\n OR (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-19 00:00:00' AND '2025-03-21 23:59:59'\n )\n )\n# and NOT EXISTS (\n# SELECT 1\n# FROM tracks t\n# WHERE t.activity_id = a.id\n# AND t.type IN ('audio', 'video')\n# )\n\nORDER BY a.actual_end_time DESC;\n\nSELECT * FROM tracks WHERE activity_id = 26485995;\n\nselect a.is_private, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\nwhere a.crm_configuration_id = 202\n# and a.is_internal = 0\nand (a.actual_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type IN (\"softphone\",\"softphone-inbound\",\"conference\",\"sms-inbound\")\nand a.status IN ('completed', 'failed')\n# and a.external_id is not null\norder by a.actual_end_time desc;\n\nselect * from activities a where a.crm_configuration_id = 202\nand a.actual_start_time between '2025-03-20 00:00:00' and '2025-03-21 00:00:00'\n# AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n\nselect g.name, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\ninner join groups g on g.id = u.group_id\nwhere a.crm_configuration_id = 202\nand a.is_internal = 0\nand (a.scheduled_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type = 'conference'\nand a.status != 'completed'\nand a.external_id is not null\norder by a.scheduled_start_time desc;\n\nSELECT * FROM teams WHERE name LIKE '%Tourlane%';\nSELECT * FROM crm_fields WHERE crm_configuration_id = 209 and object_type = 'opportunity';\nSELECT * FROM crm_field_data WHERE crm_field_id = 98809;\n\nselect * from users where status = 1 AND timezone = 'MDT';\n\nselect * from opportunities where id = 3769814;\nselect * from deal_risks where opportunity_id = 3769814;\n\nselect cp.* from crm_profiles cp\njoin users u on cp.user_id = u.id\njoin crm_configurations crm on cp.crm_configuration_id = crm.id\nwhere crm.provider = 'hubspot' AND u.status = 1 AND log_notes != 'none';\n\nselect * from crm_fields where id = 154575;\n\nselect * from team_features where feature = 'SUPPORTS_SYNC_MISSING_CALL_DISPOSITIONS';\nSELECT * FROM teams WHERE id = 176; # crm 148\nselect * from activities where crm_configuration_id = 148 and provider = 'hubspot' order by id desc;\n\nselect * from activity_providers where provider = 'amazon-connect';\n\nselect * from crm_fields cf\njoin crm_configurations crm on crm.id = cf.crm_configuration_id\nwhere crm.provider = 'hubspot' and cf.object_type IN ('account', 'contact');\n\n# *********************************************************************************************\nSELECT * FROM users WHERE id IN (15415, 15418);\nSELECT * FROM groups WHERE id IN (1805,1806);\nSELECT * FROM playbooks WHERE id = 1860;\nSELECT * FROM playbook_categories WHERE id = 38634;\nSELECT * FROM crm_fields WHERE id = 189962;\n\nSELECT * FROM teams WHERE name = 'Pulsar Group'; # 472, 380, 15138 raza.gilani@vuelio.com\n\nSELECT * FROM crm_profiles WHERE user_id = 15415;\nSELECT * FROM social_accounts WHERE sociable_id = 15415 and provider = 'salesforce';\n\nselect * from sidekick_settings where team_id = 472;\n\nSELECT * FROM activities WHERE uuid_to_bin('452c58c7-b87c-4fdd-953e-d7af185e9588') = uuid; # 28617536, user: 15418\nSELECT * FROM activities WHERE uuid_to_bin('399114ee-d3a8-458c-bff5-5f654658db0a') = uuid; # 28344407, user: 15415\nSELECT * FROM activities WHERE uuid_to_bin('f0aa567f-0ab1-4bbb-96aa-37dcf184676b') = uuid; # 28580288, user: 15415\nSELECT * FROM activities WHERE uuid_to_bin('50c086b1-2770-4bca-b5ae-6bac22ec426b') = uuid; # 28566069, user: 15415\n\n# *********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%TeamTailor%'; # 109, 218, 13969, salesforce-integrations@teamtailor.com\nselect * from crm_configurations where id = 218;\nSELECT * FROM activities WHERE uuid_to_bin('e39b5857-7fdb-4f5a-951a-8d3ca69bb1b0') = uuid; # 28338765\nSELECT * FROM users WHERE id IN (13232, 13230);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\n\n0057R00000EPL5HQAX Inez Ekblad\n\n1091cb81-5ea1-4951-a0ed-f00b568f0140 Triman Kaur\n\nSELECT * FROM crm_profiles WHERE user_id IN (13232, 13230);\n\n############################################################################################\nSELECT * FROM activities WHERE uuid_to_bin('675eeaeb-5681-42db-90bc-54c07a604408') = uuid; # 28655939 00UVg00000FLvnSMAT\nSELECT * FROM crm_field_data WHERE activity_id = 28655939;\nSELECT * FROM crm_fields WHERE id IN (94491,94493,94498);\nSELECT * FROM users WHERE id = 13658;\nSELECT * FROM teams WHERE id = 109;\nSELECT * FROM crm_configurations WHERE id = 218;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Strengthscope%'; # 481, 390, 15420, katy.holden@strengthscope.comk\nSELECT * FROM stages WHERE crm_configuration_id = 390;\nselect * from business_processes where team_id = 481 and crm_configuration_id = 390;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 481\nand sa.provider = 'salesforce';\n\n\nSELECT * FROM users WHERE id = 15780; # team 462\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 462\nand sa.provider = 'hubspot';\n\n\nselect * from teams where id = 495;\nSELECT * FROM users WHERE id = 15794;\nselect * from social_accounts where sociable_id = 15794;\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Flight%'; # 427, 333, 13752\nSELECT * FROM accounts WHERE team_id = 427 and crm_provider_id = '668731000183444517';\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Group GTI%'; # 495, 407, 15794\nSELECT * FROM activities WHERE crm_configuration_id = 407\nand status = 'completed' and type = 'conference'\norder by id desc;\n\nselect ru.*, pr.*, p.* from users u join role_user ru on ru.user_id = u.id\njoin permission_role pr on pr.role_id = ru.role_id\n join permissions p on p.id = pr.permission_id\nwhere team_id = 495 and p.name IN ('dial');\n\nselect * from permission_role;\n\nselect * from activities where crm_configuration_id = 407 and status = 'completed' order by id desc;\nSELECT * FROM activities WHERE id = 29512773;\nSELECT * FROM activities WHERE id IN (29042721,28991325,29002874);\n\nSELECT al.* from activity_summary_logs al join activities a on a.id = al.activity_id\nwhere a.crm_configuration_id = 407\n# and a.id IN (29042721,28991325,29002874);\n\nSELECT * FROM users WHERE id = 15794;\nSELECT * FROM users WHERE team_id = 495;\nSELECT * FROM social_accounts WHERE sociable_id = 15794;\nSELECT * FROM opportunities WHERE team_id = 495 and name like '%OC:%';\nSELECT * FROM contacts WHERE team_id = 495;\nSELECT * FROM leads WHERE team_id = 495;\nSELECT * FROM accounts WHERE team_id = 495;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 407;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 407;\nSELECT * FROM crm_configurations WHERE id = 407;\nSELECT * FROM opportunities WHERE team_id = 495 and close_date BETWEEN '2025-06-01' AND '2025-07-01'\nand user_id IS NOT NULL and is_closed = 1 and is_won = 1;\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Hamilton Court FX LLP%'; # 249, 187, 10103\nSELECT * FROM activities WHERE uuid_to_bin('4659c2bb-9a49-484e-9327-a3d66f1e028c') = uuid; # 28951064\nSELECT * FROM crm_fields WHERE crm_configuration_id = 187 and object_type IN ('tasks', 'event');\n\n# *********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Checkstep%'; # 325, 256, 11753\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 325\nand sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('7be372e2-1916-4d79-a2f3-ca3db1346db3') = uuid; # 28611085\nSELECT * FROM activities WHERE uuid_to_bin('980f0336-840b-4185-a5a9-30cf8b0749a8') = uuid; # 28719733\nSELECT * FROM activity_summary_logs where activity_id = 28719733;\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Learning%'; # 260, 356, 9444\nSELECT * FROM activity_summary_logs where sent_at BETWEEN '2025-06-09 11:38:00' AND '2025-06-09 11:40:00';\nSELECT * FROM leads WHERE crm_configuration_id = 356 and crm_provider_id = '230045001502770504'; # 823630\nselect * from activities where crm_configuration_id = 356 and lead_id = 841732;\n\nSELECT * from activity_summary_logs al join activities a on a.id = al.activity_id\nwhere a.crm_configuration_id = 356;\n\nselect * from activities where crm_configuration_id = 356\nand actual_end_time between '2025-06-09 11:00:00' and '2025-06-09 12:00:00'\norder by id desc;\n\nselect * from accounts where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\nselect * from leads where crm_configuration_id = 356 and crm_provider_id = '230045001514275654' order by id desc;\nselect * from contacts where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\nselect * from opportunities where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\n\nselect * from team_features where team_id = 260;\nselect * from features where id IN (1,2,4,6,18,19,20,9,10,3,23,24,25,26,27);\n\nSELECT * FROM activities WHERE uuid_to_bin('7be372e2-1916-4d79-a2f3-ca3db1346db3') = uuid;\n\nselect * from crm_fields;\nselect * from crm_layout_entities;\n\nSELECT * FROM teams WHERE name LIKE '%Optable%';\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Teamtailor%'; # 109, 218, 13969\nSELECT * FROM crm_configurations WHERE id = 218;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('675eeaeb-5681-42db-90bc-54c07a604408') = uuid; # 28655939\nSELECT * FROM crm_field_data WHERE activity_id = 28655939;\nSELECT * FROM crm_fields WHERE id in (94491,94493,94498);\n\nselect * from teams where crm_id IS NULL;\n\nSELECT * FROM activities WHERE uuid_to_bin('71aa8a0c-9652-4ff6-bee7-d98ae60abef6') = uuid;\n\n# *************************************************************************************************\nselect * from team_domains where team_id = 399;\nSELECT * FROM teams WHERE name LIKE '%Rydoo%'; # 399, 318, 13207\n\nselect * from calendar_events where id = 5163781;\nSELECT * FROM activities WHERE uuid_to_bin('be2cbc52-7fda-46a0-9ae0-25d9553eafc0') = uuid; # 29443896\nSELECT * FROM participants WHERE activity_id = 29443896;\nselect * from contacts where crm_configuration_id = 318 and email = 'marianne.westeng@strawberry.no';\nselect * from leads where crm_configuration_id = 318 and email = 'marianne.westeng@strawberry.no';\n\nselect * from activities where user_id = 14937 order by created_at ;\n\nselect * from users where id = 14937;\n\nselect * from contacts where crm_configuration_id = 318 and email LIKE '%@strawberry.se';\nselect * from opportunities where crm_configuration_id = 318 and crm_provider_id = '006Sf00000D1WOAIA3';\n\nselect * from activities a join participants p on a.id = p.activity_id\nwhere crm_configuration_id = 318 and a.updated_at > '2025-06-23T08:18:43Z';\n\n# *************************************************************************************************\nSELECT * FROM opportunities WHERE team_id = 379 and crm_provider_id = '39334518886';\nSELECT * FROM opportunities WHERE team_id = 379 order by id desc;\nSELECT * FROM teams WHERE id = 379;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 379 and sociable_id = 13852\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE id = 307;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 307;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1027;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 307\n and id IN (144750,144855,145158,155227);\n\nSELECT * FROM activities;\n\n\nselect * from activities\nwhere created_at > '2025-07-01 00:00:00'\n# and created_at < '2025-08-01 00:00:00'\nand type not in ('email-outbound', 'email-inbound')\nand account_id is null\nand contact_id is null\nand lead_id is null\nand opportunity_id is not null\n;\nSELECT * FROM activities WHERE id IN (25344155, 25344296, 25501909, 28692187);\nSELECT * FROM crm_configurations WHERE id in (335,301,200);\n\nselect * from crm_fields where crm_configuration_id = 230 and crm_provider_id = 'Age2__c';\n\nSELECT * FROM teams WHERE name LIKE '%Resights%';\nselect * from crm_fields where crm_configuration_id = 1 and object_type = 'opportunity';\n\nselect * from crm_configurations where provider = 'bullhorn'; # 344\nselect * from teams where id IN (442);\n\nselect * from activities\nwhere crm_configuration_id = 177\nand provider = 'amazon-connect'\n order by id desc;\n# and source <> 'gong';\n\nselect * from activity_providers where provider = 'amazon-connect';\n\nSELECT * FROM activities WHERE uuid_to_bin('cec1993b-a7e5-4164-b74d-d680ea51d2f2') = uuid;\n\n\nselect * from crm_configurations where store_transcript = 1;\nSELECT * FROM teams WHERE id IN (80);\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Sedna%'; # 277, 213, 12594\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 277\nand sa.provider = 'salesforce';\n\nselect * from activities where crm_configuration_id = 213 and account_id = 2511502;\n\nselect * from crm_configurations where id = 213;\n\nSELECT * FROM activities WHERE uuid_to_bin('35aa790a-8569-4544-8268-66f9a4a26804') = uuid; # 33981604\nSELECT * FROM participants WHERE activity_id = 33981604;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 337 and object_type = 'task';\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 431\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('b5476c7d-19a8-491b-869d-676ea1e857b6') = uuid; # 33997223\nselect * from activity_summary_logs where activity_id = 33997223;\nselect * from activity_notes where activity_id = 33997223;\n\n# ***********************************\nSELECT * FROM teams WHERE name LIKE '%Abode%';\n\n\nselect * from features;\nselect * from teams t\nwhere t.status = 'active'\nand id NOT IN (select team_id from team_features where feature_id = 9)\n;\n\n\nselect * from playbook_layouts where playbook_id = 1725;\nSELECT * FROM activities WHERE uuid_to_bin('65cc283c-4849-49e6-927f-4c281c8fea19') = uuid; # 34297473\nselect * from teams where id = 318;\nselect * from crm_configurations where team_id = 318;\nselect * from playbooks where team_id = 318;\nSELECT * FROM crm_layouts where crm_configuration_id = 381;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1259;\nSELECT * FROM crm_fields WHERE id IN (192938,192936,192939);\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1266;\nSELECT * FROM crm_fields WHERE id IN (192980,192991,192997,192998,193064,193067);\n\nSELECT * FROM activities WHERE uuid_to_bin('a902289b-285c-48eb-9cc2-6ad6c5d938f5') = uuid; # 34297533\n\n\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 927;\nSELECT * FROM crm_fields WHERE id IN (131668,131669,131670,131671,131676,131797);\n\nSELECT * FROM teams WHERE name LIKE '%Peripass%'; # 351, 281, 12124\nselect * from crm_layouts where crm_configuration_id = 281;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 927;\nselect * from crm_fields where crm_configuration_id = 281 and id in (131668,131669,131670,131671,131676,131797);\nselect * from opportunities where crm_configuration_id = 281;\n\nSELECT * FROM activities WHERE id IN (34211315, 34130075);\nSELECT * FROM crm_field_data WHERE object_id IN (34211315, 34130075);\n\nselect cf.crm_configuration_id, cle.crm_layout_id, cle.id, cf.id from crm_field_data cfd\njoin crm_layout_entities cle on cle.id = cfd.crm_layout_entity_id\njoin crm_fields cf on cle.crm_field_id = cf.id\nwhere cf.deleted_at IS NOT NULL\nGROUP BY cle.id, cf.id;\n\nselect * from crm_layouts where id IN (355);\nselect u.email, t.crm_id, t.* from teams t\njoin users u on u.id = t.owner_id\nwhere crm_id IN (97);\n\nSELECT * FROM crm_fields WHERE id = 96492;\n\nselect * from permissions;\nselect * from permission_role where permission_id = 247;\nselect * from roles;\n\nselect * from migrations;\n# *****************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('291e3c21-11cc-4728-aee7-6e4bedf86d72') = uuid; # 34262174\nSELECT * FROM crm_configurations WHERE id = 301;\nSELECT * FROM teams WHERE id = 343;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nselect * from participants where activity_id = 34262174;\n\nselect * from contacts where crm_configuration_id = 301 and id = 6976326;\nselect * from accounts where crm_configuration_id = 301 and id IN (4647626, 4815829); # 30761335403\n\nselect * from activity_summary_logs where activity_id = 34262174;\n\nselect * from users where status = 1 AND timezone = 'EST';\n\n# ****************************************************************************\nSELECT * FROM users WHERE id = 13869;\nSELECT * FROM crm_configurations WHERE id = 320;\nSELECT * FROM teams WHERE id = 401;\n\nSELECT * FROM activities WHERE uuid_to_bin('2228c16f-10be-48d5-90d4-67385219dc01') = uuid; # 29670601\n\nSELECT * FROM accounts WHERE id = 7761483;\nSELECT * FROM opportunities WHERE id = 6051814;\n\nSELECT * FROM teams WHERE name LIKE '%Seedlegals%';\n\n;select * from opportunities where updated_at > '2025-10-11' AND crm_provider_id = '34713761166';\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 177;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 577;\nSELECT * FROM crm_fields WHERE id IN (68458,68459,68480,68497,68524,68530,68554,68618,68662,68781,68810,68898,68981,69049,97467);\n\nSELECT t.id, crm.id, t.name, crm.sync_objects, crm.provider, crm.last_synced_at FROM crm_configurations crm join teams t on t.crm_id = crm.id\nwhere t.status = 'active' AND crm.provider = 'hubspot' AND crm.last_synced_at < '2025-10-22 00:00:00';\n\nSELECT * FROM activities WHERE uuid_to_bin('fa09449f-cba9-496a-b8f3-865cd3c72351') = uuid;\nSELECT * FROM crm_configurations where id = 184;\nSELECT * FROM teams WHERE id = 246;\nSELECT * FROM social_accounts WHERE sociable_id = 9259 and provider = 'hubspot';\n\nSELECT * FROM users WHERE email LIKE '%rhian.old@bud.co.uk%'; # 17700\nSELECT * FROM teams WHERE id = 551;\n\nSELECT * FROM crm_configurations WHERE id = 471;\nSELECT * FROM activities WHERE crm_configuration_id = 471 and crm_provider_id IS NOT NULL;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 471;\nSELECT * FROM crm_fields WHERE id = 307260;\nSELECT * FROM crm_field_values WHERE crm_field_id = 307260;\n\nselect * from crm_layouts where crm_configuration_id = 471;\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1547;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1548;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 551 and sa.provider = 'hubspot';\n\nSELECT * FROM teams WHERE name LIKE '%$PCS%';\n\n# ********************************************************************************************************\nselect * from crm_configurations crm\njoin teams t on t.crm_id = crm.id\nwhere t.status = 'active'\nand crm.provider = 'hubspot';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from crm_configurations where id = 331; # 416\nSELECT * FROM teams WHERE id = 416;\nSELECT * FROM opportunities WHERE team_id = 190;\n\nSELECT * FROM teams WHERE name LIKE '%Lead Forensics%';\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 190 and sa.provider = 'hubspot';\n\n\n\nSELECT * FROM teams WHERE name LIKE '%Rapaport%'; # 431, 337\nSELECT * FROM teams where id = 431;\nSELECT * FROM crm_configurations where team_id = 431;\nSELECT * FROM activity_providers where team_id = 431;\nSELECT * FROM activities where crm_configuration_id = 337 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 431 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%BiP%'; # 401, 320\nSELECT * FROM teams where id = 401;\nSELECT * FROM crm_configurations where team_id = 401;\nSELECT * FROM activity_providers where team_id = 401;\nSELECT * FROM activities where crm_configuration_id = 320 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 401 and sa.provider = 'salesforce';\n\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 307; # 379 - Story Terrace Inc , portalId: 3921157\nSELECT * FROM contacts WHERE team_id = 379 and updated_at > '2026-01-31 11:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 379 and updated_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 379 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 379 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; # 563 - LATUS Group (ad94d501-5d09-44fd-878f-ca3a9f8865c3) , portalId: 3904501\nSELECT * FROM opportunities WHERE team_id = 563 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 563 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 338; # 432 - Formalize , portalId: 9214205\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 432 and sa.provider = 'hubspot';\nSELECT * FROM opportunities WHERE team_id = 432 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 432 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 436; # 519 - Moxso , portalId: 25531989\nSELECT * FROM opportunities WHERE team_id = 519 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 519 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 96; # 119 - Nourish Care , portalId: 26617984\nSELECT * FROM opportunities WHERE team_id = 119 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 119 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 331; # 416 - The National College , portalId: 7213852\nSELECT * FROM opportunities WHERE team_id = 416 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 416 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 308; # 380 - Foodles , portalId: 7723616\nSELECT * FROM opportunities WHERE team_id = 380 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 380 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 379; # 471 - imat-uve , portalId: 9177354\nSELECT * FROM opportunities WHERE team_id = 471 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 471 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 465; # 545 - Spotler , portalId: 144759271\nSELECT * FROM opportunities WHERE team_id = 545 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 545 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 455; # 537 - indevis , portalId: 25666868\nSELECT * FROM opportunities WHERE team_id = 537 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 537 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 200; # 265 - Jobadder , portalId: 6426676\nSELECT * FROM opportunities WHERE team_id = 265 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 265 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 335; # 429 - Eletive , portalId: 6110563\nSELECT * FROM opportunities WHERE team_id = 429 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 429 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 363; # 456 - Global Group , portalId: 8901981\nSELECT * FROM opportunities WHERE team_id = 456 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 456 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 297; # 369 - Unbiased , portalId: 9229005\nSELECT * FROM opportunities WHERE team_id = 369 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 369 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 353; # 449 - Fuuse , portalId: 25781745\nSELECT * FROM opportunities WHERE team_id = 449 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 449 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 487; # 566 - Nimbus , portalId: 39982590\nSELECT * FROM opportunities WHERE team_id = 566 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 566 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 487;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1630;\nselect * from crm_fields where crm_configuration_id = 487 and\n(uuid_to_bin('4c6b2971-64d4-45b8-b377-427be758b5a5') = uuid or uuid_to_bin('59e368d8-65a0-4b77-b611-db37c99fbe68') = uuid);\nSELECT * FROM crm_field_values WHERE crm_field_id = 375177;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 420; # 506 - voiio , portalId: 145629154\nSELECT * FROM opportunities WHERE team_id = 506 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 506 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 479; # 558 - Momice , portalId: 535962\nSELECT * FROM opportunities WHERE team_id = 558 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 558 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 59; # 80 - Storyclash GmbH , portalId: 4268479\nSELECT * FROM opportunities WHERE team_id = 80 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 80 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 175; # 203 - Team iAM , portalId: 5534732\nSELECT * FROM opportunities WHERE team_id = 203 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 203 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 368; # 460 - OneTouch Health , portalId: 5534732183355\nSELECT * FROM opportunities WHERE team_id = 460 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 460 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\n\n\nselect * from users where id = 29643;\nSELECT * FROM crm_field_values WHERE crm_field_id = 375177;\n# ********************************************************************\nSELECT * FROM teams WHERE name LIKE '%Buynomics%'; # 462, 482, 14910\nSELECT * FROM activities WHERE crm_configuration_id = 482\nand type NOT IN ('email-inbound', 'email-outbound')\n# and description like '%The call focused on understanding Welch%'\norder by id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 462 and sa.provider = 'salesforce';\n\nselect * from contacts where crm_configuration_id = 482 and name = 'Cyndall Hill'; # 15504749\nselect * from contacts where id = 10891096; # 482\nSELECT * FROM activities WHERE crm_configuration_id = 482\nand type NOT IN ('email-inbound', 'email-outbound')\nand contact_id = 15504749\norder by id desc;\n\nselect * from activities where id = 36793003; # 96cc7bc1-8622-4d27-92f4-baf664fc1a56, 00UOf00000PDdOXMA1\nselect * from transcription where id = 7646782;\nselect * from ai_prompts where transcription_id = 7646782;\n\n# ********************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('7a8471a3-847e-4822-802b-ddf426bbc252') = uuid; # 37370018\nSELECT * FROM activity_summary_logs WHERE activity_id = 37370018;\nSELECT * FROM teams WHERE id = 555;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 555 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('7c17b8aa-09df-4f85-a0f7-51f47afd712d') = uuid; # 37395250\nSELECT * FROM activities WHERE uuid_to_bin('14d60388-260d-494b-aa0d-63fdb1c78026') = uuid; # 37395250\n\nSELECT a.* FROM activities a JOIN crm_configurations c on c.id = a.crm_configuration_id\nwhere a.type IN ('softphone', 'softphone-outbound') and c.provider = 'hubspot'\nand a.provider NOT IN ('hubspot')\n# and a.provider IN ('salesloft')\n# and c.id NOT IN (70)\n# and a.duration > 30\n# and actual_start_time > '2026-02-05 00:00:00'\norder by a.id desc;\n\nSELECT * FROM activities WHERE id = 37549787;\nSELECT * FROM crm_profiles WHERE user_id = 17613;\n\nSELECT * FROM crm_configurations WHERE id = 70;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 93 and sa.provider = 'hubspot';\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations WHERE id = 373; # KPSBremen.de 465 # - no social account\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 465 and sa.provider = 'hubspot';\n\nselect * from crm_configurations where id = 494;\n\nSELECT * FROM teams WHERE name LIKE '%splose%'; # 572, 495, 18708\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 572 and sa.provider = 'pipedrive';\n\nselect * from opportunities where team_id = 572\n# and name like '%Onebright%'\n# and is_closed = 1 and is_won = 0\n order by id desc;\n\n\nselect * from users where deleted_at is null and status = 2;\n\nselect * from contacts where id = 17900517;\nselect * from accounts where id = 10109838;\nselect * from opportunities where id = 6955880;\n\nselect * from opportunity_contacts where opportunity_id = 6955880;\nselect * from opportunity_contacts where contact_id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nSELECT * FROM activities WHERE uuid_to_bin('adcb8331-5988-4353-834e-383a355abba2') = uuid; # 38056424, crm 104659682404\nselect * from teams where id = 456;\nSELECT * FROM crm_configurations WHERE id = 363;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 456 and sa.provider = 'hubspot';\n\nselect * from crm_layouts where crm_configuration_id = 363;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (1203, 1204, 1635);\nSELECT * FROM crm_fields WHERE id IN (181536, 181538, 213455);\n\nSELECT * FROM teams WHERE name LIKE '%Electric%'; # 342, 272, 12767\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 342 and sa.provider = 'pipedrive';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 and name like 'NORTHUMBRIA POL%'; # and updated_at > '2025-07-01 00:00:00';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 order by remotely_created_at asc; # and updated_at > '2025-07-01 00:00:00';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 and updated_at > '2026-01-01 00:00:00';\nSELECT * FROM crm_fields WHERE crm_configuration_id = 272 and object_type = 'opportunity';\nSELECT * FROM crm_field_values WHERE crm_field_id = 127164;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 342 and sa.provider = 'pipedrive';\n\nSELECT * FROM teams WHERE id = 472;\nSELECT * FROM crm_configurations WHERE id = 380;\nselect * from activities where id = 38285673; # 38285673\nSELECT * FROM users WHERE id = 16942;\nSELECT * FROM groups WHERE id = 1964;\nSELECT * FROM playbooks WHERE id = 2033;\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 499; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1678;\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\n\nSELECT * FROM activities WHERE uuid_to_bin('96b1261f-2357-49f9-ab38-23ce12008ea0') = uuid;\n\nselect * from contacts c\nwhere c.crm_configuration_id = 370 order by c.updated_at desc;\n\nSELECT * FROM participants where activity_id = 38833541;\nSELECT * FROM participants where activity_id = 39216301;\nSELECT * FROM activity_summary_logs where activity_id = 39216301;\nSELECT * FROM activities WHERE uuid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = uuid; # 38833541, crm 478116564181\nSELECT * FROM activities WHERE uuid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acde4d885ae') = uuid; # 39216301, crm 480171536586\nselect * from crm_profiles where crm_configuration_id = 319 and crm_provider_id = 525785080;\nselect * from opportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;\nselect * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;\nselect * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856', '742723347700');\n# owner 13236 525785080\n# contact 1 16779180 665587441856 - activity - Alex Howes alex@supportroom.com created 2026-01-26\n# contact 2 19247563 742723347700 - ash@supportroom.com 2026-03-24\n# company 4176133 47150650569\n# deal 7100953 410150124747\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 400 and sa.provider = 'hubspot';\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556; # owner: 18101, crm: 477\nselect * from crm_configurations where id = 477;\nSELECT * FROM users WHERE id = 18101;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'integration-app';\n\nselect * from opportunities where id = 7594349;","depth":4,"value":"SELECT * FROM team_features where team_id = 1;\n\nSELECT * FROM teams WHERE name LIKE '%Vixio%'; # 340,270,11922\nSELECT * FROM users WHERE team_id = 340; # 12015\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 340\nand sa.provider = 'salesforce';\n# and sa.provider = 'salesloft';\n\nselect * from crm_fields where crm_configuration_id = 270 and object_type = 'event';\n# 125558 - Event Type - Event_Type__c\n# 125552 - Event Status - Event_Status__c\n\nSELECT * FROM sidekick_settings WHERE team_id = 340;\n\nSELECT * FROM crm_field_values WHERE crm_field_id in (125552);\n\nselect * from activities where crm_configuration_id = 270\nand type = 'conference' and crm_provider_id IS NOT NULL\nand actual_start_time > '2024-09-16 09:00:00' order by scheduled_start_time;\n\nSELECT * FROM activities WHERE id = 20871677;\nSELECT * FROM crm_field_data WHERE activity_id = 20871677;\n\nselect * from crm_layouts where crm_configuration_id = 270;\nselect * from crm_layout_entities where crm_layout_id in (886,887);\n\nSELECT * FROM crm_configurations WHERE id = 270;\n\nselect * from playbooks where team_id = 340; # 1514\nselect * from groups where team_id = 340;\nSELECT * FROM crm_fields WHERE id IN (125393, 125401);\n\nselect g.name as 'team name', p.name as 'playbook name', f.label as 'activity type field' from groups g\njoin playbooks p on g.playbook_id = p.id\njoin crm_fields f on p.activity_field_id = f.id\nwhere g.team_id = 340;\n\nSELECT * FROM activities WHERE uuid_to_bin('0c180357-67d2-419e-a8c3-b832a3490770') = uuid; # 20448716\nselect * from crm_field_data where object_id = 20448716;\n\nselect * from activities where crm_configuration_id = 270 and provider = 'salesloft' order by id desc;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%CybSafe%'; # 343,273,12008\nselect * from opportunities where team_id = 343;\nselect * from opportunities where team_id = 343 and crm_provider_id = '18099102526';\nselect * from opportunities where team_id = 343 and account_id = 945217482;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nselect * from accounts where team_id = 343 order by name asc;\n\nselect * from stages where crm_configuration_id = 273 and type = 'opportunity';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Voyado%'; # 353,283,12143\nSELECT * FROM activities WHERE crm_configuration_id = 283 and account_id = 3777844 order by id desc;\nSELECT * FROM accounts WHERE team_id = 353 AND name LIKE '%Salesloft%';\nSELECT * FROM activities WHERE id = 20717903;\n\nselect * from participants where activity_id IN (20929172,20928605,20928468,20926272,20926271,20926270,20926269,20916499,20916454,20916436,20916435,20900015,20900014,20900013,20897312,20897243,20897241,20897237,20897232,20897229,20893648,20893231,20893230,20893229,20893228,20889784,20885039,20885038,20885037,20885036,20885035,20882728,20882708,20882703,20882702,20869828,20869811,20869806,20869801,20869799,20869798,20869796,20869795,20869794,20869761,20869760,20869759,20868688,20868687,20850340,20847195,20841710,20833967,20827021,20825307,20825305,20825297,20824615,20824400,20823927,20821760,20795588,20794233,20794057,20793710,20785811,20781789,20781394,20781307,20762651,20758453,20758282,20757323,20756643,20756636,20756629,20756627,20756606,20756605,20756604,20756603,20756602,20756600,20756599,20756598,20756595,20756594,20756589,20756587,20756577,20756573,20748918,20748386,20748385,20748384,20748383,20748382,20748381,20748380,20748379,20748377,20748375,20748373,20743301,20717905,20717904,20717903,20717901,20717899);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 353\nand sa.provider = 'salesforce';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%modern world business solutions%'; # 345,275,12016, l.atkinson@mwbsolutions.co.uk\nSELECT * FROM activities WHERE uuid_to_bin('3921d399-3fef-4609-a291-b0097a166d43') = uuid;\n# id: 20940638, user: 12022, contact: 5305871\nSELECT * FROM activity_summary_logs WHERE activity_id = 20940638;\nselect * from contacts where team_id = 345 and crm_provider_id = '30891432415' order by name asc; # 5305871\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 345\nand sa.provider = 'hubspot';\n\nselect * from users where team_id = 345 and id = 12022;\nSELECT * FROM crm_profiles WHERE user_id = 12022;\nSELECT * FROM participants WHERE activity_id = 20940638;\nSELECT * FROM users u\nJOIN crm_profiles cp ON u.id = cp.user_id\nWHERE u.team_id = 345;\n\nselect * from contacts where team_id = 345 and crm_provider_id = '30880813535' order by name desc; # 5305871\n\nselect * from team_features where team_id = 345;\nSELECT * FROM activities WHERE uuid_to_bin('11701e2d-2f82-4dab-a616-1db4fad238df') = uuid; # 21115197\nSELECT * FROM participants WHERE activity_id = 20897406;\n\n\n\nSELECT * FROM activities WHERE uuid_to_bin('63ba55cd-1abc-447d-83da-0137000005b7') = uuid; # 20953912\nSELECT * FROM activities WHERE crm_configuration_id = 275 and provider = 'ringcentral' and title like '%1252629100%';\n\n\nSELECT * FROM activities WHERE id = 20946641;\nSELECT * FROM crm_profiles WHERE user_id = 10211;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120,97,10984, triger@lunio.ai\nSELECT * FROM opportunities WHERE crm_configuration_id = 97 and crm_provider_id = '006N1000006c5PpIAI';\nselect * from stages where crm_configuration_id = 97 and type = 'opportunity';\nselect * from opportunities where team_id = 120;\n\n\nselect * from crm_configurations crm join teams t on crm.id = t.crm_id\nwhere 1=1\nAND t.current_billing_plan IS NOT NULL\nAND crm.auto_sync_activity = 0\nand crm.provider = 'hubspot';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Exclaimer%'; # 270,205,10053,james.lewendon@exclaimer.com\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 270\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('b54df794-2a9a-4957-8d80-09a600ead5f8') = uuid; # 21637956\nSELECT * FROM crm_profiles WHERE user_id = 11446;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Cygnetise%'; # 372,300,12554, alex.chikly@cygnetise.com\nselect * from playbooks where team_id = 372;\nselect * from crm_fields where crm_configuration_id = 300 and object_type = 'event'; # 141340\nSELECT * FROM crm_field_values WHERE crm_field_id = 141340;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 372\nand sa.provider = 'salesforce';\n\nselect * from crm_profiles where crm_configuration_id = 300;\nSELECT * FROM crm_configurations WHERE team_id = 372;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Planday%'; # 291,242,11501,mfa@planday.com\nSELECT * FROM opportunities WHERE team_id = 291 and crm_provider_id = '006bG000005DO86QAG'; # 3207756\nselect * from crm_field_data where object_id = 3207756;\nSELECT * FROM crm_fields WHERE id = 111834;\n\nselect f.id, f.crm_provider_id AS field_name, f.label, fd.object_id AS dealId, fd.value\nFROM crm_fields f\nJOIN crm_field_data fd ON f.id = fd.crm_field_id\nWHERE f.crm_configuration_id = 242\nAND f.object_type = 'opportunity'\nAND fd.object_id IN (3207756)\nORDER BY fd.object_id, fd.updated_at;\n\nSELECT * FROM crm_configurations WHERE auto_connect = 1;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Tour%'; # 187,209,8150,salesforce-admin@tourlane.com\nselect * from group_deal_risk_types drgt join groups g on drgt.group_id = g.id\nwhere g.team_id = 187;\n\nselect * from `groups` where team_id = 187;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 187\nand sa.provider = 'salesforce';\n\n# Destination - 98870 - Destination__c\n# Stage - 79014 - StageName\n# Land Arrangement - 98856 - Land_Arrangement__c\n# Flight - 98848 - Flight__c\n# Last activity date - 98812 - LastActivityDate\n# Last modified date - 98809 - LastModifiedDate\n# Last inbound mail timestamp - 99151 - Last_Inbound_Mail_Timestamp__c\n# next call - 98864 - Next_Call__c\n\nselect * from crm_fields where crm_configuration_id = 209 and object_type = 'opportunity';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 209;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 682;\n\nselect * from opportunities where team_id = 187 and name LIKE'%Muriel Sal%';\nselect * from opportunities where team_id = 187 and user_id = 9951 and is_closed = 0;\nselect * from activities where opportunity_id = 3538248;\n\nSELECT * FROM crm_profiles WHERE user_id = 8150;\n\nselect * from deal_risks where opportunity_id = 3538248;\n\nselect * from teams where crm_id IS NULL;\n\nSELECT opp.id AS opportunity_id,\n u.group_id AS group_id,\n MAX(\n CASE\n WHEN a.type IN (\"sms-inbound\", \"sms-outbound\") THEN a.created_at\n ELSE a.actual_end_time\n END) as last_date\nFROM opportunities opp\nleft join activities a on a.opportunity_id = opp.id\ninner join users u on opp.user_id = u.id\nwhere opp.user_id IN (9951)\n\nAND opp.is_closed = 0\nand a.status IN ('completed', 'received', 'delivered') OR a.status IS NULL\ngroup by opp.id;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Cybsafe%'; # 343,301,12008,polly.morphew@cybsafe.com\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 301;\nSELECT * FROM contacts WHERE id = 6612363;\nSELECT * FROM accounts WHERE id = 4235676;\nSELECT * FROM opportunities WHERE crm_configuration_id = 301 and crm_provider_id = 32983784868;\nselect * from opportunity_stages where opportunity_id = 4503759;\n# SELECT * FROM opportunities WHERE id = 4569937;\n\nselect * from activities where crm_configuration_id = 301;\nSELECT * FROM activities WHERE uuid_to_bin('d3b2b28b-c3d0-4c2d-8ed0-eef42855278a') = uuid; # 26330370\nSELECT * FROM participants WHERE activity_id = 26330370;\n\nSELECT * FROM teams WHERE id = 375;\nselect * from playbooks where team_id = 375;\n\nselect * from stages where crm_configuration_id = 301 and type = 'opportunity';\n\nselect * from teams;\nselect * from contact_roles;\n\nSELECT * FROM opportunities WHERE team_id = 343 and user_id = 12871 and close_date >= '2024-11-01';\n\nselect * from users u join crm_profiles cp on cp.user_id = u.id where u.team_id = 343;\n\nSELECT * FROM crm_field_data WHERE object_id = 3771706;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_fields WHERE crm_configuration_id = 301 and object_type = 'opportunity'\nand crm_provider_id LIKE \"%traffic_light%\";\nSELECT * FROM crm_field_values WHERE crm_field_id IN (144020,144048,144111,144113,144126,144481,144508,144531);\n\nSELECT fd.* FROM opportunities o\nJOIN crm_field_data fd ON o.id = fd.object_id\nWHERE o.team_id = 343\n# and o.user_id IS NOT NULL\nand fd.crm_field_id IN (144020,144048,144111,144113,144126,144481,144508,144531)\nand fd.value != ''\norder by value desc\n# group by o.id\n;\n\nSELECT * FROM opportunities WHERE id = 3769843;\n\nSELECT * FROM teams WHERE name LIKE '%Tour%'; # 187,209,8150, salesforce-admin@tourlane.com\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 209;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 682;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Funding Circle%'; # 220,177,8603,aswini.mishra@fundingcircle.com\nSELECT * FROM activities WHERE uuid_to_bin('7a40e99b-3b37-4bb1-b983-325b81801c01') = uuid; # 23139839\n\n\nSELECT * FROM opportunities WHERE id = 3855992;\n\nSELECT * FROM users WHERE name LIKE '%Angus Pollard%'; # 8988\n\nSELECT * FROM teams WHERE name LIKE '%Story Terrace%'; # 379, 307, 12894\nSELECT * FROM crm_fields WHERE crm_configuration_id = 307 and object_type != 'opportunity';\n\nselect * from contacts where team_id = 379 and name like '%bebro%'; # 5874411, crm: 77229348507\nSELECT * FROM crm_field_data WHERE object_id = 5874411;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 379\nand sa.provider = 'hubspot';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%mentio%'; # 117, 94, 6371, nikhil.kumar@mention-me.com\nSELECT * FROM activities WHERE uuid_to_bin('82939311-1af0-4506-8546-21e8d1fdf2c1') = uuid;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Tourlane%'; # 187, 209, 8150, salesforce-admin@tourlane.com\nSELECT * FROM opportunities WHERE team_id = 187 and crm_provider_id = '006Se000008xfvNIAQ'; # 3537793\nselect * from generic_ai_prompts where subject_id = 3537793;\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120, 97, 10984, triger@lunio.ai\nSELECT * FROM crm_configurations WHERE id = 97;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 97;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 355;\nSELECT * FROM crm_fields WHERE id = 32682;\n\nselect cfd.value, o.* from opportunities o\njoin crm_field_data cfd on o.id = cfd.object_id and cfd.crm_field_id = 32682\nwhere team_id = 120\nand cfd.value != ''\n;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 120\nand sa.provider = 'salesforce';\n\nselect * from opportunities where team_id = 120 and crm_provider_id = '006N1000007X8MAIA0';\nSELECT * FROM crm_field_data WHERE object_id = 2313439;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE id = 410;\nSELECT * FROM teams WHERE name LIKE '%Local Business Oxford%';\nselect * from scorecards where team_id = 410;\nselect * from scorecard_rules;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Funding%'; # 220, 177, 8603, aswini.mishra@fundingcircle.com\nselect * from activities a\njoin opportunities o on a.opportunity_id = o.id\njoin users u on o.user_id = u.id\nwhere a.crm_configuration_id = 177 and a.type LIKE '%email-out%'\n# and a.actual_end_time > '2024-12-16 00:00:00'\n# and o.remotely_created_at > '2024-12-01 00:00:00'\n# and u.group_id = 1014\nand u.id = 9021\norder by a.id desc;\nSELECT * FROM opportunities WHERE id in (3981384,4017346);\nSELECT * FROM users WHERE team_id = 220 and id IN (8775, 11435);\n\nselect * from users where id = 9021;\nselect * from inboxes where user_id = 9021;\n\nselect * from inbox_emails where inbox_id = 1349 and email_date > '2024-12-18 00:00:00';\n\nselect * from email_messages where team_id = 220\nand orig_date > '2024-12-16 00:00:00' and orig_date < '2024-12-19 00:00:00'\nand subject LIKE '%Personal%'\n# and 'from' = 'credit@fundingcircle.com'\n;\n\nselect * from activities a\njoin opportunities o on a.opportunity_id = o.id\nwhere a.user_id = 9021 and a.type LIKE '%email-out%'\nand a.actual_end_time > '2024-12-18 00:00:00'\nand o.user_id IS NOT NULL\nand o.remotely_created_at > '2024-12-01 00:00:00'\norder by a.id desc;\n\nSELECT * FROM opportunities WHERE team_id = 220 and name LIKE '%Right Car move Limited%' and id = 3966852;\nselect * from activities where crm_configuration_id = 177 and type LIKE '%email%' and opportunity_id = 3966852 order by id desc;\n\nselect * from team_settings where name IN ('useCloseDate');\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Hurree%'; # 104, 81, 6175, jfarrell@hurree.co\nSELECT * FROM opportunities WHERE team_id = 104 and name = 'PropOp';\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 104\nand sa.provider = 'hubspot';\n\nselect * from crm_configurations where last_synced_at > '2025-01-19 01:00:00'\nselect * from teams where crm_id IS NULL;\n\nselect t.name as 'team', u.name as 'owner', u.email, u.phone\nfrom teams t\njoin activity_providers ap on t.id = ap.team_id\njoin users u on t.owner_id = u.id\nwhere 1=1\n and t.status = 'active'\n and ap.is_enabled = 1\n# and u.status = 1\n and ap.provider = 'ms-teams';\n\nselect * from crm_configurations where provider = 'bullhorn'; # 344\nSELECT * FROM teams WHERE id = 442; # 14293\nselect * from users where team_id = 442;\nselect * from social_accounts sa where sa.sociable_id = 14293;\nselect * from invitations where team_id = 442;\n\n# ********************************************************************************************************\nSELECT * FROM users WHERE email LIKE '%nea.liikamaa@eletive.com%'; # 14022\nSELECT * FROM teams WHERE id = 429;\nselect * from opportunities where team_id = 429 and crm_provider_id IN (16157415775, 22246219645);\nselect * from activities where opportunity_id in (4340436,4353519);\n\nselect * from transcription where activity_id IN (25630961,25381771);\nselect * from generic_ai_prompts where subject_id IN (4353519);\n\nSELECT\n a.id as activity_id,\n a.opportunity_id,\n a.type as activity_type,\n a.language,\n CONCAT(a.title, a.description) AS mail_content,\n e.from AS mail_from,\n e.to AS mail_to,\n e.subject AS mail_subject,\n e.body AS mail_body,\n p.type as prompt_type,\n p.status as prompt_status,\n p.content AS prompt_content,\n a.actual_start_time as created_at\nFROM activities a\n LEFT JOIN ai_prompts p ON a.transcription_id = p.transcription_id AND p.deleted_at IS NULL\n LEFT JOIN email_messages e ON a.id = e.activity_id\nWHERE a.actual_start_time > '2024-01-01 00:00:00'\n AND a.opportunity_id IN (4353519)\n AND a.status IN ('completed', 'received', 'delivered')\n AND a.deleted_at IS NULL\n AND a.type NOT IN ('sms-inbound', 'sms-outbound')\nORDER BY a.opportunity_id ASC, a.id ASC;\n\nSELECT * FROM users WHERE name LIKE '%George Fierstone%'; # 14293\nSELECT * FROM teams WHERE id = 442;\nSELECT * FROM crm_configurations WHERE id = 344;\nselect * from team_features where team_id = 442;\nselect * from groups where team_id = 442;\nselect * from playbooks where team_id = 442;\nselect * from playbook_categories where playbook_id = 1729;\nselect * from crm_fields where crm_configuration_id = 344 and id = 172024;\nSELECT * FROM crm_field_values WHERE crm_field_id = 172024;\nselect * from crm_layouts where crm_configuration_id = 344;\nselect * from playbook_layouts where playbook_id = 1729;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Learning%'; # 260, 221, 9444\n\nselect s.*\n# , s.sent_at, u.name, a.*\nfrom activity_summary_logs s\ninner join activities a on a.id = s.activity_id\ninner join users u on u.id = a.user_id\nwhere a.crm_configuration_id = 356\nand s.sent_at > date_sub(now(), interval 60 day)\norder by a.actual_end_time desc;\n\nselect * from activities a\n# inner join activity_summary_logs s on s.activity_id = a.id\nwhere a.crm_configuration_id = 356 and a.actual_end_time > date_sub(now(), interval 60 day)\n# and a.crm_provider_id is not null\n# and provider <> 'ringcentral'\nand status = 'completed'\norder by a.actual_end_time desc;\n\nselect * from teams order by id desc; # 17328, 32, 17830, integration-account@jiminny.com\nSELECT * FROM users;\nSELECT * FROM users where team_id = 260 and status = 1; # 201 - 150 active\nSELECT * FROM teams WHERE id = 260;\nselect * from team_settings where team_id = 260;\nselect * from crm_configurations where team_id = 260;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 356;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1184;\n\nselect * from accounts where crm_configuration_id = 221 order by id desc; # 7000\nselect * from leads where crm_configuration_id = 221 order by id desc; # 0\nselect * from contacts where crm_configuration_id = 221 order by id desc; # 200 000\nselect * from opportunities where crm_configuration_id = 221 order by id desc; # 0\nselect * from crm_profiles where crm_configuration_id = 221 order by id desc; # 23\nselect * from crm_fields where crm_configuration_id = 221;\nselect * from crm_field_values where crm_field_id = 5302 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 221 order by id desc;\nselect * from stages where crm_configuration_id = 221 order by id desc;\n\nselect * from accounts where crm_configuration_id = 356 order by id desc; # 7000\nselect * from leads where crm_configuration_id = 356 order by id desc; # 0\nselect * from contacts where crm_configuration_id = 356 order by id desc; # 200 000\nselect * from opportunities where crm_configuration_id = 356 order by id desc; # 0\nselect * from crm_profiles where crm_configuration_id = 356 order by id desc; # 23\nselect * from crm_fields where crm_configuration_id = 356;\nselect * from crm_field_values where crm_field_id = 5302 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 356 order by id desc;\nselect * from stages where crm_configuration_id = 356 order by id desc;\n\nselect * from playbooks where team_id = 260 order by id desc; # 4 (2 deleted)\nselect * from groups where team_id = 260 order by id desc; # 27 groups, (2 deleted)\nselect * from playbook_layouts where playbook_id IN (1410,1409,1276,1254); # 4\nselect ce.* from calendars c\njoin users u on c.user_id = u.id\njoin calendar_events ce on c.id = ce.calendar_id\nwhere u.team_id = 260\nand (ce.start_time > '2025-02-21 00:00:00')\n;\n# calendar events 1207\n#\n\nselect * from opportunities where team_id = 260;\nSELECT * FROM crm_field_data WHERE object_id = 4696496;\n\nselect * from activities where crm_configuration_id = 356 and crm_provider_id IS NOT NULL;\nselect * from activities where crm_configuration_id IN (221) and provider NOT IN ('ms-teams', 'uploader', 'zoom-bot')\n# and type = 'conference' and status = 'scheduled' and activities.is_internal = 0\nand created_at > '2024-03-01 00:00:00'\norder by id desc; # 880 000, ringcentral, avaya\nSELECT * FROM participants WHERE activity_id = 26371744;\n\n# all activities 942 000 +\n# conference 7385 - scheduled 984 - external 343\n\nselect * from activities where id = 26321812;\nselect * from participants where activity_id = 26321812;\nselect * from participants where activity_id in (26414510,26414514,26414516,26414604,26414653,26414655);\nselect * from leads where id in (720428,689175,731546,645866,621037);\n\nselect * from users where id = 13841;\nselect * from opportunities where user_id = 9541;\nselect * from stages where id = 15900;\n\nselect * from accounts where\n# id IN (4160055,5053725,4965303,4896434)\nid in (4584518,3249934,3218025,3891133,3399450,4172999,4485161,3101785,4587203,3070816,2870343,2870341,3563940,4550846,3424464,3249963,2870342)\n;\n\nselect * from activities where id = 26654935;\nSELECT * FROM opportunities WHERE id = 4803458;\n\nSELECT * FROM opportunities where team_id = 260 and user_id = 13841 AND stage_id = 15900;\nSELECT id, uuid, provider, type, lead_id, account_id, contact_id, opportunity_id, stage_id, status, recording_state, title, actual_start_time, actual_end_time\nFROM activities WHERE user_id = 13841 AND opportunity_id IN (4729783, 4731717, 4731726, 4732064, 4732849, 4803458, 4813213);\n\nSELECT DISTINCT\n o.id, o.stage_id, s.name, a.title,\n a.*\nFROM activities a\n# INNER JOIN tracks t ON a.id = t.activity_id\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams team ON u.team_id = team.id\nINNER JOIN groups g ON u.group_id = g.id\nINNER JOIN opportunities o ON a.opportunity_id = o.id\nINNER JOIN stages s ON o.stage_id = s.id\nWHERE\n a.crm_configuration_id = 356\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n# and a.user_id = 13841\n AND u.uuid = uuid_to_bin('6f40e4b8-c340-4059-b4ac-1728e87ea99e')\n AND team.uuid = uuid_to_bin('a607fba7-452e-4683-b2af-00d6cb52c93c')\n AND g.uuid = uuid_to_bin('b5d69e40-24a0-4c16-810b-5fa462299f94')\n\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND t.type IN ('audio', 'video')\n AND (\n (a.actual_start_time BETWEEN '2025-03-13 00:00:00' AND '2025-03-18 07:59:59')\n OR\n (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-13 00:00:00' AND '2025-03-18 07:59:59'\n )\n )\n AND (\n a.is_private = 0\n OR (\n a.is_private = 1\n AND u.uuid = uuid_to_bin('6f40e4b8-c340-4059-b4ac-1728e87ea99e')\n )\n )\n AND (\n# s.id = 15900\n s.uuid = uuid_to_bin('04ca1c26-c666-4268-a129-419c0acffd73')\n OR s.uuid IS NULL -- Include records without opportunity stage\n )\n\nORDER BY a.actual_end_time DESC;\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lead Forensics%'; # 190, 162, 8474, willsc@leadforensics.com\nSELECT * FROM users WHERE team_id = 190;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 190\nand sa.provider = 'hubspot';\n\nselect * from role_user where user_id = 8474;\n\nselect * from crm_configurations where provider = 'bullhorn';\n\nSELECT * FROM opportunities WHERE uuid_to_bin('94578249-65ec-4205-90f2-7d1a7d5ab64a') = uuid;\nSELECT * FROM users WHERE uuid_to_bin('26dbadeb-926f-4150-b11b-771b9d4c2f9a') = uuid;\n\nSELECT * FROM opportunities WHERE id = 4732493;\nselect * from activities where opportunity_id = 4732493;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE id = 443; # 358, 14315, andrea.romano@correrenaturale.com\nSELECT * FROM opportunities WHERE team_id = 443;\n\nSELECT a.id, a.type, a.user_id, a.status, a.deleted_at, u.name, u.email, u.team_id as activity_team_id, u.status, u.deleted_at, t.name, t.status, s.team_id as stage_team_id\nFROM activities AS a\nJOIN stages AS s ON a.stage_id = s.id\nJOIN users AS u ON u.id = a.user_id\nJOIN teams AS t ON t.id = s.team_id\nWHERE u.team_id <> s.team_id and t.id > 135;\n\n\nSELECT\n crm_configuration_id,\n crm_provider_id,\n COUNT(*) as duplicate_count,\n GROUP_CONCAT(id) as stage_ids,\n GROUP_CONCAT(name) as stage_names\nFROM stages\nGROUP BY crm_configuration_id, crm_provider_id\nHAVING COUNT(*) > 1\nORDER BY duplicate_count DESC;\n\nselect * from stages where id IN (14898,14907);\n\nselect * from business_processes;\n\nSELECT *\nFROM crm_configurations\nWHERE team_id IN (\n SELECT team_id\n FROM crm_configurations\n GROUP BY team_id\n HAVING COUNT(*) > 1\n)\nORDER BY team_id;\n\nSELECT *\nFROM teams\nWHERE crm_id IN (\n SELECT crm_id\n FROM teams\n GROUP BY crm_id\n HAVING COUNT(*) > 1\n)\nORDER BY crm_id;\n\n# ***************************************************************************\nselect * from crm_configurations where provider = 'integration-app';\nSELECT * FROM teams WHERE id = 443; # Correre Naturale 358 14315 andrea.romano@correrenaturale.com\nselect * from activities where crm_configuration_id = 358 order by actual_end_time desc;\nselect id, uuid, actual_end_time, crm_provider_id, is_internal, playbook_category_id, type, user_id, lead_id, contact_id, account_id, opportunity_id, status, title from activities where crm_configuration_id = 358 order by actual_end_time desc;\nselect * from team_features where team_id = 358;\nselect * from activity_summary_logs;\n\nselect * from teams where id = 406;\n\n# ************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Sportfive%'; # 267, 202, 14637, srv.salesforce@sportfive.com\nselect * from activities where crm_configuration_id = 202 order by actual_end_time desc;\n\nSELECT * FROM users where id = 14637;\nSELECT * FROM teams where id = 267;\nSELECT * FROM groups where id = 1118;\n\nselect g.name, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\ninner join groups g on g.id = u.group_id\nwhere a.crm_configuration_id = 202\nand a.is_internal = 0\nand (a.scheduled_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type = 'conference'\nand a.status != 'completed'\nand a.external_id is not null\norder by a.scheduled_start_time desc;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 202\n AND status IN ('completed', 'failed')\n AND recording_state != 'stopped'\n AND type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n AND (is_private = 0 OR user_id = 14637)\n AND (\n (\n actual_start_time BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n ) OR (\n actual_start_time IS NULL\n AND type IN ('sms-outbound', 'sms-inbound')\n AND created_at BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n )\n )\n AND NOT EXISTS (\n SELECT 1\n FROM tracks\n WHERE\n tracks.activity_id = activities.id\n AND tracks.type IN ('audio', 'video')\n )\nORDER BY actual_end_time DESC;\n\nSELECT DISTINCT\n a.*\nFROM activities a\nINNER JOIN tracks t ON a.id = t.activity_id\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams team ON u.team_id = team.id\nWHERE\n a.crm_configuration_id = 202\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n# and a.user_id = 14637\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND t.type IN ('audio', 'video')\n AND (\n (a.actual_start_time BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59')\n OR\n (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n )\n )\n AND (\n a.is_private = 0\n OR (\n a.is_private = 1\n AND a.user_id = 14637\n )\n )\n\nORDER BY a.actual_end_time DESC\n;\n\nSELECT DISTINCT a.*\nFROM activities a\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams t ON u.team_id = t.id\n# INNER JOIN tracks tr ON a.id = tr.activity_id\n# INNER JOIN groups g ON u.group_id = g.id\nWHERE 1=1\n AND t.id = 267\n# AND t.uuid = uuid_to_bin('aed4927b-f1ea-499e-94c3-83762fd233e8')\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND tr.type NOT IN ('audio', 'video')\n AND (\n a.is_private = 0\n OR a.user_id = 14637\n )\n AND (\n (a.actual_start_time BETWEEN '2025-03-19 00:00:00' AND '2025-03-21 23:59:59')\n OR (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-19 00:00:00' AND '2025-03-21 23:59:59'\n )\n )\n# and NOT EXISTS (\n# SELECT 1\n# FROM tracks t\n# WHERE t.activity_id = a.id\n# AND t.type IN ('audio', 'video')\n# )\n\nORDER BY a.actual_end_time DESC;\n\nSELECT * FROM tracks WHERE activity_id = 26485995;\n\nselect a.is_private, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\nwhere a.crm_configuration_id = 202\n# and a.is_internal = 0\nand (a.actual_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type IN (\"softphone\",\"softphone-inbound\",\"conference\",\"sms-inbound\")\nand a.status IN ('completed', 'failed')\n# and a.external_id is not null\norder by a.actual_end_time desc;\n\nselect * from activities a where a.crm_configuration_id = 202\nand a.actual_start_time between '2025-03-20 00:00:00' and '2025-03-21 00:00:00'\n# AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n\nselect g.name, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\ninner join groups g on g.id = u.group_id\nwhere a.crm_configuration_id = 202\nand a.is_internal = 0\nand (a.scheduled_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type = 'conference'\nand a.status != 'completed'\nand a.external_id is not null\norder by a.scheduled_start_time desc;\n\nSELECT * FROM teams WHERE name LIKE '%Tourlane%';\nSELECT * FROM crm_fields WHERE crm_configuration_id = 209 and object_type = 'opportunity';\nSELECT * FROM crm_field_data WHERE crm_field_id = 98809;\n\nselect * from users where status = 1 AND timezone = 'MDT';\n\nselect * from opportunities where id = 3769814;\nselect * from deal_risks where opportunity_id = 3769814;\n\nselect cp.* from crm_profiles cp\njoin users u on cp.user_id = u.id\njoin crm_configurations crm on cp.crm_configuration_id = crm.id\nwhere crm.provider = 'hubspot' AND u.status = 1 AND log_notes != 'none';\n\nselect * from crm_fields where id = 154575;\n\nselect * from team_features where feature = 'SUPPORTS_SYNC_MISSING_CALL_DISPOSITIONS';\nSELECT * FROM teams WHERE id = 176; # crm 148\nselect * from activities where crm_configuration_id = 148 and provider = 'hubspot' order by id desc;\n\nselect * from activity_providers where provider = 'amazon-connect';\n\nselect * from crm_fields cf\njoin crm_configurations crm on crm.id = cf.crm_configuration_id\nwhere crm.provider = 'hubspot' and cf.object_type IN ('account', 'contact');\n\n# *********************************************************************************************\nSELECT * FROM users WHERE id IN (15415, 15418);\nSELECT * FROM groups WHERE id IN (1805,1806);\nSELECT * FROM playbooks WHERE id = 1860;\nSELECT * FROM playbook_categories WHERE id = 38634;\nSELECT * FROM crm_fields WHERE id = 189962;\n\nSELECT * FROM teams WHERE name = 'Pulsar Group'; # 472, 380, 15138 raza.gilani@vuelio.com\n\nSELECT * FROM crm_profiles WHERE user_id = 15415;\nSELECT * FROM social_accounts WHERE sociable_id = 15415 and provider = 'salesforce';\n\nselect * from sidekick_settings where team_id = 472;\n\nSELECT * FROM activities WHERE uuid_to_bin('452c58c7-b87c-4fdd-953e-d7af185e9588') = uuid; # 28617536, user: 15418\nSELECT * FROM activities WHERE uuid_to_bin('399114ee-d3a8-458c-bff5-5f654658db0a') = uuid; # 28344407, user: 15415\nSELECT * FROM activities WHERE uuid_to_bin('f0aa567f-0ab1-4bbb-96aa-37dcf184676b') = uuid; # 28580288, user: 15415\nSELECT * FROM activities WHERE uuid_to_bin('50c086b1-2770-4bca-b5ae-6bac22ec426b') = uuid; # 28566069, user: 15415\n\n# *********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%TeamTailor%'; # 109, 218, 13969, salesforce-integrations@teamtailor.com\nselect * from crm_configurations where id = 218;\nSELECT * FROM activities WHERE uuid_to_bin('e39b5857-7fdb-4f5a-951a-8d3ca69bb1b0') = uuid; # 28338765\nSELECT * FROM users WHERE id IN (13232, 13230);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\n\n0057R00000EPL5HQAX Inez Ekblad\n\n1091cb81-5ea1-4951-a0ed-f00b568f0140 Triman Kaur\n\nSELECT * FROM crm_profiles WHERE user_id IN (13232, 13230);\n\n############################################################################################\nSELECT * FROM activities WHERE uuid_to_bin('675eeaeb-5681-42db-90bc-54c07a604408') = uuid; # 28655939 00UVg00000FLvnSMAT\nSELECT * FROM crm_field_data WHERE activity_id = 28655939;\nSELECT * FROM crm_fields WHERE id IN (94491,94493,94498);\nSELECT * FROM users WHERE id = 13658;\nSELECT * FROM teams WHERE id = 109;\nSELECT * FROM crm_configurations WHERE id = 218;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Strengthscope%'; # 481, 390, 15420, katy.holden@strengthscope.comk\nSELECT * FROM stages WHERE crm_configuration_id = 390;\nselect * from business_processes where team_id = 481 and crm_configuration_id = 390;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 481\nand sa.provider = 'salesforce';\n\n\nSELECT * FROM users WHERE id = 15780; # team 462\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 462\nand sa.provider = 'hubspot';\n\n\nselect * from teams where id = 495;\nSELECT * FROM users WHERE id = 15794;\nselect * from social_accounts where sociable_id = 15794;\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Flight%'; # 427, 333, 13752\nSELECT * FROM accounts WHERE team_id = 427 and crm_provider_id = '668731000183444517';\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Group GTI%'; # 495, 407, 15794\nSELECT * FROM activities WHERE crm_configuration_id = 407\nand status = 'completed' and type = 'conference'\norder by id desc;\n\nselect ru.*, pr.*, p.* from users u join role_user ru on ru.user_id = u.id\njoin permission_role pr on pr.role_id = ru.role_id\n join permissions p on p.id = pr.permission_id\nwhere team_id = 495 and p.name IN ('dial');\n\nselect * from permission_role;\n\nselect * from activities where crm_configuration_id = 407 and status = 'completed' order by id desc;\nSELECT * FROM activities WHERE id = 29512773;\nSELECT * FROM activities WHERE id IN (29042721,28991325,29002874);\n\nSELECT al.* from activity_summary_logs al join activities a on a.id = al.activity_id\nwhere a.crm_configuration_id = 407\n# and a.id IN (29042721,28991325,29002874);\n\nSELECT * FROM users WHERE id = 15794;\nSELECT * FROM users WHERE team_id = 495;\nSELECT * FROM social_accounts WHERE sociable_id = 15794;\nSELECT * FROM opportunities WHERE team_id = 495 and name like '%OC:%';\nSELECT * FROM contacts WHERE team_id = 495;\nSELECT * FROM leads WHERE team_id = 495;\nSELECT * FROM accounts WHERE team_id = 495;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 407;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 407;\nSELECT * FROM crm_configurations WHERE id = 407;\nSELECT * FROM opportunities WHERE team_id = 495 and close_date BETWEEN '2025-06-01' AND '2025-07-01'\nand user_id IS NOT NULL and is_closed = 1 and is_won = 1;\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Hamilton Court FX LLP%'; # 249, 187, 10103\nSELECT * FROM activities WHERE uuid_to_bin('4659c2bb-9a49-484e-9327-a3d66f1e028c') = uuid; # 28951064\nSELECT * FROM crm_fields WHERE crm_configuration_id = 187 and object_type IN ('tasks', 'event');\n\n# *********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Checkstep%'; # 325, 256, 11753\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 325\nand sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('7be372e2-1916-4d79-a2f3-ca3db1346db3') = uuid; # 28611085\nSELECT * FROM activities WHERE uuid_to_bin('980f0336-840b-4185-a5a9-30cf8b0749a8') = uuid; # 28719733\nSELECT * FROM activity_summary_logs where activity_id = 28719733;\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Learning%'; # 260, 356, 9444\nSELECT * FROM activity_summary_logs where sent_at BETWEEN '2025-06-09 11:38:00' AND '2025-06-09 11:40:00';\nSELECT * FROM leads WHERE crm_configuration_id = 356 and crm_provider_id = '230045001502770504'; # 823630\nselect * from activities where crm_configuration_id = 356 and lead_id = 841732;\n\nSELECT * from activity_summary_logs al join activities a on a.id = al.activity_id\nwhere a.crm_configuration_id = 356;\n\nselect * from activities where crm_configuration_id = 356\nand actual_end_time between '2025-06-09 11:00:00' and '2025-06-09 12:00:00'\norder by id desc;\n\nselect * from accounts where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\nselect * from leads where crm_configuration_id = 356 and crm_provider_id = '230045001514275654' order by id desc;\nselect * from contacts where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\nselect * from opportunities where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\n\nselect * from team_features where team_id = 260;\nselect * from features where id IN (1,2,4,6,18,19,20,9,10,3,23,24,25,26,27);\n\nSELECT * FROM activities WHERE uuid_to_bin('7be372e2-1916-4d79-a2f3-ca3db1346db3') = uuid;\n\nselect * from crm_fields;\nselect * from crm_layout_entities;\n\nSELECT * FROM teams WHERE name LIKE '%Optable%';\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Teamtailor%'; # 109, 218, 13969\nSELECT * FROM crm_configurations WHERE id = 218;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('675eeaeb-5681-42db-90bc-54c07a604408') = uuid; # 28655939\nSELECT * FROM crm_field_data WHERE activity_id = 28655939;\nSELECT * FROM crm_fields WHERE id in (94491,94493,94498);\n\nselect * from teams where crm_id IS NULL;\n\nSELECT * FROM activities WHERE uuid_to_bin('71aa8a0c-9652-4ff6-bee7-d98ae60abef6') = uuid;\n\n# *************************************************************************************************\nselect * from team_domains where team_id = 399;\nSELECT * FROM teams WHERE name LIKE '%Rydoo%'; # 399, 318, 13207\n\nselect * from calendar_events where id = 5163781;\nSELECT * FROM activities WHERE uuid_to_bin('be2cbc52-7fda-46a0-9ae0-25d9553eafc0') = uuid; # 29443896\nSELECT * FROM participants WHERE activity_id = 29443896;\nselect * from contacts where crm_configuration_id = 318 and email = 'marianne.westeng@strawberry.no';\nselect * from leads where crm_configuration_id = 318 and email = 'marianne.westeng@strawberry.no';\n\nselect * from activities where user_id = 14937 order by created_at ;\n\nselect * from users where id = 14937;\n\nselect * from contacts where crm_configuration_id = 318 and email LIKE '%@strawberry.se';\nselect * from opportunities where crm_configuration_id = 318 and crm_provider_id = '006Sf00000D1WOAIA3';\n\nselect * from activities a join participants p on a.id = p.activity_id\nwhere crm_configuration_id = 318 and a.updated_at > '2025-06-23T08:18:43Z';\n\n# *************************************************************************************************\nSELECT * FROM opportunities WHERE team_id = 379 and crm_provider_id = '39334518886';\nSELECT * FROM opportunities WHERE team_id = 379 order by id desc;\nSELECT * FROM teams WHERE id = 379;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 379 and sociable_id = 13852\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE id = 307;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 307;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1027;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 307\n and id IN (144750,144855,145158,155227);\n\nSELECT * FROM activities;\n\n\nselect * from activities\nwhere created_at > '2025-07-01 00:00:00'\n# and created_at < '2025-08-01 00:00:00'\nand type not in ('email-outbound', 'email-inbound')\nand account_id is null\nand contact_id is null\nand lead_id is null\nand opportunity_id is not null\n;\nSELECT * FROM activities WHERE id IN (25344155, 25344296, 25501909, 28692187);\nSELECT * FROM crm_configurations WHERE id in (335,301,200);\n\nselect * from crm_fields where crm_configuration_id = 230 and crm_provider_id = 'Age2__c';\n\nSELECT * FROM teams WHERE name LIKE '%Resights%';\nselect * from crm_fields where crm_configuration_id = 1 and object_type = 'opportunity';\n\nselect * from crm_configurations where provider = 'bullhorn'; # 344\nselect * from teams where id IN (442);\n\nselect * from activities\nwhere crm_configuration_id = 177\nand provider = 'amazon-connect'\n order by id desc;\n# and source <> 'gong';\n\nselect * from activity_providers where provider = 'amazon-connect';\n\nSELECT * FROM activities WHERE uuid_to_bin('cec1993b-a7e5-4164-b74d-d680ea51d2f2') = uuid;\n\n\nselect * from crm_configurations where store_transcript = 1;\nSELECT * FROM teams WHERE id IN (80);\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Sedna%'; # 277, 213, 12594\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 277\nand sa.provider = 'salesforce';\n\nselect * from activities where crm_configuration_id = 213 and account_id = 2511502;\n\nselect * from crm_configurations where id = 213;\n\nSELECT * FROM activities WHERE uuid_to_bin('35aa790a-8569-4544-8268-66f9a4a26804') = uuid; # 33981604\nSELECT * FROM participants WHERE activity_id = 33981604;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 337 and object_type = 'task';\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 431\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('b5476c7d-19a8-491b-869d-676ea1e857b6') = uuid; # 33997223\nselect * from activity_summary_logs where activity_id = 33997223;\nselect * from activity_notes where activity_id = 33997223;\n\n# ***********************************\nSELECT * FROM teams WHERE name LIKE '%Abode%';\n\n\nselect * from features;\nselect * from teams t\nwhere t.status = 'active'\nand id NOT IN (select team_id from team_features where feature_id = 9)\n;\n\n\nselect * from playbook_layouts where playbook_id = 1725;\nSELECT * FROM activities WHERE uuid_to_bin('65cc283c-4849-49e6-927f-4c281c8fea19') = uuid; # 34297473\nselect * from teams where id = 318;\nselect * from crm_configurations where team_id = 318;\nselect * from playbooks where team_id = 318;\nSELECT * FROM crm_layouts where crm_configuration_id = 381;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1259;\nSELECT * FROM crm_fields WHERE id IN (192938,192936,192939);\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1266;\nSELECT * FROM crm_fields WHERE id IN (192980,192991,192997,192998,193064,193067);\n\nSELECT * FROM activities WHERE uuid_to_bin('a902289b-285c-48eb-9cc2-6ad6c5d938f5') = uuid; # 34297533\n\n\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 927;\nSELECT * FROM crm_fields WHERE id IN (131668,131669,131670,131671,131676,131797);\n\nSELECT * FROM teams WHERE name LIKE '%Peripass%'; # 351, 281, 12124\nselect * from crm_layouts where crm_configuration_id = 281;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 927;\nselect * from crm_fields where crm_configuration_id = 281 and id in (131668,131669,131670,131671,131676,131797);\nselect * from opportunities where crm_configuration_id = 281;\n\nSELECT * FROM activities WHERE id IN (34211315, 34130075);\nSELECT * FROM crm_field_data WHERE object_id IN (34211315, 34130075);\n\nselect cf.crm_configuration_id, cle.crm_layout_id, cle.id, cf.id from crm_field_data cfd\njoin crm_layout_entities cle on cle.id = cfd.crm_layout_entity_id\njoin crm_fields cf on cle.crm_field_id = cf.id\nwhere cf.deleted_at IS NOT NULL\nGROUP BY cle.id, cf.id;\n\nselect * from crm_layouts where id IN (355);\nselect u.email, t.crm_id, t.* from teams t\njoin users u on u.id = t.owner_id\nwhere crm_id IN (97);\n\nSELECT * FROM crm_fields WHERE id = 96492;\n\nselect * from permissions;\nselect * from permission_role where permission_id = 247;\nselect * from roles;\n\nselect * from migrations;\n# *****************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('291e3c21-11cc-4728-aee7-6e4bedf86d72') = uuid; # 34262174\nSELECT * FROM crm_configurations WHERE id = 301;\nSELECT * FROM teams WHERE id = 343;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nselect * from participants where activity_id = 34262174;\n\nselect * from contacts where crm_configuration_id = 301 and id = 6976326;\nselect * from accounts where crm_configuration_id = 301 and id IN (4647626, 4815829); # 30761335403\n\nselect * from activity_summary_logs where activity_id = 34262174;\n\nselect * from users where status = 1 AND timezone = 'EST';\n\n# ****************************************************************************\nSELECT * FROM users WHERE id = 13869;\nSELECT * FROM crm_configurations WHERE id = 320;\nSELECT * FROM teams WHERE id = 401;\n\nSELECT * FROM activities WHERE uuid_to_bin('2228c16f-10be-48d5-90d4-67385219dc01') = uuid; # 29670601\n\nSELECT * FROM accounts WHERE id = 7761483;\nSELECT * FROM opportunities WHERE id = 6051814;\n\nSELECT * FROM teams WHERE name LIKE '%Seedlegals%';\n\n;select * from opportunities where updated_at > '2025-10-11' AND crm_provider_id = '34713761166';\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 177;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 577;\nSELECT * FROM crm_fields WHERE id IN (68458,68459,68480,68497,68524,68530,68554,68618,68662,68781,68810,68898,68981,69049,97467);\n\nSELECT t.id, crm.id, t.name, crm.sync_objects, crm.provider, crm.last_synced_at FROM crm_configurations crm join teams t on t.crm_id = crm.id\nwhere t.status = 'active' AND crm.provider = 'hubspot' AND crm.last_synced_at < '2025-10-22 00:00:00';\n\nSELECT * FROM activities WHERE uuid_to_bin('fa09449f-cba9-496a-b8f3-865cd3c72351') = uuid;\nSELECT * FROM crm_configurations where id = 184;\nSELECT * FROM teams WHERE id = 246;\nSELECT * FROM social_accounts WHERE sociable_id = 9259 and provider = 'hubspot';\n\nSELECT * FROM users WHERE email LIKE '%rhian.old@bud.co.uk%'; # 17700\nSELECT * FROM teams WHERE id = 551;\n\nSELECT * FROM crm_configurations WHERE id = 471;\nSELECT * FROM activities WHERE crm_configuration_id = 471 and crm_provider_id IS NOT NULL;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 471;\nSELECT * FROM crm_fields WHERE id = 307260;\nSELECT * FROM crm_field_values WHERE crm_field_id = 307260;\n\nselect * from crm_layouts where crm_configuration_id = 471;\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1547;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1548;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 551 and sa.provider = 'hubspot';\n\nSELECT * FROM teams WHERE name LIKE '%$PCS%';\n\n# ********************************************************************************************************\nselect * from crm_configurations crm\njoin teams t on t.crm_id = crm.id\nwhere t.status = 'active'\nand crm.provider = 'hubspot';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from crm_configurations where id = 331; # 416\nSELECT * FROM teams WHERE id = 416;\nSELECT * FROM opportunities WHERE team_id = 190;\n\nSELECT * FROM teams WHERE name LIKE '%Lead Forensics%';\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 190 and sa.provider = 'hubspot';\n\n\n\nSELECT * FROM teams WHERE name LIKE '%Rapaport%'; # 431, 337\nSELECT * FROM teams where id = 431;\nSELECT * FROM crm_configurations where team_id = 431;\nSELECT * FROM activity_providers where team_id = 431;\nSELECT * FROM activities where crm_configuration_id = 337 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 431 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%BiP%'; # 401, 320\nSELECT * FROM teams where id = 401;\nSELECT * FROM crm_configurations where team_id = 401;\nSELECT * FROM activity_providers where team_id = 401;\nSELECT * FROM activities where crm_configuration_id = 320 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 401 and sa.provider = 'salesforce';\n\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 307; # 379 - Story Terrace Inc , portalId: 3921157\nSELECT * FROM contacts WHERE team_id = 379 and updated_at > '2026-01-31 11:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 379 and updated_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 379 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 379 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; # 563 - LATUS Group (ad94d501-5d09-44fd-878f-ca3a9f8865c3) , portalId: 3904501\nSELECT * FROM opportunities WHERE team_id = 563 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 563 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 338; # 432 - Formalize , portalId: 9214205\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 432 and sa.provider = 'hubspot';\nSELECT * FROM opportunities WHERE team_id = 432 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 432 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 436; # 519 - Moxso , portalId: 25531989\nSELECT * FROM opportunities WHERE team_id = 519 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 519 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 96; # 119 - Nourish Care , portalId: 26617984\nSELECT * FROM opportunities WHERE team_id = 119 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 119 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 331; # 416 - The National College , portalId: 7213852\nSELECT * FROM opportunities WHERE team_id = 416 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 416 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 308; # 380 - Foodles , portalId: 7723616\nSELECT * FROM opportunities WHERE team_id = 380 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 380 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 379; # 471 - imat-uve , portalId: 9177354\nSELECT * FROM opportunities WHERE team_id = 471 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 471 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 465; # 545 - Spotler , portalId: 144759271\nSELECT * FROM opportunities WHERE team_id = 545 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 545 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 455; # 537 - indevis , portalId: 25666868\nSELECT * FROM opportunities WHERE team_id = 537 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 537 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 200; # 265 - Jobadder , portalId: 6426676\nSELECT * FROM opportunities WHERE team_id = 265 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 265 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 335; # 429 - Eletive , portalId: 6110563\nSELECT * FROM opportunities WHERE team_id = 429 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 429 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 363; # 456 - Global Group , portalId: 8901981\nSELECT * FROM opportunities WHERE team_id = 456 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 456 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 297; # 369 - Unbiased , portalId: 9229005\nSELECT * FROM opportunities WHERE team_id = 369 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 369 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 353; # 449 - Fuuse , portalId: 25781745\nSELECT * FROM opportunities WHERE team_id = 449 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 449 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 487; # 566 - Nimbus , portalId: 39982590\nSELECT * FROM opportunities WHERE team_id = 566 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 566 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 487;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1630;\nselect * from crm_fields where crm_configuration_id = 487 and\n(uuid_to_bin('4c6b2971-64d4-45b8-b377-427be758b5a5') = uuid or uuid_to_bin('59e368d8-65a0-4b77-b611-db37c99fbe68') = uuid);\nSELECT * FROM crm_field_values WHERE crm_field_id = 375177;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 420; # 506 - voiio , portalId: 145629154\nSELECT * FROM opportunities WHERE team_id = 506 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 506 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 479; # 558 - Momice , portalId: 535962\nSELECT * FROM opportunities WHERE team_id = 558 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 558 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 59; # 80 - Storyclash GmbH , portalId: 4268479\nSELECT * FROM opportunities WHERE team_id = 80 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 80 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 175; # 203 - Team iAM , portalId: 5534732\nSELECT * FROM opportunities WHERE team_id = 203 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 203 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 368; # 460 - OneTouch Health , portalId: 5534732183355\nSELECT * FROM opportunities WHERE team_id = 460 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 460 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\n\n\nselect * from users where id = 29643;\nSELECT * FROM crm_field_values WHERE crm_field_id = 375177;\n# ********************************************************************\nSELECT * FROM teams WHERE name LIKE '%Buynomics%'; # 462, 482, 14910\nSELECT * FROM activities WHERE crm_configuration_id = 482\nand type NOT IN ('email-inbound', 'email-outbound')\n# and description like '%The call focused on understanding Welch%'\norder by id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 462 and sa.provider = 'salesforce';\n\nselect * from contacts where crm_configuration_id = 482 and name = 'Cyndall Hill'; # 15504749\nselect * from contacts where id = 10891096; # 482\nSELECT * FROM activities WHERE crm_configuration_id = 482\nand type NOT IN ('email-inbound', 'email-outbound')\nand contact_id = 15504749\norder by id desc;\n\nselect * from activities where id = 36793003; # 96cc7bc1-8622-4d27-92f4-baf664fc1a56, 00UOf00000PDdOXMA1\nselect * from transcription where id = 7646782;\nselect * from ai_prompts where transcription_id = 7646782;\n\n# ********************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('7a8471a3-847e-4822-802b-ddf426bbc252') = uuid; # 37370018\nSELECT * FROM activity_summary_logs WHERE activity_id = 37370018;\nSELECT * FROM teams WHERE id = 555;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 555 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('7c17b8aa-09df-4f85-a0f7-51f47afd712d') = uuid; # 37395250\nSELECT * FROM activities WHERE uuid_to_bin('14d60388-260d-494b-aa0d-63fdb1c78026') = uuid; # 37395250\n\nSELECT a.* FROM activities a JOIN crm_configurations c on c.id = a.crm_configuration_id\nwhere a.type IN ('softphone', 'softphone-outbound') and c.provider = 'hubspot'\nand a.provider NOT IN ('hubspot')\n# and a.provider IN ('salesloft')\n# and c.id NOT IN (70)\n# and a.duration > 30\n# and actual_start_time > '2026-02-05 00:00:00'\norder by a.id desc;\n\nSELECT * FROM activities WHERE id = 37549787;\nSELECT * FROM crm_profiles WHERE user_id = 17613;\n\nSELECT * FROM crm_configurations WHERE id = 70;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 93 and sa.provider = 'hubspot';\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations WHERE id = 373; # KPSBremen.de 465 # - no social account\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 465 and sa.provider = 'hubspot';\n\nselect * from crm_configurations where id = 494;\n\nSELECT * FROM teams WHERE name LIKE '%splose%'; # 572, 495, 18708\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 572 and sa.provider = 'pipedrive';\n\nselect * from opportunities where team_id = 572\n# and name like '%Onebright%'\n# and is_closed = 1 and is_won = 0\n order by id desc;\n\n\nselect * from users where deleted_at is null and status = 2;\n\nselect * from contacts where id = 17900517;\nselect * from accounts where id = 10109838;\nselect * from opportunities where id = 6955880;\n\nselect * from opportunity_contacts where opportunity_id = 6955880;\nselect * from opportunity_contacts where contact_id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nSELECT * FROM activities WHERE uuid_to_bin('adcb8331-5988-4353-834e-383a355abba2') = uuid; # 38056424, crm 104659682404\nselect * from teams where id = 456;\nSELECT * FROM crm_configurations WHERE id = 363;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 456 and sa.provider = 'hubspot';\n\nselect * from crm_layouts where crm_configuration_id = 363;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (1203, 1204, 1635);\nSELECT * FROM crm_fields WHERE id IN (181536, 181538, 213455);\n\nSELECT * FROM teams WHERE name LIKE '%Electric%'; # 342, 272, 12767\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 342 and sa.provider = 'pipedrive';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 and name like 'NORTHUMBRIA POL%'; # and updated_at > '2025-07-01 00:00:00';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 order by remotely_created_at asc; # and updated_at > '2025-07-01 00:00:00';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 and updated_at > '2026-01-01 00:00:00';\nSELECT * FROM crm_fields WHERE crm_configuration_id = 272 and object_type = 'opportunity';\nSELECT * FROM crm_field_values WHERE crm_field_id = 127164;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 342 and sa.provider = 'pipedrive';\n\nSELECT * FROM teams WHERE id = 472;\nSELECT * FROM crm_configurations WHERE id = 380;\nselect * from activities where id = 38285673; # 38285673\nSELECT * FROM users WHERE id = 16942;\nSELECT * FROM groups WHERE id = 1964;\nSELECT * FROM playbooks WHERE id = 2033;\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 499; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1678;\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\n\nSELECT * FROM activities WHERE uuid_to_bin('96b1261f-2357-49f9-ab38-23ce12008ea0') = uuid;\n\nselect * from contacts c\nwhere c.crm_configuration_id = 370 order by c.updated_at desc;\n\nSELECT * FROM participants where activity_id = 38833541;\nSELECT * FROM participants where activity_id = 39216301;\nSELECT * FROM activity_summary_logs where activity_id = 39216301;\nSELECT * FROM activities WHERE uuid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = uuid; # 38833541, crm 478116564181\nSELECT * FROM activities WHERE uuid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acde4d885ae') = uuid; # 39216301, crm 480171536586\nselect * from crm_profiles where crm_configuration_id = 319 and crm_provider_id = 525785080;\nselect * from opportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;\nselect * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;\nselect * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856', '742723347700');\n# owner 13236 525785080\n# contact 1 16779180 665587441856 - activity - Alex Howes alex@supportroom.com created 2026-01-26\n# contact 2 19247563 742723347700 - ash@supportroom.com 2026-03-24\n# company 4176133 47150650569\n# deal 7100953 410150124747\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 400 and sa.provider = 'hubspot';\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556; # owner: 18101, crm: 477\nselect * from crm_configurations where id = 477;\nSELECT * FROM users WHERE id = 18101;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'integration-app';\n\nselect * from opportunities where id = 7594349;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.0140625,"top":0.041666668,"width":0.028515626,"height":0.021527778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-6887025780313909229
|
-8175835564975155868
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
32
2
19
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\ServiceTraits;
use Carbon\Carbon;
use HubSpot\Client\Crm\Deals\Model\CollectionResponseAssociatedId;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Models\Account;
use Exception;
use Jiminny\Component\DealInsights\Forecast\Forecast;
use Jiminny\Jobs\Crm\MatchActivitiesToNewOpportunity;
use Jiminny\Models\Contact;
use Jiminny\Models\Crm\BusinessProcess;
use Jiminny\Exceptions\CrmException;
use Jiminny\Models\Opportunity;
use Illuminate\Support\Collection;
use Jiminny\Models\Stage;
use Jiminny\Repositories\Crm\CrmEntityRepository;
use Jiminny\Services\Crm\Hubspot\DealFieldsService;
use Jiminny\Services\Crm\Hubspot\OpportunitySyncStrategy\HubspotSingleSyncStrategy;
use Jiminny\Services\Crm\Hubspot\WebhookSyncBatchProcessor;
use Jiminny\Services\Crm\OpportunitySyncStrategyResolver;
use Jiminny\Utils\CurrencyFormatter;
/**
* Optimized sync methods for better performance
* These methods can be integrated into SyncCrmEntitiesTrait for significant performance gains
*/
trait OpportunitySyncTrait
{
private const int BATCH_SIZE = 100;
private const int BATCH_PROCESS_SIZE = 800;
protected OpportunitySyncStrategyResolver $opportunitySyncStrategyResolver;
protected CrmEntityRepository $crmEntityRepository;
protected DealFieldsService $dealFieldsService;
private ?array $cachedClosedDealStages = null;
private array $cachedBusinessProcesses = [];
private array $cachedStages = [];
public function syncOpportunities(array $parameters, ?string $strategy = null): int
{
$strategies = $this->opportunitySyncStrategyResolver->getStrategies($this->config, $strategy);
$parameters['config'] = $this->config;
$syncCount = 0;
$reportedTotal = 0;
$lastSyncedId = [];
try {
foreach ($strategies as $strategyName => $syncStrategy) {
$this->logger->info(
'[' . $this->getDisplayName() . '] Syncing opportunities using strategy: ' .
$strategyName
);
$total = 0;
$lastId = null;
$buffer = [];
// HubspotWebhookBatchSyncStrategy returns empty generator, this is for other strategies
foreach ($syncStrategy->fetchOpportunities($parameters, $total, $lastId) as $hsOpportunity) {
$buffer[] = $hsOpportunity;
// process every 800 rows (fits < 1 000 association limit)
if (\count($buffer) >= self::BATCH_PROCESS_SIZE) {
$syncCount += $this->processOpportunityBatch($buffer);
$buffer = [];
}
}
// leftovers
if ($buffer) {
$syncCount += $this->processOpportunityBatch($buffer);
}
$reportedTotal += $total;
$lastSyncedId = $lastId;
}
} catch (\HubSpot\Client\Crm\Deals\ApiException | CrmException $e) {
$this->handleSyncException($e, $parameters);
}
$this->logger->info(
'[HubSpot] Synced opportunities',
[
'team' => $this->team->getId(),
'sync_count' => $syncCount,
'total' => $reportedTotal,
'last_synced_id' => $lastSyncedId,
]
);
return $reportedTotal;
}
private function handleSyncException(\Throwable $e, array $parameters): void
{
if (($parameters['since'] ?? null) instanceof Carbon) {
$parameters['since'] = $parameters['since']->toDateTimeString();
}
$parameters['config'] = $this->config->getId();
$this->logger->warning('[' . $this->getDisplayName() . '] Sync opportunities failed', [
'teamId' => $this->team->getUuid(),
'parameters' => $parameters,
'reason' => $e->getMessage(),
]);
}
/**
* @inheritdoc
*/
public function syncOpportunity(string $crmId): ?Opportunity
{
$strategy = $this->opportunitySyncStrategyResolver->resolve(
$this->config,
OpportunitySyncStrategyResolver::SINGLE_SYNC_OPPORTUNITY_STRATEGY,
);
$parameters = [
'config' => $this->config,
'crm_id' => $crmId,
];
try {
if (! $strategy instanceof HubspotSingleSyncStrategy) {
throw new InvalidArgumentException('Strategy must by HubspotSingleSyncStrategy');
}
$hsOpportunity = $strategy->fetchOpportunity($parameters);
} catch (\HubSpot\Client\Crm\Deals\ApiException $e) {
$this->logger->info('[' . $this->getDisplayName() . '] Opportunity not found', [
'teamId' => $this->team->getUuid(),
'crmId' => $crmId,
'reason' => $e->getMessage(),
]);
return null;
}
$hsOpportunity['associations'] = $this->convertDealAssociations($hsOpportunity['associations'] ?? []);
return $this->importOrUpdateOpportunity($hsOpportunity);
}
/**
* Process webhook-collected opportunity batches.
*
* Drains Redis sets containing company CRM IDs collected from webhook events
* and dispatches ImportOpportunityBatch jobs for batch processing.
*
* @return int Number of opportunity IDs dispatched to jobs
*/
public function batchSyncOpportunities(): int
{
$configId = $this->team->getCrmConfiguration()->getId();
return $this->batchProcessor->processBatchesForObjectType(
WebhookSyncBatchProcessor::OBJECT_TYPE_DEAL,
$configId
);
}
/**
* Import a batch of opportunities by their CRM IDs.
* Fetches opportunity data from HubSpot API and delegates to importOpportunityBatch().
*
* @param array<string> $crmIds HubSpot deal CRM IDs
*
* @return array{success: array, failed_ids: array, errors?: array<string, string>}
*/
public function importOpportunityBatchByIds(array $crmIds): array
{
$fields = $this->dealFieldsService->getFieldsForConfiguration($this->config);
$allDeals = [];
foreach (array_chunk($crmIds, self::BATCH_SIZE) as $chunk) {
$deals = $this->client->getOpportunitiesByIds($chunk, $fields);
foreach ($deals as $deal) {
$allDeals[] = $deal;
}
}
// IDs not returned by HubSpot are likely deleted or inaccessible deals.
// These are not failures — retrying won't bring them back.
$fetchedIds = array_map('strval', array_column($allDeals, 'id'));
$notFoundIds = array_values(array_diff(array_map('strval', $crmIds), $fetchedIds));
if (! empty($notFoundIds)) {
$this->logger->info('[' . $this->getDisplayName() . '] CRM IDs not found in HubSpot (likely deleted)', [
'teamId' => $this->team->getId(),
'notFoundCount' => \count($notFoundIds),
'notFoundIds' => $notFoundIds,
'requestedCount' => \count($crmIds),
'fetchedCount' => \count($allDeals),
]);
}
if (empty($allDeals)) {
return ['success' => [], 'failed_ids' => []];
}
return $this->importOpportunityBatch($allDeals);
}
private function getClosedDealStages(): array
{
if ($this->cachedClosedDealStages !== null) {
return $this->cachedClosedDealStages;
}
$stages = $this->crmEntityRepository->getOpportunityClosedStages($this->config);
$data = [
'lost' => [],
'won' => [],
];
foreach ($stages as $stage) {
if ($stage->probability == 0.00) {
$data['lost'][] = $stage->crm_provider_id;
}
if ($stage->probability == 100.00) {
$data['won'][] = $stage->crm_provider_id;
}
}
$this->cachedClosedDealStages = $data;
return $data;
}
/**
* Import deals into the database with pre-fetched associations.
*
* API calls here (getAssociationsData, getExistingOpportunityCrmIds) are NOT
* caught — if they throw, the exception propagates to ImportOpportunityBatch::handle()
* where Laravel retries the whole job with backoff. After all retries exhausted,
* failed() requeues all IDs to Redis.
*
* The per-deal loop catches exceptions individually. A deal can end up in three states:
* - success: imported/updated successfully
* - failed_ids: exception thrown (DB constraint violation, corrupt data, etc.)
* These are permanent issues — retrying won't fix them.
* - skipped (null): missing dependencies (no account, unknown pipeline/stage).
* This is acceptable — the deal cannot be imported until those exist.
*/
private function importOpportunityBatch(array $deals): array
{
$syncedOpportunities = [
'success' => [],
'failed_ids' => [],
];
$dealIds = array_column($deals, 'id');
// Shared association/existing-ID preparation is batch-level state. If it fails, rethrow so the
// queue job retries the whole batch and eventually requeues all deal IDs back to Redis.
try {
$companyAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'companies');
$contactAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'contacts');
$associationsData = $this->prepareAssociatedEntities($companyAssociations, $contactAssociations);
$existingCrmIds = $this->crmEntityRepository->getExistingOpportunityCrmIds(
$this->config,
array_map('strval', $dealIds)
);
$existingCrmIdSet = array_flip($existingCrmIds);
} catch (\Throwable $e) {
$this->logger->error('[' . $this->getDisplayName() . '] Failed to fetch associations or existing IDs', [
'teamId' => $this->team->getId(),
'dealCount' => count($dealIds),
'error' => $e->getMessage(),
]);
throw $e;
}
foreach ($deals as $deal) {
try {
$deal['associations'] = $this->prepareAssociationsForOpportunity(
$deal['id'],
$companyAssociations,
$contactAssociations,
$associationsData
);
$syncedOpportunity = $this->importOrUpdateOpportunity(
$deal,
isset($existingCrmIdSet[(string) $deal['id']])
);
if ($syncedOpportunity) {
$syncedOpportunities['success'][] = $syncedOpportunity;
}
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to import opportunity', [
'teamId' => $this->team->getId(),
'crmId' => $deal['id'],
'error' => $e->getMessage(),
]);
$syncedOpportunities['failed_ids'][] = $deal['id'];
$syncedOpportunities['errors'][$deal['id']] = $e->getMessage();
}
}
return $syncedOpportunities;
}
/**
* Prepare associated entities for opportunities with optimized batch processing
* Returns structured data with CRM ID to DB ID mappings for each opportunity
*/
private function prepareAssociatedEntities(array $companyAssociations, array $contactAssociations): array
{
// Step 1: Collect all unique company and contact IDs from associations
$allCompanyIds = $this->flattenAssociationIds($companyAssociations);
$allContactIds = $this->flattenAssociationIds($contactAssociations);
// Step 2: Batch sync missing entities and get CRM ID to DB ID mappings
$companyIdMappings = [];
$contactIdMappings = [];
if (! empty($allCompanyIds)) {
$companyIdMappings = $this->prepareAssociatedAccounts($allCompanyIds);
}
if (! empty($allContactIds)) {
$contactIdMappings = $this->prepareAssociatedContacts($allContactIds);
}
return [
'company_id_mappings' => $companyIdMappings,
'contact_id_mappings' => $contactIdMappings,
];
}
/**
* Flatten association data to get unique IDs
*/
private function flattenAssociationIds(array $associations): array
{
$ids = [];
foreach ($associations as $dealAssociations) {
if (is_array($dealAssociations)) {
foreach ($dealAssociations as $id) {
$ids[$id] = true;
}
}
}
return array_keys($ids);
}
/**
* Batch sync missing accounts
*/
private function prepareAssociatedAccounts(array $companyIds): array
{
// Find which accounts already exist
$existingAccounts = $this->crmEntityRepository
->findAccountsByExternalIds($this->config, $companyIds);
$existingCompanyIds = $existingAccounts->pluck('crm_provider_id')->toArray();
$existingAccountsData = $existingAccounts->mapWithKeys(function ($account) {
return [$account->getCrmProviderId() => $account->getId()];
})->toArray();
$missingCompanyIds = array_diff($companyIds, $existingCompanyIds);
if (empty($missingCompanyIds)) {
return $existingAccountsData;
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing accounts', [
'teamId' => $this->team->getUuid(),
'total_companies' => count($companyIds),
'existing_companies' => count($existingCompanyIds),
'missing_companies' => count($missingCompanyIds),
]);
// we already have limit on opportunity ids count
// Initialize variable before try block
$syncedAccountsData = [];
try {
$syncedAccountsData = $this->batchSyncCrmObjects('companies', $missingCompanyIds);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing accounts', [
'size' => count($missingCompanyIds),
'error' => $e->getMessage(),
]);
$syncedAccountsData = [];
}
return $existingAccountsData + $syncedAccountsData;
}
/**
* Prepare associated contacts - find existing and sync missing ones
* Returns mapping of CRM ID to DB ID
*/
private function prepareAssociatedContacts(array $contactIds): array
{
// Find which contacts already exist
$existingContacts = $this->crmEntityRepository
->findContactsByExternalIds($this->config, $contactIds);
$existingContactIds = $existingContacts->pluck('crm_provider_id')->toArray();
// Create mapping for existing contacts
$existingContactsData = $existingContacts->mapWithKeys(function ($contact) {
return [$contact->getCrmProviderId() => $contact->getId()];
})->toArray();
$missingContactIds = array_diff($contactIds, $existingContactIds);
if (empty($missingContactIds)) {
return $existingContactsData;
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing contacts', [
'teamId' => $this->team->getUuid(),
'total_contacts' => count($contactIds),
'existing_contacts' => count($existingContactIds),
'missing_contacts' => count($missingContactIds),
]);
// Sync missing contacts using batch API
try {
$syncedContactsData = $this->batchSyncCrmObjects('contacts', $missingContactIds);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing contacts', [
'size' => count($missingContactIds),
'error' => $e->getMessage(),
]);
$syncedContactsData = [];
}
return $existingContactsData + $syncedContactsData;
}
private function batchSyncCrmObjects(string $objectType, array $crmIds): array
{
$syncObjects = [];
$crmObjectIds = array_values($crmIds);
foreach (array_chunk($crmObjectIds, self::BATCH_SIZE) as $chunk) {
try {
$objects = $objectType === 'companies' ?
$this->client->getCompaniesByIds($chunk, $this->getCompanyFields()) :
$this->client->getContactsByIds($chunk, $this->getContactFields());
foreach ($objects as $objectId => $objectData) {
$this->importCrmObject($objectType, (string) $objectId, $objectData, $syncObjects);
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch synced ' . $objectType, [
'requested_count' => count($chunk),
'synced_count' => count($objects),
]);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Batch ' . $objectType . ' sync failed', [
'ids' => $chunk,
'error' => $e->getMessage(),
]);
}
}
return $syncObjects;
}
private function importCrmObject(string $objectType, string $objectId, mixed $objectData, array &$syncObjects): void
{
try {
$object = $objectType === 'companies' ?
$this->importAccount($objectData) :
$this->importContact($objectData);
if ($object) {
$syncObjects[$object->getCrmProviderId()] = $object->getId();
}
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to import batch ' . $objectType, [
'id' => $objectId,
'error' => $e->getMessage(),
]);
}
}
/**
* Prepare associations for a single opportunity
*
* The return value is an array with the following structure:
* [
* 'companies' => [
* $companyCrmId => $companyId,
* ...
* ],
* 'contacts' => [
* $contactCrmId => $contactId,
* ...
* ],
* 'account_id' => $accountId,
* ]
*/
private function prepareAssociationsForOpportunity(
string $oppCrmId,
array $companyAssociations,
array $contactAssociations,
array $associationsData
): array {
$associations = [
'companies' => [],
'contacts' => [],
'account_id' => null, // Primary account for opportunity
];
$oppCompanyIds = $companyAssociations[$oppCrmId] ?? [];
foreach ($oppCompanyIds as $companyCrmId) {
if (isset($associationsData['company_id_mappings'][$companyCrmId])) {
$associations['companies'][$companyCrmId] = $associationsData['company_id_mappings'][$companyCrmId];
// Set primary account (first company becomes primary account)
if ($associations['account_id'] === null) {
$associations['account_id'] = $associationsData['company_id_mappings'][$companyCrmId];
}
}
}
$oppContactIds = $contactAssociations[$oppCrmId] ?? [];
foreach ($oppContactIds as $contactCrmId) {
if (isset($associationsData['contact_id_mappings'][$contactCrmId])) {
$associations['contacts'][$contactCrmId] = $associationsData['contact_id_mappings'][$contactCrmId];
}
}
return $associations;
}
/**
* Update only associations for an opportunity
*/
private function updateOpportunityAssociations(Opportunity $opportunity, array $associations): void
{
// Update contact associations
$this->importOpportunityContacts($opportunity, $associations['contacts']);
// Update company (account) associations
$this->updateOpportunityAccount($opportunity, $associations['account_id']);
}
/**
* Remove all contact associations from an opportunity
*/
private function removeAllOpportunityContacts(Opportunity $opportunity): void
{
$currentCount = (int) $opportunity->contacts()->count();
if ($currentCount > 0) {
$opportunity->contacts()->detach();
$this->logger->info('[' . $this->getDisplayName() . '] Removed all contact associations', [
'opportunity_id' => $opportunity->getId(),
'removed_count' => $currentCount,
]);
}
}
private function updateOpportunityAccount(Opportunity $opportunity, ?int $accountId): void
{
if ($accountId === null) {
// No account ID provided - keep current account
return;
}
$currentAccountId = $opportunity->getAccountId();
// Only update if account has changed
if ($currentAccountId !== $accountId) {
$opportunity->account_id = $accountId;
$opportunity->save();
$this->logger->info('[' . $this->getDisplayName() . '] Updated opportunity account association', [
'opportunity_id' => $opportunity->getId(),
'old_account_id' => $currentAccountId,
'new_account_id' => $accountId,
]);
}
}
/**
* Find existing opportunities by external IDs (OPTIMIZED VERSION)
* Uses batch query for better performance
*/
private function findExistingOpportunities(array $crmIds): Collection
{
return $this->crmEntityRepository
->findOpportunitiesByExternalIds($this->config, $crmIds);
}
private function processOpportunityBatch(array $opportunities): int
{
$syncedOpportunities = $this->importOpportunityBatch($opportunities);
return count($syncedOpportunities['success'] ?? []);
}
/**
* Convert single deal associations from HubSpot format to internal format
* Handles both HubSpot SDK objects and array formats
*
* @param array $opportunityAssociations Raw associations from HubSpot API or pre-processed
*
* @return array Processed associations with DB IDs
*/
private function convertDealAssociations(array $opportunityAssociations): array
{
$associations = $this->initializeAssociationsStructure();
if (empty($opportunityAssociations)) {
return $associations;
}
$associationIds = $this->extractAssociationIds($opportunityAssociations);
$this->processCompanyAssociations($associationIds, $associations);
$this->processContactAssociations($associationIds, $associations);
return $associations;
}
private function initializeAssociationsStructure(): array
{
return [
'companies' => [],
'contacts' => [],
'account_id' => null, // Primary account for opportunity
];
}
private function extractAssociationIds(array $opportunityAssociations): array
{
$associationIds = [];
foreach ($opportunityAssociations as $type => $associationData) {
if (! empty($associationData)) {
$associationIds[$type] = $this->convertSingleDealAssociations($associationData);
}
}
return $associationIds;
}
private function processCompanyAssociations(array $associationIds, array &$associations): void
{
if (empty($associationIds['companies'])) {
return;
}
$companyId = $associationIds['companies'][0];
$account = $this->findOrSyncAccount($companyId);
if ($account instanceof Account) {
$associations['companies'][$companyId] = $account->getId();
$associations['account_id'] = $account->getId();
}
}
private function processContactAssociations(array $associationIds, array &$associations): void
{
if (empty($associationIds['contacts'])) {
return;
}
foreach ($associationIds['contacts'] as $contactId) {
$contact = $this->findOrSyncContact($contactId);
if ($contact instanceof Contact) {
$associations['contacts'][$contactId] = $contact->getId();
}
}
}
private function findOrSyncAccount(string $companyId): ?Account
{
$account = $this->crmEntityRepository->findAccountByExternalId($this->config, $companyId);
if (! $account instanceof Account) {
$account = $this->syncAccount($companyId);
}
return $account;
}
private function findOrSyncContact(string $contactId): ?Contact
{
$contact = $this->crmEntityRepository->findContactByExternalId($this->config, $contactId);
if (! $contact instanceof Contact) {
$contact = $this->syncContact($contactId);
}
return $contact;
}
private function convertSingleDealAssociations($opportunityAssociations = null): array
{
$associationData = [];
if ($opportunityAssociations === null) {
return $associationData;
}
// Handle array input (from extractAssociationIds)
if (is_array($opportunityAssociations)) {
return $opportunityAssociations;
}
// Handle CollectionResponseAssociatedId object
if ($opportunityAssociations instanceof CollectionResponseAssociatedId) {
foreach ($opportunityAssociations->getResults() as $association) {
$associationData[] = $association->getId();
}
}
return $associationData;
}
private function importOrUpdateOpportunity($crmData, ?bool $exists = null): ?Opportunity
{
if (empty($crmData['properties'])) {
return null;
}
$crmId = (string) $crmData['id'];
$properties = $crmData['properties'];
$associations = $crmData['associations'] ?? [];
$opportunityExists = $exists ?? (bool) $this->crmEntityRepository->findOpportunityByExternalId(
$this->config,
$crmId
);
if ($opportunityExists) {
return $this->updateOpportunity($crmId, $properties, $associations);
} else {
return $this->createOpportunity($crmId, $properties, $associations);
}
}
/**
* Create new opportunity
*/
private function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity
{
$accountId = $this->resolveAccountId($associations);
if (! $accountId) {
return null;
}
$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);
if (! $businessProcess) {
return null;
}
$stage = $this->resolveStage($businessProcess, $properties['dealstage'] ?? null);
if (! $stage) {
return null;
}
$data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);
$attributes = [
'crm_configuration_id' => $this->config->getId(),
'crm_provider_id' => $crmId,
];
$values = array_merge($attributes, $data);
$opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);
$this->importExternalFieldData($properties, $opportunity->getId());
$this->importOpportunityContacts($opportunity, $associations['contacts']);
if ($opportunity->wasRecentlyCreated) {
MatchActivitiesToNewOpportunity::dispatch($opportunity->getId());
}
return $opportunity;
}
/**
* Update existing opportunity
*/
private function updateOpportunity(string $crmId, array $properties, array $associations): Opportunity
{
$accountId = $this->resolveAccountId($associations);
$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);
$stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;
$data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);
$attributes = [
'crm_configuration_id' => $this->config->getId(),
'crm_provider_id' => $crmId,
];
$values = array_merge($attributes, $data);
$opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);
$this->importExternalFieldData($properties, $opportunity->getId());
$this->updateOpportunityAssociations($opportunity, $associations);
return $opportunity;
}
private function resolveAccountId(array $associations): ?int
{
if (! empty($associations['accountId'])) {
return $associations['accountId'];
}
if (empty($associations)) {
return null;
}
// we can't resolve multiple account ids (currently SDK returns one company)
foreach ($associations['companies'] as $accountId) {
return $accountId;
}
return null;
}
private function buildOpportunityData(
array $properties,
?int $accountId,
?BusinessProcess $businessProcess,
?Stage $stage
): array {
$ownerId = null;
$profile = null;
if (! empty($properties['hubspot_owner_id'])) {
$ownerId = $properties['hubspot_owner_id'];
$profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);
}
$name = 'Unknown';
if (isset($properties['dealname'])) {
$name = mb_strimwidth($properties['dealname'], 0, 128);
}
$amount = $this->resolveAmount($properties);
$currency = $properties['deal_currency_code'] ?? null;
$closeDate = null;
if (! empty($properties['closedate'])) {
$closeDate = Carbon::parse($properties['closedate'])->format('Y-m-d');
}
$remotelyCreatedAt = null;
if (! empty($properties['createdate']) && strtotime($properties['createdate'])) {
$date = $this->parseCleanDatetime($properties['createdate']);
$remotelyCreatedAt = $date?->format('Y-m-d H:i:s');
}
$closedStages = $this->getClosedDealStages();
$isWon = in_array($properties['dealstage'], $closedStages['won']);
$isLost = in_array($properties['dealstage'], $closedStages['lost']);
$data = [
'team_id' => $this->team->getId(),
'user_id' => $profile ? $profile->user_id : null,
'owner_id' => $ownerId,
'name' => $name,
'value' => ! empty($amount) ? $amount : null,
'currency_code' => CurrencyFormatter::formatCode($currency),
'close_date' => $closeDate,
'is_closed' => $isWon || $isLost,
'is_won' => $isWon,
'remotely_created_at' => $remotelyCreatedAt,
'probability' => $this->resolveDealProbability($properties['hs_deal_stage_probability']),
'forecast_category' => $this->resolveForecastCategory($properties['hs_manual_forecast_category']),
];
if ($accountId) {
$data['account_id'] = $accountId;
}
if ($stage) {
$data['stage_id'] = $stage->id;
}
if ($businessProcess) {
$recordType = $this->crmEntityRepository->getBusinessProcessRecordType($businessProcess);
if ($recordType) {
$data['record_type_id'] = $recordType->id;
}
}
return $data;
}
private function resolveBusinessProcess(?string $pipelineId): ?BusinessProcess
{
if ($pipelineId === null) {
return null;
}
if (isset($this->cachedBusinessProcesses[$pipelineId])) {
return $this->cachedBusinessProcesses[$pipelineId];
}
$businessProcess = $this->getBusinessProcess($pipelineId);
if (! $businessProcess instanceof BusinessProcess) {
$this->importStages();
$businessProcess = $this->getBusinessProcess($pipelineId);
}
if (! $businessProcess instanceof BusinessProcess) {
$this->logger->info(
'[HubSpot] Deal is not attached to a pipeline',
[
'pipeline' => $pipelineId]
);
}
$this->cachedBusinessProcesses[$pipelineId] = $businessProcess;
return $businessProcess;
}
private function getBusinessProcess(string $pipelineId): ?BusinessProcess
{
return $this->crmEntityRepository->findBusinessProcessesByExternalId($this->config, $pipelineId);
}
private function resolveStage(BusinessProcess $businessProcess, ?string $stageId): ?Stage
{
if (empty($stageId)) {
return null;
}
$cacheKey = $businessProcess->getId() . ':' . $stageId;
if (isset($this->cachedStages[$cacheKey])) {
return $this->cachedStages[$cacheKey];
}
$stage = $this->crmEntityRepository->getPipelineStageByConditions(
$businessProcess,
[
'crm_provider_id' => $stageId,
'type' => Stage::TYPE_OPPORTUNITY,
]
);
if ($stage === null) {
$this->importStages(null, $stageId);
}
if ($stage === null) {
$this->logger->info('[HubSpot] Stage does not exist => ' . $stageId);
}
$this->cachedStages[$cacheKey] = $stage;
return $stage;
}
private function resolveAmount(array $properties): ?string
{
$amount = null;
if (! empty($properties['amount'])) {
$amount = str_replace(',', '', $properties['amount']);
}
if ($this->config->hasDefaultCurrencyFieldSet()) {
$valueFieldName = $this->config->getDefaultCurrencyField()->getCrmProviderId();
$amount = $properties[$valueFieldName] ?? $amount;
}
return $amount;
}
private function parseCleanDatetime(string $datetime): ?Carbon
{
// Treat pre-1980 values as invalid
$minValidDate = Carbon::parse('1980-01-01 00:00:00');
try {
$date = Carbon::parse($datetime);
if ($minValidDate->gt($date)) {
return null;
}
return $date;
} catch (Exception) {
return null; // On parse error, treat as null
}
}
private function resolveDealProbability(?string $stageProbability): int
{
if ($stageProbability === null) {
return 0;
}
$probability = (float) $stageProbability;
return $probability > 1 ? 0 : (int) ($probability * 100);
}
private function resolveForecastCategory(?string $forecastCategory): string
{
if (! $forecastCategory) {
return Forecast::FORECAST_CATEGORY_UNCATEGORIZED;
}
$forecastCategory = str_replace('_', ' ', $forecastCategory);
return ucwords(strtolower($forecastCategory));
}
private function importExternalFieldData(array $properties, int $opportunityId): void
{
$crmFields = $this->getOpportunitySyncableFields();
$this->importOpportunityCrmFieldData($properties, $crmFields, $opportunityId);
}
private function importOpportunityContacts(Opportunity $opportunity, array $associations): void
{
// Handle empty or missing contact associations
if (empty($associations)) {
// Remove all existing contact associations if none provided
$this->removeAllOpportunityContacts($opportunity);
return;
}
// Use differential sync approach for better performance and accuracy
$this->syncOpportunityContactsDifferential($opportunity, $associations);
}
/**
* Sync opportunity contacts using differential approach
* This compares current vs new associations and only makes necessary changes
*/
private function syncOpportunityContactsDifferential(Opportunity $opportunity, array $contactAssociations): void
{
$currentContactCrmIds = $this->getCurrentContactCrmIds($opportunity);
$contactAssociationIds = array_keys($contactAssociations);
$contactsToAdd = array_diff($contactAssociationIds, $currentContactCrmIds);
$contactsToRemove = array_diff($currentContactCrmIds, $contactAssociationIds);
if (empty($contactsToAdd) && empty($contactsToRemove)) {
return;
}
$this->logContactAssociationChanges($opportunity, $currentContactCrmIds, $contactAssociations, $contactsToAdd, $contactsToRemove);
$this->removeContactAssociations($opportunity, $contactsToRemove);
$this->addContactAssociations($opportunity, $contactsToAdd, $contactAssociations);
}
private function getCurrentContactCrmIds(Opportunity $opportunity): array
{
return $opportunity->contacts()
->pluck('contacts.crm_provider_id')
->toArray();
}
private function logContactAssociationChanges(
Opportunity $opportunity,
array $currentContactCrmIds,
array $contactAssociations,
array $contactsToAdd,
array $contactsToRemove
): void {
$this->logger->info('[' . $this->getDisplayName() . '] Contact association changes', [
'opportunity_id' => $opportunity->getId(),
'current_contacts' => $currentContactCrmIds,
'new_contacts' => $contactAssociations,
'contacts_to_add' => $contactsToAdd,
'contacts_to_remove' => $contactsToRemove,
]);
}
private function removeContactAssociations(Opportunity $opportunity, array $contactsToRemove): void
{
if (empty($contactsToRemove)) {
return;
}
$contactsToDetach = $opportunity->contacts()
->whereIn('contacts.crm_provider_id', $contactsToRemove)
->pluck('contacts.id')
->toArray();
if (! empty($contactsToDetach)) {
$opportunity->contacts()->detach($contactsToDetach);
$this->logger->info('[' . $this->getDisplayName() . '] Removed contact associations', [
'opportunity_id' => $opportunity->getId(),
'removed_contact_crm_ids' => $contactsToRemove,
'removed_contact_count' => count($contactsToDetach),
]);
}
}
private function addContactAssociations(Opportunity $opportunity, array $contactsToAdd, array $contactAssociations): void
{
if (empty($contactsToAdd)) {
return;
}
$contactsAdded = [];
foreach ($contactsToAdd as $crmId) {
$id = $contactAssociations[$crmId];
if ($this->attachSingleContact($opportunity, (string) $crmId, $id)) {
$contactsAdded[] = $crmId;
}
}
$this->logAddedContacts($opportunity, $contactsAdded);
}
private function attachSingleContact(Opportunity $opportunity, string $crmId, int $id): bool
{
try {
$contact = $this->crmEntityRepository->findContactByConfigurationAndId($this->config, $id);
if (! $contact) {
return false;
}
return $this->performContactAttachment($opportunity, $contact, $crmId);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to add contact association', [
'opportunity_id' => $opportunity->getId(),
'contact_crm_id' => $crmId,
'error' => $e->getMessage(),
]);
return false;
}
}
private function performContactAttachment(Opportunity $opportunity, Contact $contact, string $crmId): bool
{
try {
$opportunity->contacts()->attach($contact->getId(), [
'crm_provider_id' => $crmId,
]);
return true;
} catch (\Illuminate\Database\QueryException $e) {
if (str_contains($e->getMessage(), 'Duplicate entry')) {
$this->logger->info('[' . $this->getDisplayName() . '] Contact association already exists', [
'contact_id' => $contact->getId(),
'contact_crm_id' => $crmId,
'opportunity_id' => $opportunity->getId(),
]);
return false;
}
throw $e;
}
}
private function logAddedContacts(Opportunity $opportunity, array $contactsAdded): void
{
if (! empty($contactsAdded)) {
$this->logger->info('[' . $this->getDisplayName() . '] Added contact associations', [
'opportunity_id' => $opportunity->getId(),
'contacts_to_add_count' => count($contactsAdded),
'added_contact_crm_ids' => $contactsAdded,
'added_contacts_count' => count($contactsAdded),
]);
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Code changed:
Hide
Sync Changes
Hide This Notification
26
9
21
3
102
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM team_features where team_id = 1;
SELECT * FROM teams WHERE name LIKE '%Vixio%'; # 340,270,11922
SELECT * FROM users WHERE team_id = 340; # 12015
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 340
and sa.provider = 'salesforce';
# and sa.provider = 'salesloft';
select * from crm_fields where crm_configuration_id = 270 and object_type = 'event';
# 125558 - Event Type - Event_Type__c
# 125552 - Event Status - Event_Status__c
SELECT * FROM sidekick_settings WHERE team_id = 340;
SELECT * FROM crm_field_values WHERE crm_field_id in (125552);
select * from activities where crm_configuration_id = 270
and type = 'conference' and crm_provider_id IS NOT NULL
and actual_start_time > '2024-09-16 09:00:00' order by scheduled_start_time;
SELECT * FROM activities WHERE id = 20871677;
SELECT * FROM crm_field_data WHERE activity_id = 20871677;
select * from crm_layouts where crm_configuration_id = 270;
select * from crm_layout_entities where crm_layout_id in (886,887);
SELECT * FROM crm_configurations WHERE id = 270;
select * from playbooks where team_id = 340; # 1514
select * from groups where team_id = 340;
SELECT * FROM crm_fields WHERE id IN (125393, 125401);
select g.name as 'team name', p.name as 'playbook name', f.label as 'activity type field' from groups g
join playbooks p on g.playbook_id = p.id
join crm_fields f on p.activity_field_id = f.id
where g.team_id = 340;
SELECT * FROM activities WHERE uuid_to_bin('0c180357-67d2-419e-a8c3-b832a3490770') = uuid; # 20448716
select * from crm_field_data where object_id = 20448716;
select * from activities where crm_configuration_id = 270 and provider = 'salesloft' order by id desc;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%CybSafe%'; # 343,273,12008
select * from opportunities where team_id = 343;
select * from opportunities where team_id = 343 and crm_provider_id = '18099102526';
select * from opportunities where team_id = 343 and account_id = 945217482;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 343
and sa.provider = 'hubspot';
select * from accounts where team_id = 343 order by name asc;
select * from stages where crm_configuration_id = 273 and type = 'opportunity';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Voyado%'; # 353,283,12143
SELECT * FROM activities WHERE crm_configuration_id = 283 and account_id = 3777844 order by id desc;
SELECT * FROM accounts WHERE team_id = 353 AND name LIKE '%Salesloft%';
SELECT * FROM activities WHERE id = 20717903;
select * from participants where activity_id IN (20929172,20928605,20928468,20926272,20926271,20926270,20926269,20916499,20916454,20916436,20916435,20900015,20900014,20900013,20897312,20897243,20897241,20897237,20897232,20897229,20893648,20893231,20893230,20893229,20893228,20889784,20885039,20885038,20885037,20885036,20885035,20882728,20882708,20882703,20882702,20869828,20869811,20869806,20869801,20869799,20869798,20869796,20869795,20869794,20869761,20869760,20869759,20868688,20868687,20850340,20847195,20841710,20833967,20827021,20825307,20825305,20825297,20824615,20824400,20823927,20821760,20795588,20794233,20794057,20793710,20785811,20781789,20781394,20781307,20762651,20758453,20758282,20757323,20756643,20756636,20756629,20756627,20756606,20756605,20756604,20756603,20756602,20756600,20756599,20756598,20756595,20756594,20756589,20756587,20756577,20756573,20748918,20748386,20748385,20748384,20748383,20748382,20748381,20748380,20748379,20748377,20748375,20748373,20743301,20717905,20717904,20717903,20717901,20717899);
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 353
and sa.provider = 'salesforce';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%modern world business solutions%'; # 345,275,12016, [EMAIL]
SELECT * FROM activities WHERE uuid_to_bin('3921d399-3fef-4609-a291-b0097a166d43') = uuid;
# id: 20940638, user: 12022, contact: 5305871
SELECT * FROM activity_summary_logs WHERE activity_id = 20940638;
select * from contacts where team_id = 345 and crm_provider_id = '30891432415' order by name asc; # 5305871
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 345
and sa.provider = 'hubspot';
select * from users where team_id = 345 and id = 12022;
SELECT * FROM crm_profiles WHERE user_id = 12022;
SELECT * FROM participants WHERE activity_id = 20940638;
SELECT * FROM users u
JOIN crm_profiles cp ON u.id = cp.user_id
WHERE u.team_id = 345;
select * from contacts where team_id = 345 and crm_provider_id = '30880813535' order by name desc; # 5305871
select * from team_features where team_id = 345;
SELECT * FROM activities WHERE uuid_to_bin('11701e2d-2f82-4dab-a616-1db4fad238df') = uuid; # 21115197
SELECT * FROM participants WHERE activity_id = 20897406;
SELECT * FROM activities WHERE uuid_to_bin('63ba55cd-1abc-447d-83da-0137000005b7') = uuid; # 20953912
SELECT * FROM activities WHERE crm_configuration_id = 275 and provider = 'ringcentral' and title like '%1252629100%';
SELECT * FROM activities WHERE id = 20946641;
SELECT * FROM crm_profiles WHERE user_id = 10211;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120,97,10984, [EMAIL]
SELECT * FROM opportunities WHERE crm_configuration_id = 97 and crm_provider_id = '006N1000006c5PpIAI';
select * from stages where crm_configuration_id = 97 and type = 'opportunity';
select * from opportunities where team_id = 120;
select * from crm_configurations crm join teams t on crm.id = t.crm_id
where 1=1
AND t.current_billing_plan IS NOT NULL
AND crm.auto_sync_activity = 0
and crm.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Exclaimer%'; # 270,205,10053,[EMAIL]
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 270
and sa.provider = 'salesforce';
SELECT * FROM activities WHERE uuid_to_bin('b54df794-2a9a-4957-8d80-09a600ead5f8') = uuid; # 21637956
SELECT * FROM crm_profiles WHERE user_id = 11446;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Cygnetise%'; # 372,300,12554, [EMAIL]
select * from playbooks where team_id = 372;
select * from crm_fields where crm_configuration_id = 300 and object_type = 'event'; # 141340
SELECT * FROM crm_field_values WHERE crm_field_id = 141340;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 372
and sa.provider = 'salesf...
|
43162
|
|
43169
|
NULL
|
0
|
2026-04-17T07:56:24.042074+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776412584042_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileProfilesWindow(alolBackend Chapter • 34 FirefoxFileProfilesWindow(alolBackend Chapter • 34 m leftEdit→ViewHistoryBookmarksQ.ToolsHelpmeet.google.com/gjc-ikxu-wxu?authuser=lukas.kovalik%40jiminny.comNikolay Nikolov (Presenting, annotating)100% <578 • Fri 17 Apr 10:56:243+PhpStorm -FleAT AccountTransformer.phpKeranel harieio$ Debug-opportunityTiroowDebug opportunity stagesProject©CrmEntityRepository.phpOpportunity.phpxclass Opportunity extends Model Inplements© Account.php 15.04.26, 1055, 9.14 kв©Activity.php© Address.php 23.03.26, 10.59, 2.5 k8212 €protected function casts(): array© A.Prompt.php 23.03.26, 10-39, 2.36 kl© AutomatedReport.php 3.04.26, 133© AutomatedReportResult.php 23.03215Calendar,php 23.03.26, 10.59, 5.17 k8© Callimport. php 23.03.26, 10.59,4.3 ka© Coachingf-eedback,.php 23.03.20, 1C©CoschingFeedbackVisibllity.php 23© CoachingSection.php 23.03.26, 10.51© CoschingSectionCriterion.php 23.0return ["stage_id* = "integer",*stage_updated_at' = "datetine','renotely_created_at' »> "datetine',"1s_on" => 'boolean",'is_closed"'boolean","valve' »>"decinal:2','close_date" => "date:Y-a-d'.Accept Reject© CoachingSectionOriterionF-eedback©CoschingSectionF-eedback,php 23.© CommentAbstract. php 23.03.26,10221222223224® Commentinterface.php 23.03.26, 10© Contact.php 15.04.26, 10-55, 10.17 ka© Device.php 23.03.26, 10.59, 3.57 k8© EmalMessage.php 23.03.26, 10.59,9226& James Graham +1public function getOpportunitySuggestAttribute(): string© GenericAPrompt.php 23.03.26, 10.5227© Group. php 23.03.28, 10:59, 14.29 kB228return Sthis->getNane0:nbox.php 15.04.26, 1055, 5.86 kk229© nboxÉmall.php 15.04.26, 10.55, 6.11 k250©InboxEmalßatch.php 30.03.26, 10:3034 usages© Invitation,php 23.03.26, 10.59, 6.88 Ml& James Graham +public function getFormattedValueAttribute: string© JobLog.php 23.03.26, 10-59, 2.15 kлJobTide.php 23.03.26, 10.59, 2.98 k8return \fornatOpportunityValve(Sthis->getValue), Sthis->get0urr© Language.php 23.03.26, 10:59, 2.51 k© LanguageOlalect.php 23.03.26, 10.51© Lead,php 15.04.26, 10-55, 13.05 kS© MobileSetting, php 23.03.26, 10.59, 1236& James Grahampublic function getCurrencyCode(): stringModel,php 23.03.26, 10.59, 1.88 k8© Moment.php 23.03.26, 1059,2.78 kа© Nudge.php 23.03.26, 10.59,7A1k8© NudgeRun,php 23.03.26, 10.59,3162582392481f (Sthis->getAttribute(key: "currency_code") |aa nul) €return Sthis->getAttribute(key. 'currency_code"):Opoorg© Participant.php 15.04.26, 10.55, 18.45ar lemtesgeienOpraea toefa02tCurrencyO [axRoLe© Partner.php 31.63.26, M.02, 5.55 kBDarmieeiAA AhA 19A9.M 1066 119LJminny(Modeisreturn Sthis->getCrOpportunitymerepooeoondl snorirr youe kereon© CrmEntityRepository.php › CrmÊntityRepository › ® u impoFri 17 Apr 10:58UOpportunitySyneTest.testResolveAccountidaeoeen Upport+0 -SELECT stage_id, COUNT(*) as count, MIN(created_at), MAX(created_at)tnin opportuntty stavesMHERE opportunity_id • 7594349undur br Staoe-10.12040-04-101501544010-04-70155657344|1161(2026-03-27 10:47-18(2026-04-17 07-50:43103-18 14:62:151OSSUtResoM206121 2425|2026-04-17 04-31:13(2026-04-17 07:50:561This is very revealing! I can see the issue cleatty now:Key FindingsLooking ar the daca, a stages are being repeatedly attached in a loop pacternestage_id 7344: 1,161 records (from Mar 27 to Apr 17)stage_Jd 16352: 4,738 records (from Mar 17 t0 Apr 17)stage_id 18281: 1,911 records (from Apr 17 only - started today!)stage_id 20612: 2,425 records (from Apr 17 only - started today!)stage_id 16378: 240 records (from Apr 16 to Apr 17)The pattern shows that theare being attached repeatedly every tync cycie pot actual stagecaio inocommiburcobuls dodrin le o CinckLet me check if there's a type casting lssue or i the stage_jd is being set even wheeRead OpeI found the issuel stage_1d is NOT cast to Iut in the casts () method. This means when the sync code sets stapc_ld from Sstage-s1a (which is an integer), Laravel compares it with the database value which might bestored/retrieved as a string, causing Is0irty() to return true even when the values are equallAxalydiir wolClaude Opus 4.5000PHP.8.3Symfony LF UTF-8Co 4 spacesNikolay NikolovLukas Kovalik10:56 AM | Backend Chapter::...
|
NULL
|
-712388416609214690
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileProfilesWindow(alolBackend Chapter • 34 FirefoxFileProfilesWindow(alolBackend Chapter • 34 m leftEdit→ViewHistoryBookmarksQ.ToolsHelpmeet.google.com/gjc-ikxu-wxu?authuser=lukas.kovalik%40jiminny.comNikolay Nikolov (Presenting, annotating)100% <578 • Fri 17 Apr 10:56:243+PhpStorm -FleAT AccountTransformer.phpKeranel harieio$ Debug-opportunityTiroowDebug opportunity stagesProject©CrmEntityRepository.phpOpportunity.phpxclass Opportunity extends Model Inplements© Account.php 15.04.26, 1055, 9.14 kв©Activity.php© Address.php 23.03.26, 10.59, 2.5 k8212 €protected function casts(): array© A.Prompt.php 23.03.26, 10-39, 2.36 kl© AutomatedReport.php 3.04.26, 133© AutomatedReportResult.php 23.03215Calendar,php 23.03.26, 10.59, 5.17 k8© Callimport. php 23.03.26, 10.59,4.3 ka© Coachingf-eedback,.php 23.03.20, 1C©CoschingFeedbackVisibllity.php 23© CoachingSection.php 23.03.26, 10.51© CoschingSectionCriterion.php 23.0return ["stage_id* = "integer",*stage_updated_at' = "datetine','renotely_created_at' »> "datetine',"1s_on" => 'boolean",'is_closed"'boolean","valve' »>"decinal:2','close_date" => "date:Y-a-d'.Accept Reject© CoachingSectionOriterionF-eedback©CoschingSectionF-eedback,php 23.© CommentAbstract. php 23.03.26,10221222223224® Commentinterface.php 23.03.26, 10© Contact.php 15.04.26, 10-55, 10.17 ka© Device.php 23.03.26, 10.59, 3.57 k8© EmalMessage.php 23.03.26, 10.59,9226& James Graham +1public function getOpportunitySuggestAttribute(): string© GenericAPrompt.php 23.03.26, 10.5227© Group. php 23.03.28, 10:59, 14.29 kB228return Sthis->getNane0:nbox.php 15.04.26, 1055, 5.86 kk229© nboxÉmall.php 15.04.26, 10.55, 6.11 k250©InboxEmalßatch.php 30.03.26, 10:3034 usages© Invitation,php 23.03.26, 10.59, 6.88 Ml& James Graham +public function getFormattedValueAttribute: string© JobLog.php 23.03.26, 10-59, 2.15 kлJobTide.php 23.03.26, 10.59, 2.98 k8return \fornatOpportunityValve(Sthis->getValue), Sthis->get0urr© Language.php 23.03.26, 10:59, 2.51 k© LanguageOlalect.php 23.03.26, 10.51© Lead,php 15.04.26, 10-55, 13.05 kS© MobileSetting, php 23.03.26, 10.59, 1236& James Grahampublic function getCurrencyCode(): stringModel,php 23.03.26, 10.59, 1.88 k8© Moment.php 23.03.26, 1059,2.78 kа© Nudge.php 23.03.26, 10.59,7A1k8© NudgeRun,php 23.03.26, 10.59,3162582392481f (Sthis->getAttribute(key: "currency_code") |aa nul) €return Sthis->getAttribute(key. 'currency_code"):Opoorg© Participant.php 15.04.26, 10.55, 18.45ar lemtesgeienOpraea toefa02tCurrencyO [axRoLe© Partner.php 31.63.26, M.02, 5.55 kBDarmieeiAA AhA 19A9.M 1066 119LJminny(Modeisreturn Sthis->getCrOpportunitymerepooeoondl snorirr youe kereon© CrmEntityRepository.php › CrmÊntityRepository › ® u impoFri 17 Apr 10:58UOpportunitySyneTest.testResolveAccountidaeoeen Upport+0 -SELECT stage_id, COUNT(*) as count, MIN(created_at), MAX(created_at)tnin opportuntty stavesMHERE opportunity_id • 7594349undur br Staoe-10.12040-04-101501544010-04-70155657344|1161(2026-03-27 10:47-18(2026-04-17 07-50:43103-18 14:62:151OSSUtResoM206121 2425|2026-04-17 04-31:13(2026-04-17 07:50:561This is very revealing! I can see the issue cleatty now:Key FindingsLooking ar the daca, a stages are being repeatedly attached in a loop pacternestage_id 7344: 1,161 records (from Mar 27 to Apr 17)stage_Jd 16352: 4,738 records (from Mar 17 t0 Apr 17)stage_id 18281: 1,911 records (from Apr 17 only - started today!)stage_id 20612: 2,425 records (from Apr 17 only - started today!)stage_id 16378: 240 records (from Apr 16 to Apr 17)The pattern shows that theare being attached repeatedly every tync cycie pot actual stagecaio inocommiburcobuls dodrin le o CinckLet me check if there's a type casting lssue or i the stage_jd is being set even wheeRead OpeI found the issuel stage_1d is NOT cast to Iut in the casts () method. This means when the sync code sets stapc_ld from Sstage-s1a (which is an integer), Laravel compares it with the database value which might bestored/retrieved as a string, causing Is0irty() to return true even when the values are equallAxalydiir wolClaude Opus 4.5000PHP.8.3Symfony LF UTF-8Co 4 spacesNikolay NikolovLukas Kovalik10:56 AM | Backend Chapter::...
|
NULL
|
|
43066
|
NULL
|
0
|
2026-04-17T07:51:15.180437+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776412275180_m1.jpg...
|
PhpStorm
|
faVsco.js – OpportunitySyncTrait.php
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
32
2
19
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\ServiceTraits;
use Carbon\Carbon;
use HubSpot\Client\Crm\Deals\Model\CollectionResponseAssociatedId;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Models\Account;
use Exception;
use Jiminny\Component\DealInsights\Forecast\Forecast;
use Jiminny\Jobs\Crm\MatchActivitiesToNewOpportunity;
use Jiminny\Models\Contact;
use Jiminny\Models\Crm\BusinessProcess;
use Jiminny\Exceptions\CrmException;
use Jiminny\Models\Opportunity;
use Illuminate\Support\Collection;
use Jiminny\Models\Stage;
use Jiminny\Repositories\Crm\CrmEntityRepository;
use Jiminny\Services\Crm\Hubspot\DealFieldsService;
use Jiminny\Services\Crm\Hubspot\OpportunitySyncStrategy\HubspotSingleSyncStrategy;
use Jiminny\Services\Crm\Hubspot\WebhookSyncBatchProcessor;
use Jiminny\Services\Crm\OpportunitySyncStrategyResolver;
use Jiminny\Utils\CurrencyFormatter;
/**
* Optimized sync methods for better performance
* These methods can be integrated into SyncCrmEntitiesTrait for significant performance gains
*/
trait OpportunitySyncTrait
{
private const int BATCH_SIZE = 100;
private const int BATCH_PROCESS_SIZE = 800;
protected OpportunitySyncStrategyResolver $opportunitySyncStrategyResolver;
protected CrmEntityRepository $crmEntityRepository;
protected DealFieldsService $dealFieldsService;
private ?array $cachedClosedDealStages = null;
private array $cachedBusinessProcesses = [];
private array $cachedStages = [];
public function syncOpportunities(array $parameters, ?string $strategy = null): int
{
$strategies = $this->opportunitySyncStrategyResolver->getStrategies($this->config, $strategy);
$parameters['config'] = $this->config;
$syncCount = 0;
$reportedTotal = 0;
$lastSyncedId = [];
try {
foreach ($strategies as $strategyName => $syncStrategy) {
$this->logger->info(
'[' . $this->getDisplayName() . '] Syncing opportunities using strategy: ' .
$strategyName
);
$total = 0;
$lastId = null;
$buffer = [];
// HubspotWebhookBatchSyncStrategy returns empty generator, this is for other strategies
foreach ($syncStrategy->fetchOpportunities($parameters, $total, $lastId) as $hsOpportunity) {
$buffer[] = $hsOpportunity;
// process every 800 rows (fits < 1 000 association limit)
if (\count($buffer) >= self::BATCH_PROCESS_SIZE) {
$syncCount += $this->processOpportunityBatch($buffer);
$buffer = [];
}
}
// leftovers
if ($buffer) {
$syncCount += $this->processOpportunityBatch($buffer);
}
$reportedTotal += $total;
$lastSyncedId = $lastId;
}
} catch (\HubSpot\Client\Crm\Deals\ApiException | CrmException $e) {
$this->handleSyncException($e, $parameters);
}
$this->logger->info(
'[HubSpot] Synced opportunities',
[
'team' => $this->team->getId(),
'sync_count' => $syncCount,
'total' => $reportedTotal,
'last_synced_id' => $lastSyncedId,
]
);
return $reportedTotal;
}
private function handleSyncException(\Throwable $e, array $parameters): void
{
if (($parameters['since'] ?? null) instanceof Carbon) {
$parameters['since'] = $parameters['since']->toDateTimeString();
}
$parameters['config'] = $this->config->getId();
$this->logger->warning('[' . $this->getDisplayName() . '] Sync opportunities failed', [
'teamId' => $this->team->getUuid(),
'parameters' => $parameters,
'reason' => $e->getMessage(),
]);
}
/**
* @inheritdoc
*/
public function syncOpportunity(string $crmId): ?Opportunity
{
$strategy = $this->opportunitySyncStrategyResolver->resolve(
$this->config,
OpportunitySyncStrategyResolver::SINGLE_SYNC_OPPORTUNITY_STRATEGY,
);
$parameters = [
'config' => $this->config,
'crm_id' => $crmId,
];
try {
if (! $strategy instanceof HubspotSingleSyncStrategy) {
throw new InvalidArgumentException('Strategy must by HubspotSingleSyncStrategy');
}
$hsOpportunity = $strategy->fetchOpportunity($parameters);
} catch (\HubSpot\Client\Crm\Deals\ApiException $e) {
$this->logger->info('[' . $this->getDisplayName() . '] Opportunity not found', [
'teamId' => $this->team->getUuid(),
'crmId' => $crmId,
'reason' => $e->getMessage(),
]);
return null;
}
$hsOpportunity['associations'] = $this->convertDealAssociations($hsOpportunity['associations'] ?? []);
return $this->importOrUpdateOpportunity($hsOpportunity);
}
/**
* Process webhook-collected opportunity batches.
*
* Drains Redis sets containing company CRM IDs collected from webhook events
* and dispatches ImportOpportunityBatch jobs for batch processing.
*
* @return int Number of opportunity IDs dispatched to jobs
*/
public function batchSyncOpportunities(): int
{
$configId = $this->team->getCrmConfiguration()->getId();
return $this->batchProcessor->processBatchesForObjectType(
WebhookSyncBatchProcessor::OBJECT_TYPE_DEAL,
$configId
);
}
/**
* Import a batch of opportunities by their CRM IDs.
* Fetches opportunity data from HubSpot API and delegates to importOpportunityBatch().
*
* @param array<string> $crmIds HubSpot deal CRM IDs
*
* @return array{success: array, failed_ids: array, errors?: array<string, string>}
*/
public function importOpportunityBatchByIds(array $crmIds): array
{
$fields = $this->dealFieldsService->getFieldsForConfiguration($this->config);
$allDeals = [];
foreach (array_chunk($crmIds, self::BATCH_SIZE) as $chunk) {
$deals = $this->client->getOpportunitiesByIds($chunk, $fields);
foreach ($deals as $deal) {
$allDeals[] = $deal;
}
}
// IDs not returned by HubSpot are likely deleted or inaccessible deals.
// These are not failures — retrying won't bring them back.
$fetchedIds = array_map('strval', array_column($allDeals, 'id'));
$notFoundIds = array_values(array_diff(array_map('strval', $crmIds), $fetchedIds));
if (! empty($notFoundIds)) {
$this->logger->info('[' . $this->getDisplayName() . '] CRM IDs not found in HubSpot (likely deleted)', [
'teamId' => $this->team->getId(),
'notFoundCount' => \count($notFoundIds),
'notFoundIds' => $notFoundIds,
'requestedCount' => \count($crmIds),
'fetchedCount' => \count($allDeals),
]);
}
if (empty($allDeals)) {
return ['success' => [], 'failed_ids' => []];
}
return $this->importOpportunityBatch($allDeals);
}
private function getClosedDealStages(): array
{
if ($this->cachedClosedDealStages !== null) {
return $this->cachedClosedDealStages;
}
$stages = $this->crmEntityRepository->getOpportunityClosedStages($this->config);
$data = [
'lost' => [],
'won' => [],
];
foreach ($stages as $stage) {
if ($stage->probability == 0.00) {
$data['lost'][] = $stage->crm_provider_id;
}
if ($stage->probability == 100.00) {
$data['won'][] = $stage->crm_provider_id;
}
}
$this->cachedClosedDealStages = $data;
return $data;
}
/**
* Import deals into the database with pre-fetched associations.
*
* API calls here (getAssociationsData, getExistingOpportunityCrmIds) are NOT
* caught — if they throw, the exception propagates to ImportOpportunityBatch::handle()
* where Laravel retries the whole job with backoff. After all retries exhausted,
* failed() requeues all IDs to Redis.
*
* The per-deal loop catches exceptions individually. A deal can end up in three states:
* - success: imported/updated successfully
* - failed_ids: exception thrown (DB constraint violation, corrupt data, etc.)
* These are permanent issues — retrying won't fix them.
* - skipped (null): missing dependencies (no account, unknown pipeline/stage).
* This is acceptable — the deal cannot be imported until those exist.
*/
private function importOpportunityBatch(array $deals): array
{
$syncedOpportunities = [
'success' => [],
'failed_ids' => [],
];
$dealIds = array_column($deals, 'id');
// Shared association/existing-ID preparation is batch-level state. If it fails, rethrow so the
// queue job retries the whole batch and eventually requeues all deal IDs back to Redis.
try {
$companyAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'companies');
$contactAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'contacts');
$associationsData = $this->prepareAssociatedEntities($companyAssociations, $contactAssociations);
$existingCrmIds = $this->crmEntityRepository->getExistingOpportunityCrmIds(
$this->config,
array_map('strval', $dealIds)
);
$existingCrmIdSet = array_flip($existingCrmIds);
} catch (\Throwable $e) {
$this->logger->error('[' . $this->getDisplayName() . '] Failed to fetch associations or existing IDs', [
'teamId' => $this->team->getId(),
'dealCount' => count($dealIds),
'error' => $e->getMessage(),
]);
throw $e;
}
foreach ($deals as $deal) {
try {
$deal['associations'] = $this->prepareAssociationsForOpportunity(
$deal['id'],
$companyAssociations,
$contactAssociations,
$associationsData
);
$syncedOpportunity = $this->importOrUpdateOpportunity(
$deal,
isset($existingCrmIdSet[(string) $deal['id']])
);
if ($syncedOpportunity) {
$syncedOpportunities['success'][] = $syncedOpportunity;
}
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to import opportunity', [
'teamId' => $this->team->getId(),
'crmId' => $deal['id'],
'error' => $e->getMessage(),
]);
$syncedOpportunities['failed_ids'][] = $deal['id'];
$syncedOpportunities['errors'][$deal['id']] = $e->getMessage();
}
}
return $syncedOpportunities;
}
/**
* Prepare associated entities for opportunities with optimized batch processing
* Returns structured data with CRM ID to DB ID mappings for each opportunity
*/
private function prepareAssociatedEntities(array $companyAssociations, array $contactAssociations): array
{
// Step 1: Collect all unique company and contact IDs from associations
$allCompanyIds = $this->flattenAssociationIds($companyAssociations);
$allContactIds = $this->flattenAssociationIds($contactAssociations);
// Step 2: Batch sync missing entities and get CRM ID to DB ID mappings
$companyIdMappings = [];
$contactIdMappings = [];
if (! empty($allCompanyIds)) {
$companyIdMappings = $this->prepareAssociatedAccounts($allCompanyIds);
}
if (! empty($allContactIds)) {
$contactIdMappings = $this->prepareAssociatedContacts($allContactIds);
}
return [
'company_id_mappings' => $companyIdMappings,
'contact_id_mappings' => $contactIdMappings,
];
}
/**
* Flatten association data to get unique IDs
*/
private function flattenAssociationIds(array $associations): array
{
$ids = [];
foreach ($associations as $dealAssociations) {
if (is_array($dealAssociations)) {
foreach ($dealAssociations as $id) {
$ids[$id] = true;
}
}
}
return array_keys($ids);
}
/**
* Batch sync missing accounts
*/
private function prepareAssociatedAccounts(array $companyIds): array
{
// Find which accounts already exist
$existingAccounts = $this->crmEntityRepository
->findAccountsByExternalIds($this->config, $companyIds);
$existingCompanyIds = $existingAccounts->pluck('crm_provider_id')->toArray();
$existingAccountsData = $existingAccounts->mapWithKeys(function ($account) {
return [$account->getCrmProviderId() => $account->getId()];
})->toArray();
$missingCompanyIds = array_diff($companyIds, $existingCompanyIds);
if (empty($missingCompanyIds)) {
return $existingAccountsData;
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing accounts', [
'teamId' => $this->team->getUuid(),
'total_companies' => count($companyIds),
'existing_companies' => count($existingCompanyIds),
'missing_companies' => count($missingCompanyIds),
]);
// we already have limit on opportunity ids count
// Initialize variable before try block
$syncedAccountsData = [];
try {
$syncedAccountsData = $this->batchSyncCrmObjects('companies', $missingCompanyIds);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing accounts', [
'size' => count($missingCompanyIds),
'error' => $e->getMessage(),
]);
$syncedAccountsData = [];
}
return $existingAccountsData + $syncedAccountsData;
}
/**
* Prepare associated contacts - find existing and sync missing ones
* Returns mapping of CRM ID to DB ID
*/
private function prepareAssociatedContacts(array $contactIds): array
{
// Find which contacts already exist
$existingContacts = $this->crmEntityRepository
->findContactsByExternalIds($this->config, $contactIds);
$existingContactIds = $existingContacts->pluck('crm_provider_id')->toArray();
// Create mapping for existing contacts
$existingContactsData = $existingContacts->mapWithKeys(function ($contact) {
return [$contact->getCrmProviderId() => $contact->getId()];
})->toArray();
$missingContactIds = array_diff($contactIds, $existingContactIds);
if (empty($missingContactIds)) {
return $existingContactsData;
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing contacts', [
'teamId' => $this->team->getUuid(),
'total_contacts' => count($contactIds),
'existing_contacts' => count($existingContactIds),
'missing_contacts' => count($missingContactIds),
]);
// Sync missing contacts using batch API
try {
$syncedContactsData = $this->batchSyncCrmObjects('contacts', $missingContactIds);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing contacts', [
'size' => count($missingContactIds),
'error' => $e->getMessage(),
]);
$syncedContactsData = [];
}
return $existingContactsData + $syncedContactsData;
}
private function batchSyncCrmObjects(string $objectType, array $crmIds): array
{
$syncObjects = [];
$crmObjectIds = array_values($crmIds);
foreach (array_chunk($crmObjectIds, self::BATCH_SIZE) as $chunk) {
try {
$objects = $objectType === 'companies' ?
$this->client->getCompaniesByIds($chunk, $this->getCompanyFields()) :
$this->client->getContactsByIds($chunk, $this->getContactFields());
foreach ($objects as $objectId => $objectData) {
$this->importCrmObject($objectType, (string) $objectId, $objectData, $syncObjects);
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch synced ' . $objectType, [
'requested_count' => count($chunk),
'synced_count' => count($objects),
]);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Batch ' . $objectType . ' sync failed', [
'ids' => $chunk,
'error' => $e->getMessage(),
]);
}
}
return $syncObjects;
}
private function importCrmObject(string $objectType, string $objectId, mixed $objectData, array &$syncObjects): void
{
try {
$object = $objectType === 'companies' ?
$this->importAccount($objectData) :
$this->importContact($objectData);
if ($object) {
$syncObjects[$object->getCrmProviderId()] = $object->getId();
}
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to import batch ' . $objectType, [
'id' => $objectId,
'error' => $e->getMessage(),
]);
}
}
/**
* Prepare associations for a single opportunity
*
* The return value is an array with the following structure:
* [
* 'companies' => [
* $companyCrmId => $companyId,
* ...
* ],
* 'contacts' => [
* $contactCrmId => $contactId,
* ...
* ],
* 'account_id' => $accountId,
* ]
*/
private function prepareAssociationsForOpportunity(
string $oppCrmId,
array $companyAssociations,
array $contactAssociations,
array $associationsData
): array {
$associations = [
'companies' => [],
'contacts' => [],
'account_id' => null, // Primary account for opportunity
];
$oppCompanyIds = $companyAssociations[$oppCrmId] ?? [];
foreach ($oppCompanyIds as $companyCrmId) {
if (isset($associationsData['company_id_mappings'][$companyCrmId])) {
$associations['companies'][$companyCrmId] = $associationsData['company_id_mappings'][$companyCrmId];
// Set primary account (first company becomes primary account)
if ($associations['account_id'] === null) {
$associations['account_id'] = $associationsData['company_id_mappings'][$companyCrmId];
}
}
}
$oppContactIds = $contactAssociations[$oppCrmId] ?? [];
foreach ($oppContactIds as $contactCrmId) {
if (isset($associationsData['contact_id_mappings'][$contactCrmId])) {
$associations['contacts'][$contactCrmId] = $associationsData['contact_id_mappings'][$contactCrmId];
}
}
return $associations;
}
/**
* Update only associations for an opportunity
*/
private function updateOpportunityAssociations(Opportunity $opportunity, array $associations): void
{
// Update contact associations
$this->importOpportunityContacts($opportunity, $associations['contacts']);
// Update company (account) associations
$this->updateOpportunityAccount($opportunity, $associations['account_id']);
}
/**
* Remove all contact associations from an opportunity
*/
private function removeAllOpportunityContacts(Opportunity $opportunity): void
{
$currentCount = (int) $opportunity->contacts()->count();
if ($currentCount > 0) {
$opportunity->contacts()->detach();
$this->logger->info('[' . $this->getDisplayName() . '] Removed all contact associations', [
'opportunity_id' => $opportunity->getId(),
'removed_count' => $currentCount,
]);
}
}
private function updateOpportunityAccount(Opportunity $opportunity, ?int $accountId): void
{
if ($accountId === null) {
// No account ID provided - keep current account
return;
}
$currentAccountId = $opportunity->getAccountId();
// Only update if account has changed
if ($currentAccountId !== $accountId) {
$opportunity->account_id = $accountId;
$opportunity->save();
$this->logger->info('[' . $this->getDisplayName() . '] Updated opportunity account association', [
'opportunity_id' => $opportunity->getId(),
'old_account_id' => $currentAccountId,
'new_account_id' => $accountId,
]);
}
}
/**
* Find existing opportunities by external IDs (OPTIMIZED VERSION)
* Uses batch query for better performance
*/
private function findExistingOpportunities(array $crmIds): Collection
{
return $this->crmEntityRepository
->findOpportunitiesByExternalIds($this->config, $crmIds);
}
private function processOpportunityBatch(array $opportunities): int
{
$syncedOpportunities = $this->importOpportunityBatch($opportunities);
return count($syncedOpportunities['success'] ?? []);
}
/**
* Convert single deal associations from HubSpot format to internal format
* Handles both HubSpot SDK objects and array formats
*
* @param array $opportunityAssociations Raw associations from HubSpot API or pre-processed
*
* @return array Processed associations with DB IDs
*/
private function convertDealAssociations(array $opportunityAssociations): array
{
$associations = $this->initializeAssociationsStructure();
if (empty($opportunityAssociations)) {
return $associations;
}
$associationIds = $this->extractAssociationIds($opportunityAssociations);
$this->processCompanyAssociations($associationIds, $associations);
$this->processContactAssociations($associationIds, $associations);
return $associations;
}
private function initializeAssociationsStructure(): array
{
return [
'companies' => [],
'contacts' => [],
'account_id' => null, // Primary account for opportunity
];
}
private function extractAssociationIds(array $opportunityAssociations): array
{
$associationIds = [];
foreach ($opportunityAssociations as $type => $associationData) {
if (! empty($associationData)) {
$associationIds[$type] = $this->convertSingleDealAssociations($associationData);
}
}
return $associationIds;
}
private function processCompanyAssociations(array $associationIds, array &$associations): void
{
if (empty($associationIds['companies'])) {
return;
}
$companyId = $associationIds['companies'][0];
$account = $this->findOrSyncAccount($companyId);
if ($account instanceof Account) {
$associations['companies'][$companyId] = $account->getId();
$associations['account_id'] = $account->getId();
}
}
private function processContactAssociations(array $associationIds, array &$associations): void
{
if (empty($associationIds['contacts'])) {
return;
}
foreach ($associationIds['contacts'] as $contactId) {
$contact = $this->findOrSyncContact($contactId);
if ($contact instanceof Contact) {
$associations['contacts'][$contactId] = $contact->getId();
}
}
}
private function findOrSyncAccount(string $companyId): ?Account
{
$account = $this->crmEntityRepository->findAccountByExternalId($this->config, $companyId);
if (! $account instanceof Account) {
$account = $this->syncAccount($companyId);
}
return $account;
}
private function findOrSyncContact(string $contactId): ?Contact
{
$contact = $this->crmEntityRepository->findContactByExternalId($this->config, $contactId);
if (! $contact instanceof Contact) {
$contact = $this->syncContact($contactId);
}
return $contact;
}
private function convertSingleDealAssociations($opportunityAssociations = null): array
{
$associationData = [];
if ($opportunityAssociations === null) {
return $associationData;
}
// Handle array input (from extractAssociationIds)
if (is_array($opportunityAssociations)) {
return $opportunityAssociations;
}
// Handle CollectionResponseAssociatedId object
if ($opportunityAssociations instanceof CollectionResponseAssociatedId) {
foreach ($opportunityAssociations->getResults() as $association) {
$associationData[] = $association->getId();
}
}
return $associationData;
}
private function importOrUpdateOpportunity($crmData, ?bool $exists = null): ?Opportunity
{
if (empty($crmData['properties'])) {
return null;
}
$crmId = (string) $crmData['id'];
$properties = $crmData['properties'];
$associations = $crmData['associations'] ?? [];
$opportunityExists = $exists ?? (bool) $this->crmEntityRepository->findOpportunityByExternalId(
$this->config,
$crmId
);
if ($opportunityExists) {
return $this->updateOpportunity($crmId, $properties, $associations);
} else {
return $this->createOpportunity($crmId, $properties, $associations);
}
}
/**
* Create new opportunity
*/
private function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity
{
$accountId = $this->resolveAccountId($associations);
if (! $accountId) {
return null;
}
$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);
if (! $businessProcess) {
return null;
}
$stage = $this->resolveStage($businessProcess, $properties['dealstage'] ?? null);
if (! $stage) {
return null;
}
$data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);
$attributes = [
'crm_configuration_id' => $this->config->getId(),
'crm_provider_id' => $crmId,
];
$values = array_merge($attributes, $data);
$opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);
$this->importExternalFieldData($properties, $opportunity->getId());
$this->importOpportunityContacts($opportunity, $associations['contacts']);
if ($opportunity->wasRecentlyCreated) {
MatchActivitiesToNewOpportunity::dispatch($opportunity->getId());
}
return $opportunity;
}
/**
* Update existing opportunity
*/
private function updateOpportunity(string $crmId, array $properties, array $associations): Opportunity
{
$accountId = $this->resolveAccountId($associations);
$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);
$stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;
$data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);
$attributes = [
'crm_configuration_id' => $this->config->getId(),
'crm_provider_id' => $crmId,
];
$values = array_merge($attributes, $data);
$opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);
$this->importExternalFieldData($properties, $opportunity->getId());
$this->updateOpportunityAssociations($opportunity, $associations);
return $opportunity;
}
private function resolveAccountId(array $associations): ?int
{
if (! empty($associations['accountId'])) {
return $associations['accountId'];
}
if (empty($associations)) {
return null;
}
// we can't resolve multiple account ids (currently SDK returns one company)
foreach ($associations['companies'] as $accountId) {
return $accountId;
}
return null;
}
private function buildOpportunityData(
array $properties,
?int $accountId,
?BusinessProcess $businessProcess,
?Stage $stage
): array {
$ownerId = null;
$profile = null;
if (! empty($properties['hubspot_owner_id'])) {
$ownerId = $properties['hubspot_owner_id'];
$profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);
}
$name = 'Unknown';
if (isset($properties['dealname'])) {
$name = mb_strimwidth($properties['dealname'], 0, 128);
}
$amount = $this->resolveAmount($properties);
$currency = $properties['deal_currency_code'] ?? null;
$closeDate = null;
if (! empty($properties['closedate'])) {
$closeDate = Carbon::parse($properties['closedate'])->format('Y-m-d');
}
$remotelyCreatedAt = null;
if (! empty($properties['createdate']) && strtotime($properties['createdate'])) {
$date = $this->parseCleanDatetime($properties['createdate']);
$remotelyCreatedAt = $date?->format('Y-m-d H:i:s');
}
$closedStages = $this->getClosedDealStages();
$isWon = in_array($properties['dealstage'], $closedStages['won']);
$isLost = in_array($properties['dealstage'], $closedStages['lost']);
$data = [
'team_id' => $this->team->getId(),
'user_id' => $profile ? $profile->user_id : null,
'owner_id' => $ownerId,
'name' => $name,
'value' => ! empty($amount) ? $amount : null,
'currency_code' => CurrencyFormatter::formatCode($currency),
'close_date' => $closeDate,
'is_closed' => $isWon || $isLost,
'is_won' => $isWon,
'remotely_created_at' => $remotelyCreatedAt,
'probability' => $this->resolveDealProbability($properties['hs_deal_stage_probability']),
'forecast_category' => $this->resolveForecastCategory($properties['hs_manual_forecast_category']),
];
if ($accountId) {
$data['account_id'] = $accountId;
}
if ($stage) {
$data['stage_id'] = $stage->id;
}
if ($businessProcess) {
$recordType = $this->crmEntityRepository->getBusinessProcessRecordType($businessProcess);
if ($recordType) {
$data['record_type_id'] = $recordType->id;
}
}
return $data;
}
private function resolveBusinessProcess(?string $pipelineId): ?BusinessProcess
{
if ($pipelineId === null) {
return null;
}
if (isset($this->cachedBusinessProcesses[$pipelineId])) {
return $this->cachedBusinessProcesses[$pipelineId];
}
$businessProcess = $this->getBusinessProcess($pipelineId);
if (! $businessProcess instanceof BusinessProcess) {
$this->importStages();
$businessProcess = $this->getBusinessProcess($pipelineId);
}
if (! $businessProcess instanceof BusinessProcess) {
$this->logger->info(
'[HubSpot] Deal is not attached to a pipeline',
[
'pipeline' => $pipelineId]
);
}
$this->cachedBusinessProcesses[$pipelineId] = $businessProcess;
return $businessProcess;
}
private function getBusinessProcess(string $pipelineId): ?BusinessProcess
{
return $this->crmEntityRepository->findBusinessProcessesByExternalId($this->config, $pipelineId);
}
private function resolveStage(BusinessProcess $businessProcess, ?string $stageId): ?Stage
{
if (empty($stageId)) {
return null;
}
$cacheKey = $businessProcess->getId() . ':' . $stageId;
if (isset($this->cachedStages[$cacheKey])) {
return $this->cachedStages[$cacheKey];
}
$stage = $this->crmEntityRepository->getPipelineStageByConditions(
$businessProcess,
[
'crm_provider_id' => $stageId,
'type' => Stage::TYPE_OPPORTUNITY,
]
);
if ($stage === null) {
$this->importStages(null, $stageId);
}
if ($stage === null) {
$this->logger->info('[HubSpot] Stage does not exist => ' . $stageId);
}
$this->cachedStages[$cacheKey] = $stage;
return $stage;
}
private function resolveAmount(array $properties): ?string
{
$amount = null;
if (! empty($properties['amount'])) {
$amount = str_replace(',', '', $properties['amount']);
}
if ($this->config->hasDefaultCurrencyFieldSet()) {
$valueFieldName = $this->config->getDefaultCurrencyField()->getCrmProviderId();
$amount = $properties[$valueFieldName] ?? $amount;
}
return $amount;
}
private function parseCleanDatetime(string $datetime): ?Carbon
{
// Treat pre-1980 values as invalid
$minValidDate = Carbon::parse('1980-01-01 00:00:00');
try {
$date = Carbon::parse($datetime);
if ($minValidDate->gt($date)) {
return null;
}
return $date;
} catch (Exception) {
return null; // On parse error, treat as null
}
}
private function resolveDealProbability(?string $stageProbability): int
{
if ($stageProbability === null) {
return 0;
}
$probability = (float) $stageProbability;
return $probability > 1 ? 0 : (int) ($probability * 100);
}
private function resolveForecastCategory(?string $forecastCategory): string
{
if (! $forecastCategory) {
return Forecast::FORECAST_CATEGORY_UNCATEGORIZED;
}
$forecastCategory = str_replace('_', ' ', $forecastCategory);
return ucwords(strtolower($forecastCategory));
}
private function importExternalFieldData(array $properties, int $opportunityId): void
{
$crmFields = $this->getOpportunitySyncableFields();
$this->importOpportunityCrmFieldData($properties, $crmFields, $opportunityId);
}
private function importOpportunityContacts(Opportunity $opportunity, array $associations): void
{
// Handle empty or missing contact associations
if (empty($associations)) {
// Remove all existing contact associations if none provided
$this->removeAllOpportunityContacts($opportunity);
return;
}
// Use differential sync approach for better performance and accuracy
$this->syncOpportunityContactsDifferential($opportunity, $associations);
}
/**
* Sync opportunity contacts using differential approach
* This compares current vs new associations and only makes necessary changes
*/
private function syncOpportunityContactsDifferential(Opportunity $opportunity, array $contactAssociations): void
{
$currentContactCrmIds = $this->getCurrentContactCrmIds($opportunity);
$contactAssociationIds = array_keys($contactAssociations);
$contactsToAdd = array_diff($contactAssociationIds, $currentContactCrmIds);
$contactsToRemove = array_diff($currentContactCrmIds, $contactAssociationIds);
if (empty($contactsToAdd) && empty($contactsToRemove)) {
return;
}
$this->logContactAssociationChanges($opportunity, $currentContactCrmIds, $contactAssociations, $contactsToAdd, $contactsToRemove);
$this->removeContactAssociations($opportunity, $contactsToRemove);
$this->addContactAssociations($opportunity, $contactsToAdd, $contactAssociations);
}
private function getCurrentContactCrmIds(Opportunity $opportunity): array
{
return $opportunity->contacts()
->pluck('contacts.crm_provider_id')
->toArray();
}
private function logContactAssociationChanges(
Opportunity $opportunity,
array $currentContactCrmIds,
array $contactAssociations,
array $contactsToAdd,
array $contactsToRemove
): void {
$this->logger->info('[' . $this->getDisplayName() . '] Contact association changes', [
'opportunity_id' => $opportunity->getId(),
'current_contacts' => $currentContactCrmIds,
'new_contacts' => $contactAssociations,
'contacts_to_add' => $contactsToAdd,
'contacts_to_remove' => $contactsToRemove,
]);
}
private function removeContactAssociations(Opportunity $opportunity, array $contactsToRemove): void
{
if (empty($contactsToRemove)) {
return;
}
$contactsToDetach = $opportunity->contacts()
->whereIn('contacts.crm_provider_id', $contactsToRemove)
->pluck('contacts.id')
->toArray();
if (! empty($contactsToDetach)) {
$opportunity->contacts()->detach($contactsToDetach);
$this->logger->info('[' . $this->getDisplayName() . '] Removed contact associations', [
'opportunity_id' => $opportunity->getId(),
'removed_contact_crm_ids' => $contactsToRemove,
'removed_contact_count' => count($contactsToDetach),
]);
}
}
private function addContactAssociations(Opportunity $opportunity, array $contactsToAdd, array $contactAssociations): void
{
if (empty($contactsToAdd)) {
return;
}
$contactsAdded = [];
foreach ($contactsToAdd as $crmId) {
$id = $contactAssociations[$crmId];
if ($this->attachSingleContact($opportunity, (string) $crmId, $id)) {
$contactsAdded[] = $crmId;
}
}
$this->logAddedContacts($opportunity, $contactsAdded);
}
private function attachSingleContact(Opportunity $opportunity, string $crmId, int $id): bool
{
try {
$contact = $this->crmEntityRepository->findContactByConfigurationAndId($this->config, $id);
if (! $contact) {
return false;
}
return $this->performContactAttachment($opportunity, $contact, $crmId);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to add contact association', [
'opportunity_id' => $opportunity->getId(),
'contact_crm_id' => $crmId,
'error' => $e->getMessage(),
]);
return false;
}
}
private function performContactAttachment(Opportunity $opportunity, Contact $contact, string $crmId): bool
{
try {
$opportunity->contacts()->attach($contact->getId(), [
'crm_provider_id' => $crmId,
]);
return true;
} catch (\Illuminate\Database\QueryException $e) {
if (str_contains($e->getMessage(), 'Duplicate entry')) {
$this->logger->info('[' . $this->getDisplayName() . '] Contact association already exists', [
'contact_id' => $contact->getId(),
'contact_crm_id' => $crmId,
'opportunity_id' => $opportunity->getId(),
]);
return false;
}
throw $e;
}
}
private function logAddedContacts(Opportunity $opportunity, array $contactsAdded): void
{
if (! empty($contactsAdded)) {
$this->logger->info('[' . $this->getDisplayName() . '] Added contact associations', [
'opportunity_id' => $opportunity->getId(),
'contacts_to_add_count' => count($contactsAdded),
'added_contact_crm_ids' => $contactsAdded,
'added_contacts_count' => count($contactsAdded),
]);
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Code changed:
Hide
Sync Changes
Hide This Notification
26
9
21
3
102
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM team_features where team_id = 1;
SELECT * FROM teams WHERE name LIKE '%Vixio%'; # 340,270,11922
SELECT * FROM users WHERE team_id = 340; # 12015
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 340
and sa.provider = 'salesforce';
# and sa.provider = 'salesloft';
select * from crm_fields where crm_configuration_id = 270 and object_type = 'event';
# 125558 - Event Type - Event_Type__c
# 125552 - Event Status - Event_Status__c
SELECT * FROM sidekick_settings WHERE team_id = 340;
SELECT * FROM crm_field_values WHERE crm_field_id in (125552);
select * from activities where crm_configuration_id = 270
and type = 'conference' and crm_provider_id IS NOT NULL
and actual_start_time > '2024-09-16 09:00:00' order by scheduled_start_time;
SELECT * FROM activities WHERE id = 20871677;
SELECT * FROM crm_field_data WHERE activity_id = 20871677;
select * from crm_layouts where crm_configuration_id = 270;
select * from crm_layout_entities where crm_layout_id in (886,887);
SELECT * FROM crm_configurations WHERE id = 270;
select * from playbooks where team_id = 340; # 1514
select * from groups where team_id = 340;
SELECT * FROM crm_fields WHERE id IN (125393, 125401);
select g.name as 'team name', p.name as 'playbook name', f.label as 'activity type field' from groups g
join playbooks p on g.playbook_id = p.id
join crm_fields f on p.activity_field_id = f.id
where g.team_id = 340;
SELECT * FROM activities WHERE uuid_to_bin('0c180357-67d2-419e-a8c3-b832a3490770') = uuid; # 20448716
select * from crm_field_data where object_id = 20448716;
select * from activities where crm_configuration_id = 270 and provider = 'salesloft' order by id desc;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%CybSafe%'; # 343,273,12008
select * from opportunities where team_id = 343;
select * from opportunities where team_id = 343 and crm_provider_id = '18099102526';
select * from opportunities where team_id = 343 and account_id = 945217482;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 343
and sa.provider = 'hubspot';
select * from accounts where team_id = 343 order by name asc;
select * from stages where crm_configuration_id = 273 and type = 'opportunity';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Voyado%'; # 353,283,12143
SELECT * FROM activities WHERE crm_configuration_id = 283 and account_id = 3777844 order by id desc;
SELECT * FROM accounts WHERE team_id = 353 AND name LIKE '%Salesloft%';
SELECT * FROM activities WHERE id = 20717903;
select * from participants where activity_id IN (20929172,20928605,20928468,20926272,20926271,20926270,20926269,20916499,20916454,20916436,20916435,20900015,20900014,20900013,20897312,20897243,20897241,20897237,20897232,20897229,20893648,20893231,20893230,20893229,20893228,20889784,20885039,20885038,20885037,20885036,20885035,20882728,20882708,20882703,20882702,20869828,20869811,20869806,20869801,20869799,20869798,20869796,20869795,20869794,20869761,20869760,20869759,20868688,20868687,20850340,20847195,20841710,20833967,20827021,20825307,20825305,20825297,20824615,20824400,20823927,20821760,20795588,20794233,20794057,20793710,20785811,20781789,20781394,20781307,20762651,20758453,20758282,20757323,20756643,20756636,20756629,20756627,20756606,20756605,20756604,20756603,20756602,20756600,20756599,20756598,20756595,20756594,20756589,20756587,20756577,20756573,20748918,20748386,20748385,20748384,20748383,20748382,20748381,20748380,20748379,20748377,20748375,20748373,20743301,20717905,20717904,20717903,20717901,20717899);
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 353
and sa.provider = 'salesforce';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%modern world business solutions%'; # 345,275,12016, [EMAIL]
SELECT * FROM activities WHERE uuid_to_bin('3921d399-3fef-4609-a291-b0097a166d43') = uuid;
# id: 20940638, user: 12022, contact: 5305871
SELECT * FROM activity_summary_logs WHERE activity_id = 20940638;
select * from contacts where team_id = 345 and crm_provider_id = '30891432415' order by name asc; # 5305871
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 345
and sa.provider = 'hubspot';
select * from users where team_id = 345 and id = 12022;
SELECT * FROM crm_profiles WHERE user_id = 12022;
SELECT * FROM participants WHERE activity_id = 20940638;
SELECT * FROM users u
JOIN crm_profiles cp ON u.id = cp.user_id
WHERE u.team_id = 345;
select * from contacts where team_id = 345 and crm_provider_id = '30880813535' order by name desc; # 5305871
select * from team_features where team_id = 345;
SELECT * FROM activities WHERE uuid_to_bin('11701e2d-2f82-4dab-a616-1db4fad238df') = uuid; # 21115197
SELECT * FROM participants WHERE activity_id = 20897406;
SELECT * FROM activities WHERE uuid_to_bin('63ba55cd-1abc-447d-83da-0137000005b7') = uuid; # 20953912
SELECT * FROM activities WHERE crm_configuration_id = 275 and provider = 'ringcentral' and title like '%1252629100%';
SELECT * FROM activities WHERE id = 20946641;
SELECT * FROM crm_profiles WHERE user_id = 10211;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120,97,10984, [EMAIL]
SELECT * FROM opportunities WHERE crm_configuration_id = 97 and crm_provider_id = '006N1000006c5PpIAI';
select * from stages where crm_configuration_id = 97 and type = 'opportunity';
select * from opportunities where team_id = 120;
select * from crm_configurations crm join teams t on crm.id = t.crm_id
where 1=1
AND t.current_billing_plan IS NOT NULL
AND crm.auto_sync_activity = 0
and crm.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Exclaimer%'; # 270,205,10053,[EMAIL]
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 270
and sa.provider = 'salesforce';
SELECT * FROM activities WHERE uuid_to_bin('b54df794-2a9a-4957-8d80-09a600ead5f8') = uuid; # 21637956
SELECT * FROM crm_profiles WHERE user_id = 11446;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Cygnetise%'; # 372,300,12554, [EMAIL]
select * from playbooks where team_id = 372;
select * from crm_fields where crm_configuration_id = 300 and object_type = 'event'; # 141340
SELECT * FROM crm_field_values WHERE crm_field_id = 141340;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 372
and sa.provider = 'salesf...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"\"podcast_audio_url\"","depth":4,"value":"\"podcast_audio_url\"","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"0 results","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"32","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"19","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Services\\Crm\\Hubspot\\ServiceTraits;\n\nuse Carbon\\Carbon;\nuse HubSpot\\Client\\Crm\\Deals\\Model\\CollectionResponseAssociatedId;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Models\\Account;\nuse Exception;\nuse Jiminny\\Component\\DealInsights\\Forecast\\Forecast;\nuse Jiminny\\Jobs\\Crm\\MatchActivitiesToNewOpportunity;\nuse Jiminny\\Models\\Contact;\nuse Jiminny\\Models\\Crm\\BusinessProcess;\nuse Jiminny\\Exceptions\\CrmException;\nuse Jiminny\\Models\\Opportunity;\nuse Illuminate\\Support\\Collection;\nuse Jiminny\\Models\\Stage;\nuse Jiminny\\Repositories\\Crm\\CrmEntityRepository;\nuse Jiminny\\Services\\Crm\\Hubspot\\DealFieldsService;\nuse Jiminny\\Services\\Crm\\Hubspot\\OpportunitySyncStrategy\\HubspotSingleSyncStrategy;\nuse Jiminny\\Services\\Crm\\Hubspot\\WebhookSyncBatchProcessor;\nuse Jiminny\\Services\\Crm\\OpportunitySyncStrategyResolver;\nuse Jiminny\\Utils\\CurrencyFormatter;\n\n/**\n * Optimized sync methods for better performance\n * These methods can be integrated into SyncCrmEntitiesTrait for significant performance gains\n */\ntrait OpportunitySyncTrait\n{\n private const int BATCH_SIZE = 100;\n private const int BATCH_PROCESS_SIZE = 800;\n\n protected OpportunitySyncStrategyResolver $opportunitySyncStrategyResolver;\n protected CrmEntityRepository $crmEntityRepository;\n protected DealFieldsService $dealFieldsService;\n\n private ?array $cachedClosedDealStages = null;\n private array $cachedBusinessProcesses = [];\n private array $cachedStages = [];\n\n public function syncOpportunities(array $parameters, ?string $strategy = null): int\n {\n $strategies = $this->opportunitySyncStrategyResolver->getStrategies($this->config, $strategy);\n $parameters['config'] = $this->config;\n $syncCount = 0;\n $reportedTotal = 0;\n $lastSyncedId = [];\n\n try {\n foreach ($strategies as $strategyName => $syncStrategy) {\n $this->logger->info(\n '[' . $this->getDisplayName() . '] Syncing opportunities using strategy: ' .\n $strategyName\n );\n\n $total = 0;\n $lastId = null;\n $buffer = [];\n\n // HubspotWebhookBatchSyncStrategy returns empty generator, this is for other strategies\n foreach ($syncStrategy->fetchOpportunities($parameters, $total, $lastId) as $hsOpportunity) {\n $buffer[] = $hsOpportunity;\n\n // process every 800 rows (fits < 1 000 association limit)\n if (\\count($buffer) >= self::BATCH_PROCESS_SIZE) {\n $syncCount += $this->processOpportunityBatch($buffer);\n $buffer = [];\n }\n }\n\n // leftovers\n if ($buffer) {\n $syncCount += $this->processOpportunityBatch($buffer);\n }\n\n $reportedTotal += $total;\n $lastSyncedId = $lastId;\n }\n } catch (\\HubSpot\\Client\\Crm\\Deals\\ApiException | CrmException $e) {\n $this->handleSyncException($e, $parameters);\n }\n\n $this->logger->info(\n '[HubSpot] Synced opportunities',\n [\n 'team' => $this->team->getId(),\n 'sync_count' => $syncCount,\n 'total' => $reportedTotal,\n 'last_synced_id' => $lastSyncedId,\n ]\n );\n\n return $reportedTotal;\n }\n\n private function handleSyncException(\\Throwable $e, array $parameters): void\n {\n if (($parameters['since'] ?? null) instanceof Carbon) {\n $parameters['since'] = $parameters['since']->toDateTimeString();\n }\n $parameters['config'] = $this->config->getId();\n\n $this->logger->warning('[' . $this->getDisplayName() . '] Sync opportunities failed', [\n 'teamId' => $this->team->getUuid(),\n 'parameters' => $parameters,\n 'reason' => $e->getMessage(),\n ]);\n }\n\n /**\n * @inheritdoc\n */\n public function syncOpportunity(string $crmId): ?Opportunity\n {\n $strategy = $this->opportunitySyncStrategyResolver->resolve(\n $this->config,\n OpportunitySyncStrategyResolver::SINGLE_SYNC_OPPORTUNITY_STRATEGY,\n );\n\n $parameters = [\n 'config' => $this->config,\n 'crm_id' => $crmId,\n ];\n\n try {\n if (! $strategy instanceof HubspotSingleSyncStrategy) {\n throw new InvalidArgumentException('Strategy must by HubspotSingleSyncStrategy');\n }\n\n $hsOpportunity = $strategy->fetchOpportunity($parameters);\n } catch (\\HubSpot\\Client\\Crm\\Deals\\ApiException $e) {\n $this->logger->info('[' . $this->getDisplayName() . '] Opportunity not found', [\n 'teamId' => $this->team->getUuid(),\n 'crmId' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n return null;\n }\n\n $hsOpportunity['associations'] = $this->convertDealAssociations($hsOpportunity['associations'] ?? []);\n\n return $this->importOrUpdateOpportunity($hsOpportunity);\n }\n\n /**\n * Process webhook-collected opportunity batches.\n *\n * Drains Redis sets containing company CRM IDs collected from webhook events\n * and dispatches ImportOpportunityBatch jobs for batch processing.\n *\n * @return int Number of opportunity IDs dispatched to jobs\n */\n public function batchSyncOpportunities(): int\n {\n $configId = $this->team->getCrmConfiguration()->getId();\n\n return $this->batchProcessor->processBatchesForObjectType(\n WebhookSyncBatchProcessor::OBJECT_TYPE_DEAL,\n $configId\n );\n }\n\n /**\n * Import a batch of opportunities by their CRM IDs.\n * Fetches opportunity data from HubSpot API and delegates to importOpportunityBatch().\n *\n * @param array<string> $crmIds HubSpot deal CRM IDs\n *\n * @return array{success: array, failed_ids: array, errors?: array<string, string>}\n */\n public function importOpportunityBatchByIds(array $crmIds): array\n {\n $fields = $this->dealFieldsService->getFieldsForConfiguration($this->config);\n\n $allDeals = [];\n foreach (array_chunk($crmIds, self::BATCH_SIZE) as $chunk) {\n $deals = $this->client->getOpportunitiesByIds($chunk, $fields);\n foreach ($deals as $deal) {\n $allDeals[] = $deal;\n }\n }\n\n // IDs not returned by HubSpot are likely deleted or inaccessible deals.\n // These are not failures — retrying won't bring them back.\n $fetchedIds = array_map('strval', array_column($allDeals, 'id'));\n $notFoundIds = array_values(array_diff(array_map('strval', $crmIds), $fetchedIds));\n\n if (! empty($notFoundIds)) {\n $this->logger->info('[' . $this->getDisplayName() . '] CRM IDs not found in HubSpot (likely deleted)', [\n 'teamId' => $this->team->getId(),\n 'notFoundCount' => \\count($notFoundIds),\n 'notFoundIds' => $notFoundIds,\n 'requestedCount' => \\count($crmIds),\n 'fetchedCount' => \\count($allDeals),\n ]);\n }\n\n if (empty($allDeals)) {\n return ['success' => [], 'failed_ids' => []];\n }\n\n return $this->importOpportunityBatch($allDeals);\n }\n\n private function getClosedDealStages(): array\n {\n if ($this->cachedClosedDealStages !== null) {\n return $this->cachedClosedDealStages;\n }\n\n $stages = $this->crmEntityRepository->getOpportunityClosedStages($this->config);\n $data = [\n 'lost' => [],\n 'won' => [],\n ];\n\n foreach ($stages as $stage) {\n if ($stage->probability == 0.00) {\n $data['lost'][] = $stage->crm_provider_id;\n }\n if ($stage->probability == 100.00) {\n $data['won'][] = $stage->crm_provider_id;\n }\n }\n\n $this->cachedClosedDealStages = $data;\n\n return $data;\n }\n\n /**\n * Import deals into the database with pre-fetched associations.\n *\n * API calls here (getAssociationsData, getExistingOpportunityCrmIds) are NOT\n * caught — if they throw, the exception propagates to ImportOpportunityBatch::handle()\n * where Laravel retries the whole job with backoff. After all retries exhausted,\n * failed() requeues all IDs to Redis.\n *\n * The per-deal loop catches exceptions individually. A deal can end up in three states:\n * - success: imported/updated successfully\n * - failed_ids: exception thrown (DB constraint violation, corrupt data, etc.)\n * These are permanent issues — retrying won't fix them.\n * - skipped (null): missing dependencies (no account, unknown pipeline/stage).\n * This is acceptable — the deal cannot be imported until those exist.\n */\n private function importOpportunityBatch(array $deals): array\n {\n $syncedOpportunities = [\n 'success' => [],\n 'failed_ids' => [],\n ];\n $dealIds = array_column($deals, 'id');\n\n // Shared association/existing-ID preparation is batch-level state. If it fails, rethrow so the\n // queue job retries the whole batch and eventually requeues all deal IDs back to Redis.\n try {\n $companyAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'companies');\n $contactAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'contacts');\n\n $associationsData = $this->prepareAssociatedEntities($companyAssociations, $contactAssociations);\n\n $existingCrmIds = $this->crmEntityRepository->getExistingOpportunityCrmIds(\n $this->config,\n array_map('strval', $dealIds)\n );\n $existingCrmIdSet = array_flip($existingCrmIds);\n } catch (\\Throwable $e) {\n $this->logger->error('[' . $this->getDisplayName() . '] Failed to fetch associations or existing IDs', [\n 'teamId' => $this->team->getId(),\n 'dealCount' => count($dealIds),\n 'error' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n foreach ($deals as $deal) {\n try {\n $deal['associations'] = $this->prepareAssociationsForOpportunity(\n $deal['id'],\n $companyAssociations,\n $contactAssociations,\n $associationsData\n );\n\n $syncedOpportunity = $this->importOrUpdateOpportunity(\n $deal,\n isset($existingCrmIdSet[(string) $deal['id']])\n );\n if ($syncedOpportunity) {\n $syncedOpportunities['success'][] = $syncedOpportunity;\n }\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to import opportunity', [\n 'teamId' => $this->team->getId(),\n 'crmId' => $deal['id'],\n 'error' => $e->getMessage(),\n ]);\n $syncedOpportunities['failed_ids'][] = $deal['id'];\n $syncedOpportunities['errors'][$deal['id']] = $e->getMessage();\n }\n }\n\n return $syncedOpportunities;\n }\n\n /**\n * Prepare associated entities for opportunities with optimized batch processing\n * Returns structured data with CRM ID to DB ID mappings for each opportunity\n */\n private function prepareAssociatedEntities(array $companyAssociations, array $contactAssociations): array\n {\n // Step 1: Collect all unique company and contact IDs from associations\n $allCompanyIds = $this->flattenAssociationIds($companyAssociations);\n $allContactIds = $this->flattenAssociationIds($contactAssociations);\n\n // Step 2: Batch sync missing entities and get CRM ID to DB ID mappings\n $companyIdMappings = [];\n $contactIdMappings = [];\n\n if (! empty($allCompanyIds)) {\n $companyIdMappings = $this->prepareAssociatedAccounts($allCompanyIds);\n }\n\n if (! empty($allContactIds)) {\n $contactIdMappings = $this->prepareAssociatedContacts($allContactIds);\n }\n\n return [\n 'company_id_mappings' => $companyIdMappings,\n 'contact_id_mappings' => $contactIdMappings,\n ];\n }\n\n /**\n * Flatten association data to get unique IDs\n */\n private function flattenAssociationIds(array $associations): array\n {\n $ids = [];\n foreach ($associations as $dealAssociations) {\n if (is_array($dealAssociations)) {\n foreach ($dealAssociations as $id) {\n $ids[$id] = true;\n }\n }\n }\n\n return array_keys($ids);\n }\n\n /**\n * Batch sync missing accounts\n */\n private function prepareAssociatedAccounts(array $companyIds): array\n {\n // Find which accounts already exist\n $existingAccounts = $this->crmEntityRepository\n ->findAccountsByExternalIds($this->config, $companyIds);\n\n $existingCompanyIds = $existingAccounts->pluck('crm_provider_id')->toArray();\n\n $existingAccountsData = $existingAccounts->mapWithKeys(function ($account) {\n return [$account->getCrmProviderId() => $account->getId()];\n })->toArray();\n\n $missingCompanyIds = array_diff($companyIds, $existingCompanyIds);\n\n if (empty($missingCompanyIds)) {\n return $existingAccountsData;\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing accounts', [\n 'teamId' => $this->team->getUuid(),\n 'total_companies' => count($companyIds),\n 'existing_companies' => count($existingCompanyIds),\n 'missing_companies' => count($missingCompanyIds),\n ]);\n\n // we already have limit on opportunity ids count\n // Initialize variable before try block\n $syncedAccountsData = [];\n\n try {\n $syncedAccountsData = $this->batchSyncCrmObjects('companies', $missingCompanyIds);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing accounts', [\n 'size' => count($missingCompanyIds),\n 'error' => $e->getMessage(),\n ]);\n $syncedAccountsData = [];\n }\n\n return $existingAccountsData + $syncedAccountsData;\n }\n\n /**\n * Prepare associated contacts - find existing and sync missing ones\n * Returns mapping of CRM ID to DB ID\n */\n private function prepareAssociatedContacts(array $contactIds): array\n {\n // Find which contacts already exist\n $existingContacts = $this->crmEntityRepository\n ->findContactsByExternalIds($this->config, $contactIds);\n\n $existingContactIds = $existingContacts->pluck('crm_provider_id')->toArray();\n\n // Create mapping for existing contacts\n $existingContactsData = $existingContacts->mapWithKeys(function ($contact) {\n return [$contact->getCrmProviderId() => $contact->getId()];\n })->toArray();\n\n $missingContactIds = array_diff($contactIds, $existingContactIds);\n\n if (empty($missingContactIds)) {\n return $existingContactsData;\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing contacts', [\n 'teamId' => $this->team->getUuid(),\n 'total_contacts' => count($contactIds),\n 'existing_contacts' => count($existingContactIds),\n 'missing_contacts' => count($missingContactIds),\n ]);\n\n // Sync missing contacts using batch API\n try {\n $syncedContactsData = $this->batchSyncCrmObjects('contacts', $missingContactIds);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing contacts', [\n 'size' => count($missingContactIds),\n 'error' => $e->getMessage(),\n ]);\n $syncedContactsData = [];\n }\n\n return $existingContactsData + $syncedContactsData;\n }\n\n private function batchSyncCrmObjects(string $objectType, array $crmIds): array\n {\n $syncObjects = [];\n $crmObjectIds = array_values($crmIds);\n\n foreach (array_chunk($crmObjectIds, self::BATCH_SIZE) as $chunk) {\n try {\n $objects = $objectType === 'companies' ?\n $this->client->getCompaniesByIds($chunk, $this->getCompanyFields()) :\n $this->client->getContactsByIds($chunk, $this->getContactFields());\n\n foreach ($objects as $objectId => $objectData) {\n $this->importCrmObject($objectType, (string) $objectId, $objectData, $syncObjects);\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch synced ' . $objectType, [\n 'requested_count' => count($chunk),\n 'synced_count' => count($objects),\n ]);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Batch ' . $objectType . ' sync failed', [\n 'ids' => $chunk,\n 'error' => $e->getMessage(),\n ]);\n }\n }\n\n return $syncObjects;\n }\n\n private function importCrmObject(string $objectType, string $objectId, mixed $objectData, array &$syncObjects): void\n {\n try {\n $object = $objectType === 'companies' ?\n $this->importAccount($objectData) :\n $this->importContact($objectData);\n\n if ($object) {\n $syncObjects[$object->getCrmProviderId()] = $object->getId();\n }\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to import batch ' . $objectType, [\n 'id' => $objectId,\n 'error' => $e->getMessage(),\n ]);\n }\n }\n\n /**\n * Prepare associations for a single opportunity\n *\n * The return value is an array with the following structure:\n * [\n * 'companies' => [\n * $companyCrmId => $companyId,\n * ...\n * ],\n * 'contacts' => [\n * $contactCrmId => $contactId,\n * ...\n * ],\n * 'account_id' => $accountId,\n * ]\n */\n private function prepareAssociationsForOpportunity(\n string $oppCrmId,\n array $companyAssociations,\n array $contactAssociations,\n array $associationsData\n ): array {\n $associations = [\n 'companies' => [],\n 'contacts' => [],\n 'account_id' => null, // Primary account for opportunity\n ];\n\n $oppCompanyIds = $companyAssociations[$oppCrmId] ?? [];\n foreach ($oppCompanyIds as $companyCrmId) {\n if (isset($associationsData['company_id_mappings'][$companyCrmId])) {\n $associations['companies'][$companyCrmId] = $associationsData['company_id_mappings'][$companyCrmId];\n\n // Set primary account (first company becomes primary account)\n if ($associations['account_id'] === null) {\n $associations['account_id'] = $associationsData['company_id_mappings'][$companyCrmId];\n }\n }\n }\n\n $oppContactIds = $contactAssociations[$oppCrmId] ?? [];\n foreach ($oppContactIds as $contactCrmId) {\n if (isset($associationsData['contact_id_mappings'][$contactCrmId])) {\n $associations['contacts'][$contactCrmId] = $associationsData['contact_id_mappings'][$contactCrmId];\n }\n }\n\n return $associations;\n }\n\n /**\n * Update only associations for an opportunity\n */\n private function updateOpportunityAssociations(Opportunity $opportunity, array $associations): void\n {\n // Update contact associations\n $this->importOpportunityContacts($opportunity, $associations['contacts']);\n\n // Update company (account) associations\n $this->updateOpportunityAccount($opportunity, $associations['account_id']);\n }\n\n /**\n * Remove all contact associations from an opportunity\n */\n private function removeAllOpportunityContacts(Opportunity $opportunity): void\n {\n $currentCount = (int) $opportunity->contacts()->count();\n\n if ($currentCount > 0) {\n $opportunity->contacts()->detach();\n\n $this->logger->info('[' . $this->getDisplayName() . '] Removed all contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'removed_count' => $currentCount,\n ]);\n }\n }\n\n private function updateOpportunityAccount(Opportunity $opportunity, ?int $accountId): void\n {\n if ($accountId === null) {\n // No account ID provided - keep current account\n return;\n }\n\n $currentAccountId = $opportunity->getAccountId();\n\n // Only update if account has changed\n if ($currentAccountId !== $accountId) {\n $opportunity->account_id = $accountId;\n $opportunity->save();\n\n $this->logger->info('[' . $this->getDisplayName() . '] Updated opportunity account association', [\n 'opportunity_id' => $opportunity->getId(),\n 'old_account_id' => $currentAccountId,\n 'new_account_id' => $accountId,\n ]);\n }\n }\n\n /**\n * Find existing opportunities by external IDs (OPTIMIZED VERSION)\n * Uses batch query for better performance\n */\n private function findExistingOpportunities(array $crmIds): Collection\n {\n return $this->crmEntityRepository\n ->findOpportunitiesByExternalIds($this->config, $crmIds);\n }\n\n private function processOpportunityBatch(array $opportunities): int\n {\n $syncedOpportunities = $this->importOpportunityBatch($opportunities);\n\n return count($syncedOpportunities['success'] ?? []);\n }\n\n /**\n * Convert single deal associations from HubSpot format to internal format\n * Handles both HubSpot SDK objects and array formats\n *\n * @param array $opportunityAssociations Raw associations from HubSpot API or pre-processed\n *\n * @return array Processed associations with DB IDs\n */\n private function convertDealAssociations(array $opportunityAssociations): array\n {\n $associations = $this->initializeAssociationsStructure();\n\n if (empty($opportunityAssociations)) {\n return $associations;\n }\n\n $associationIds = $this->extractAssociationIds($opportunityAssociations);\n\n $this->processCompanyAssociations($associationIds, $associations);\n $this->processContactAssociations($associationIds, $associations);\n\n return $associations;\n }\n\n private function initializeAssociationsStructure(): array\n {\n return [\n 'companies' => [],\n 'contacts' => [],\n 'account_id' => null, // Primary account for opportunity\n ];\n }\n\n private function extractAssociationIds(array $opportunityAssociations): array\n {\n $associationIds = [];\n\n foreach ($opportunityAssociations as $type => $associationData) {\n if (! empty($associationData)) {\n $associationIds[$type] = $this->convertSingleDealAssociations($associationData);\n }\n }\n\n return $associationIds;\n }\n\n private function processCompanyAssociations(array $associationIds, array &$associations): void\n {\n if (empty($associationIds['companies'])) {\n return;\n }\n\n $companyId = $associationIds['companies'][0];\n $account = $this->findOrSyncAccount($companyId);\n\n if ($account instanceof Account) {\n $associations['companies'][$companyId] = $account->getId();\n $associations['account_id'] = $account->getId();\n }\n }\n\n private function processContactAssociations(array $associationIds, array &$associations): void\n {\n if (empty($associationIds['contacts'])) {\n return;\n }\n\n foreach ($associationIds['contacts'] as $contactId) {\n $contact = $this->findOrSyncContact($contactId);\n\n if ($contact instanceof Contact) {\n $associations['contacts'][$contactId] = $contact->getId();\n }\n }\n }\n\n private function findOrSyncAccount(string $companyId): ?Account\n {\n $account = $this->crmEntityRepository->findAccountByExternalId($this->config, $companyId);\n\n if (! $account instanceof Account) {\n $account = $this->syncAccount($companyId);\n }\n\n return $account;\n }\n\n private function findOrSyncContact(string $contactId): ?Contact\n {\n $contact = $this->crmEntityRepository->findContactByExternalId($this->config, $contactId);\n\n if (! $contact instanceof Contact) {\n $contact = $this->syncContact($contactId);\n }\n\n return $contact;\n }\n\n private function convertSingleDealAssociations($opportunityAssociations = null): array\n {\n $associationData = [];\n\n if ($opportunityAssociations === null) {\n return $associationData;\n }\n\n // Handle array input (from extractAssociationIds)\n if (is_array($opportunityAssociations)) {\n return $opportunityAssociations;\n }\n\n // Handle CollectionResponseAssociatedId object\n if ($opportunityAssociations instanceof CollectionResponseAssociatedId) {\n foreach ($opportunityAssociations->getResults() as $association) {\n $associationData[] = $association->getId();\n }\n }\n\n return $associationData;\n }\n\n private function importOrUpdateOpportunity($crmData, ?bool $exists = null): ?Opportunity\n {\n if (empty($crmData['properties'])) {\n return null;\n }\n\n $crmId = (string) $crmData['id'];\n $properties = $crmData['properties'];\n $associations = $crmData['associations'] ?? [];\n\n $opportunityExists = $exists ?? (bool) $this->crmEntityRepository->findOpportunityByExternalId(\n $this->config,\n $crmId\n );\n\n if ($opportunityExists) {\n return $this->updateOpportunity($crmId, $properties, $associations);\n } else {\n return $this->createOpportunity($crmId, $properties, $associations);\n }\n }\n\n /**\n * Create new opportunity\n */\n private function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity\n {\n $accountId = $this->resolveAccountId($associations);\n if (! $accountId) {\n return null;\n }\n\n $businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);\n if (! $businessProcess) {\n return null;\n }\n\n $stage = $this->resolveStage($businessProcess, $properties['dealstage'] ?? null);\n if (! $stage) {\n return null;\n }\n\n $data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);\n\n $attributes = [\n 'crm_configuration_id' => $this->config->getId(),\n 'crm_provider_id' => $crmId,\n ];\n\n $values = array_merge($attributes, $data);\n\n $opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);\n\n $this->importExternalFieldData($properties, $opportunity->getId());\n $this->importOpportunityContacts($opportunity, $associations['contacts']);\n\n if ($opportunity->wasRecentlyCreated) {\n MatchActivitiesToNewOpportunity::dispatch($opportunity->getId());\n }\n\n return $opportunity;\n }\n\n /**\n * Update existing opportunity\n */\n private function updateOpportunity(string $crmId, array $properties, array $associations): Opportunity\n {\n $accountId = $this->resolveAccountId($associations);\n $businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);\n $stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;\n\n $data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);\n\n $attributes = [\n 'crm_configuration_id' => $this->config->getId(),\n 'crm_provider_id' => $crmId,\n ];\n\n $values = array_merge($attributes, $data);\n $opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);\n\n $this->importExternalFieldData($properties, $opportunity->getId());\n $this->updateOpportunityAssociations($opportunity, $associations);\n\n return $opportunity;\n }\n\n private function resolveAccountId(array $associations): ?int\n {\n if (! empty($associations['accountId'])) {\n return $associations['accountId'];\n }\n\n if (empty($associations)) {\n return null;\n }\n\n // we can't resolve multiple account ids (currently SDK returns one company)\n foreach ($associations['companies'] as $accountId) {\n return $accountId;\n }\n\n return null;\n }\n\n private function buildOpportunityData(\n array $properties,\n ?int $accountId,\n ?BusinessProcess $businessProcess,\n ?Stage $stage\n ): array {\n $ownerId = null;\n $profile = null;\n if (! empty($properties['hubspot_owner_id'])) {\n $ownerId = $properties['hubspot_owner_id'];\n $profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);\n }\n\n $name = 'Unknown';\n if (isset($properties['dealname'])) {\n $name = mb_strimwidth($properties['dealname'], 0, 128);\n }\n\n $amount = $this->resolveAmount($properties);\n $currency = $properties['deal_currency_code'] ?? null;\n\n $closeDate = null;\n if (! empty($properties['closedate'])) {\n $closeDate = Carbon::parse($properties['closedate'])->format('Y-m-d');\n }\n\n $remotelyCreatedAt = null;\n if (! empty($properties['createdate']) && strtotime($properties['createdate'])) {\n $date = $this->parseCleanDatetime($properties['createdate']);\n $remotelyCreatedAt = $date?->format('Y-m-d H:i:s');\n }\n\n $closedStages = $this->getClosedDealStages();\n $isWon = in_array($properties['dealstage'], $closedStages['won']);\n $isLost = in_array($properties['dealstage'], $closedStages['lost']);\n\n $data = [\n 'team_id' => $this->team->getId(),\n 'user_id' => $profile ? $profile->user_id : null,\n 'owner_id' => $ownerId,\n 'name' => $name,\n 'value' => ! empty($amount) ? $amount : null,\n 'currency_code' => CurrencyFormatter::formatCode($currency),\n 'close_date' => $closeDate,\n 'is_closed' => $isWon || $isLost,\n 'is_won' => $isWon,\n 'remotely_created_at' => $remotelyCreatedAt,\n 'probability' => $this->resolveDealProbability($properties['hs_deal_stage_probability']),\n 'forecast_category' => $this->resolveForecastCategory($properties['hs_manual_forecast_category']),\n ];\n\n if ($accountId) {\n $data['account_id'] = $accountId;\n }\n\n if ($stage) {\n $data['stage_id'] = $stage->id;\n }\n\n if ($businessProcess) {\n $recordType = $this->crmEntityRepository->getBusinessProcessRecordType($businessProcess);\n if ($recordType) {\n $data['record_type_id'] = $recordType->id;\n }\n }\n\n return $data;\n }\n\n private function resolveBusinessProcess(?string $pipelineId): ?BusinessProcess\n {\n if ($pipelineId === null) {\n return null;\n }\n\n if (isset($this->cachedBusinessProcesses[$pipelineId])) {\n return $this->cachedBusinessProcesses[$pipelineId];\n }\n\n $businessProcess = $this->getBusinessProcess($pipelineId);\n\n if (! $businessProcess instanceof BusinessProcess) {\n $this->importStages();\n $businessProcess = $this->getBusinessProcess($pipelineId);\n }\n\n if (! $businessProcess instanceof BusinessProcess) {\n $this->logger->info(\n '[HubSpot] Deal is not attached to a pipeline',\n [\n 'pipeline' => $pipelineId]\n );\n }\n\n $this->cachedBusinessProcesses[$pipelineId] = $businessProcess;\n\n return $businessProcess;\n }\n\n private function getBusinessProcess(string $pipelineId): ?BusinessProcess\n {\n return $this->crmEntityRepository->findBusinessProcessesByExternalId($this->config, $pipelineId);\n }\n\n private function resolveStage(BusinessProcess $businessProcess, ?string $stageId): ?Stage\n {\n if (empty($stageId)) {\n return null;\n }\n\n $cacheKey = $businessProcess->getId() . ':' . $stageId;\n if (isset($this->cachedStages[$cacheKey])) {\n return $this->cachedStages[$cacheKey];\n }\n\n $stage = $this->crmEntityRepository->getPipelineStageByConditions(\n $businessProcess,\n [\n 'crm_provider_id' => $stageId,\n 'type' => Stage::TYPE_OPPORTUNITY,\n ]\n );\n\n if ($stage === null) {\n $this->importStages(null, $stageId);\n }\n\n if ($stage === null) {\n $this->logger->info('[HubSpot] Stage does not exist => ' . $stageId);\n }\n\n $this->cachedStages[$cacheKey] = $stage;\n\n return $stage;\n }\n\n private function resolveAmount(array $properties): ?string\n {\n $amount = null;\n if (! empty($properties['amount'])) {\n $amount = str_replace(',', '', $properties['amount']);\n }\n\n if ($this->config->hasDefaultCurrencyFieldSet()) {\n $valueFieldName = $this->config->getDefaultCurrencyField()->getCrmProviderId();\n $amount = $properties[$valueFieldName] ?? $amount;\n }\n\n return $amount;\n }\n\n private function parseCleanDatetime(string $datetime): ?Carbon\n {\n // Treat pre-1980 values as invalid\n $minValidDate = Carbon::parse('1980-01-01 00:00:00');\n\n try {\n $date = Carbon::parse($datetime);\n\n if ($minValidDate->gt($date)) {\n return null;\n }\n\n return $date;\n } catch (Exception) {\n return null; // On parse error, treat as null\n }\n }\n\n private function resolveDealProbability(?string $stageProbability): int\n {\n if ($stageProbability === null) {\n return 0;\n }\n\n $probability = (float) $stageProbability;\n\n return $probability > 1 ? 0 : (int) ($probability * 100);\n }\n\n private function resolveForecastCategory(?string $forecastCategory): string\n {\n if (! $forecastCategory) {\n return Forecast::FORECAST_CATEGORY_UNCATEGORIZED;\n }\n\n $forecastCategory = str_replace('_', ' ', $forecastCategory);\n\n return ucwords(strtolower($forecastCategory));\n }\n\n private function importExternalFieldData(array $properties, int $opportunityId): void\n {\n $crmFields = $this->getOpportunitySyncableFields();\n $this->importOpportunityCrmFieldData($properties, $crmFields, $opportunityId);\n }\n\n private function importOpportunityContacts(Opportunity $opportunity, array $associations): void\n {\n // Handle empty or missing contact associations\n if (empty($associations)) {\n // Remove all existing contact associations if none provided\n $this->removeAllOpportunityContacts($opportunity);\n\n return;\n }\n\n // Use differential sync approach for better performance and accuracy\n $this->syncOpportunityContactsDifferential($opportunity, $associations);\n }\n\n /**\n * Sync opportunity contacts using differential approach\n * This compares current vs new associations and only makes necessary changes\n */\n private function syncOpportunityContactsDifferential(Opportunity $opportunity, array $contactAssociations): void\n {\n $currentContactCrmIds = $this->getCurrentContactCrmIds($opportunity);\n $contactAssociationIds = array_keys($contactAssociations);\n\n $contactsToAdd = array_diff($contactAssociationIds, $currentContactCrmIds);\n $contactsToRemove = array_diff($currentContactCrmIds, $contactAssociationIds);\n\n if (empty($contactsToAdd) && empty($contactsToRemove)) {\n return;\n }\n\n $this->logContactAssociationChanges($opportunity, $currentContactCrmIds, $contactAssociations, $contactsToAdd, $contactsToRemove);\n\n $this->removeContactAssociations($opportunity, $contactsToRemove);\n $this->addContactAssociations($opportunity, $contactsToAdd, $contactAssociations);\n }\n\n private function getCurrentContactCrmIds(Opportunity $opportunity): array\n {\n return $opportunity->contacts()\n ->pluck('contacts.crm_provider_id')\n ->toArray();\n }\n\n private function logContactAssociationChanges(\n Opportunity $opportunity,\n array $currentContactCrmIds,\n array $contactAssociations,\n array $contactsToAdd,\n array $contactsToRemove\n ): void {\n $this->logger->info('[' . $this->getDisplayName() . '] Contact association changes', [\n 'opportunity_id' => $opportunity->getId(),\n 'current_contacts' => $currentContactCrmIds,\n 'new_contacts' => $contactAssociations,\n 'contacts_to_add' => $contactsToAdd,\n 'contacts_to_remove' => $contactsToRemove,\n ]);\n }\n\n private function removeContactAssociations(Opportunity $opportunity, array $contactsToRemove): void\n {\n if (empty($contactsToRemove)) {\n return;\n }\n\n $contactsToDetach = $opportunity->contacts()\n ->whereIn('contacts.crm_provider_id', $contactsToRemove)\n ->pluck('contacts.id')\n ->toArray();\n\n if (! empty($contactsToDetach)) {\n $opportunity->contacts()->detach($contactsToDetach);\n\n $this->logger->info('[' . $this->getDisplayName() . '] Removed contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'removed_contact_crm_ids' => $contactsToRemove,\n 'removed_contact_count' => count($contactsToDetach),\n ]);\n }\n }\n\n private function addContactAssociations(Opportunity $opportunity, array $contactsToAdd, array $contactAssociations): void\n {\n if (empty($contactsToAdd)) {\n return;\n }\n\n $contactsAdded = [];\n foreach ($contactsToAdd as $crmId) {\n $id = $contactAssociations[$crmId];\n\n if ($this->attachSingleContact($opportunity, (string) $crmId, $id)) {\n $contactsAdded[] = $crmId;\n }\n }\n\n $this->logAddedContacts($opportunity, $contactsAdded);\n }\n\n private function attachSingleContact(Opportunity $opportunity, string $crmId, int $id): bool\n {\n try {\n $contact = $this->crmEntityRepository->findContactByConfigurationAndId($this->config, $id);\n\n if (! $contact) {\n return false;\n }\n\n return $this->performContactAttachment($opportunity, $contact, $crmId);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to add contact association', [\n 'opportunity_id' => $opportunity->getId(),\n 'contact_crm_id' => $crmId,\n 'error' => $e->getMessage(),\n ]);\n\n return false;\n }\n }\n\n private function performContactAttachment(Opportunity $opportunity, Contact $contact, string $crmId): bool\n {\n try {\n $opportunity->contacts()->attach($contact->getId(), [\n 'crm_provider_id' => $crmId,\n ]);\n\n return true;\n } catch (\\Illuminate\\Database\\QueryException $e) {\n if (str_contains($e->getMessage(), 'Duplicate entry')) {\n $this->logger->info('[' . $this->getDisplayName() . '] Contact association already exists', [\n 'contact_id' => $contact->getId(),\n 'contact_crm_id' => $crmId,\n 'opportunity_id' => $opportunity->getId(),\n ]);\n\n return false;\n }\n\n throw $e;\n }\n }\n\n private function logAddedContacts(Opportunity $opportunity, array $contactsAdded): void\n {\n if (! empty($contactsAdded)) {\n $this->logger->info('[' . $this->getDisplayName() . '] Added contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'contacts_to_add_count' => count($contactsAdded),\n 'added_contact_crm_ids' => $contactsAdded,\n 'added_contacts_count' => count($contactsAdded),\n ]);\n }\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Services\\Crm\\Hubspot\\ServiceTraits;\n\nuse Carbon\\Carbon;\nuse HubSpot\\Client\\Crm\\Deals\\Model\\CollectionResponseAssociatedId;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Models\\Account;\nuse Exception;\nuse Jiminny\\Component\\DealInsights\\Forecast\\Forecast;\nuse Jiminny\\Jobs\\Crm\\MatchActivitiesToNewOpportunity;\nuse Jiminny\\Models\\Contact;\nuse Jiminny\\Models\\Crm\\BusinessProcess;\nuse Jiminny\\Exceptions\\CrmException;\nuse Jiminny\\Models\\Opportunity;\nuse Illuminate\\Support\\Collection;\nuse Jiminny\\Models\\Stage;\nuse Jiminny\\Repositories\\Crm\\CrmEntityRepository;\nuse Jiminny\\Services\\Crm\\Hubspot\\DealFieldsService;\nuse Jiminny\\Services\\Crm\\Hubspot\\OpportunitySyncStrategy\\HubspotSingleSyncStrategy;\nuse Jiminny\\Services\\Crm\\Hubspot\\WebhookSyncBatchProcessor;\nuse Jiminny\\Services\\Crm\\OpportunitySyncStrategyResolver;\nuse Jiminny\\Utils\\CurrencyFormatter;\n\n/**\n * Optimized sync methods for better performance\n * These methods can be integrated into SyncCrmEntitiesTrait for significant performance gains\n */\ntrait OpportunitySyncTrait\n{\n private const int BATCH_SIZE = 100;\n private const int BATCH_PROCESS_SIZE = 800;\n\n protected OpportunitySyncStrategyResolver $opportunitySyncStrategyResolver;\n protected CrmEntityRepository $crmEntityRepository;\n protected DealFieldsService $dealFieldsService;\n\n private ?array $cachedClosedDealStages = null;\n private array $cachedBusinessProcesses = [];\n private array $cachedStages = [];\n\n public function syncOpportunities(array $parameters, ?string $strategy = null): int\n {\n $strategies = $this->opportunitySyncStrategyResolver->getStrategies($this->config, $strategy);\n $parameters['config'] = $this->config;\n $syncCount = 0;\n $reportedTotal = 0;\n $lastSyncedId = [];\n\n try {\n foreach ($strategies as $strategyName => $syncStrategy) {\n $this->logger->info(\n '[' . $this->getDisplayName() . '] Syncing opportunities using strategy: ' .\n $strategyName\n );\n\n $total = 0;\n $lastId = null;\n $buffer = [];\n\n // HubspotWebhookBatchSyncStrategy returns empty generator, this is for other strategies\n foreach ($syncStrategy->fetchOpportunities($parameters, $total, $lastId) as $hsOpportunity) {\n $buffer[] = $hsOpportunity;\n\n // process every 800 rows (fits < 1 000 association limit)\n if (\\count($buffer) >= self::BATCH_PROCESS_SIZE) {\n $syncCount += $this->processOpportunityBatch($buffer);\n $buffer = [];\n }\n }\n\n // leftovers\n if ($buffer) {\n $syncCount += $this->processOpportunityBatch($buffer);\n }\n\n $reportedTotal += $total;\n $lastSyncedId = $lastId;\n }\n } catch (\\HubSpot\\Client\\Crm\\Deals\\ApiException | CrmException $e) {\n $this->handleSyncException($e, $parameters);\n }\n\n $this->logger->info(\n '[HubSpot] Synced opportunities',\n [\n 'team' => $this->team->getId(),\n 'sync_count' => $syncCount,\n 'total' => $reportedTotal,\n 'last_synced_id' => $lastSyncedId,\n ]\n );\n\n return $reportedTotal;\n }\n\n private function handleSyncException(\\Throwable $e, array $parameters): void\n {\n if (($parameters['since'] ?? null) instanceof Carbon) {\n $parameters['since'] = $parameters['since']->toDateTimeString();\n }\n $parameters['config'] = $this->config->getId();\n\n $this->logger->warning('[' . $this->getDisplayName() . '] Sync opportunities failed', [\n 'teamId' => $this->team->getUuid(),\n 'parameters' => $parameters,\n 'reason' => $e->getMessage(),\n ]);\n }\n\n /**\n * @inheritdoc\n */\n public function syncOpportunity(string $crmId): ?Opportunity\n {\n $strategy = $this->opportunitySyncStrategyResolver->resolve(\n $this->config,\n OpportunitySyncStrategyResolver::SINGLE_SYNC_OPPORTUNITY_STRATEGY,\n );\n\n $parameters = [\n 'config' => $this->config,\n 'crm_id' => $crmId,\n ];\n\n try {\n if (! $strategy instanceof HubspotSingleSyncStrategy) {\n throw new InvalidArgumentException('Strategy must by HubspotSingleSyncStrategy');\n }\n\n $hsOpportunity = $strategy->fetchOpportunity($parameters);\n } catch (\\HubSpot\\Client\\Crm\\Deals\\ApiException $e) {\n $this->logger->info('[' . $this->getDisplayName() . '] Opportunity not found', [\n 'teamId' => $this->team->getUuid(),\n 'crmId' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n return null;\n }\n\n $hsOpportunity['associations'] = $this->convertDealAssociations($hsOpportunity['associations'] ?? []);\n\n return $this->importOrUpdateOpportunity($hsOpportunity);\n }\n\n /**\n * Process webhook-collected opportunity batches.\n *\n * Drains Redis sets containing company CRM IDs collected from webhook events\n * and dispatches ImportOpportunityBatch jobs for batch processing.\n *\n * @return int Number of opportunity IDs dispatched to jobs\n */\n public function batchSyncOpportunities(): int\n {\n $configId = $this->team->getCrmConfiguration()->getId();\n\n return $this->batchProcessor->processBatchesForObjectType(\n WebhookSyncBatchProcessor::OBJECT_TYPE_DEAL,\n $configId\n );\n }\n\n /**\n * Import a batch of opportunities by their CRM IDs.\n * Fetches opportunity data from HubSpot API and delegates to importOpportunityBatch().\n *\n * @param array<string> $crmIds HubSpot deal CRM IDs\n *\n * @return array{success: array, failed_ids: array, errors?: array<string, string>}\n */\n public function importOpportunityBatchByIds(array $crmIds): array\n {\n $fields = $this->dealFieldsService->getFieldsForConfiguration($this->config);\n\n $allDeals = [];\n foreach (array_chunk($crmIds, self::BATCH_SIZE) as $chunk) {\n $deals = $this->client->getOpportunitiesByIds($chunk, $fields);\n foreach ($deals as $deal) {\n $allDeals[] = $deal;\n }\n }\n\n // IDs not returned by HubSpot are likely deleted or inaccessible deals.\n // These are not failures — retrying won't bring them back.\n $fetchedIds = array_map('strval', array_column($allDeals, 'id'));\n $notFoundIds = array_values(array_diff(array_map('strval', $crmIds), $fetchedIds));\n\n if (! empty($notFoundIds)) {\n $this->logger->info('[' . $this->getDisplayName() . '] CRM IDs not found in HubSpot (likely deleted)', [\n 'teamId' => $this->team->getId(),\n 'notFoundCount' => \\count($notFoundIds),\n 'notFoundIds' => $notFoundIds,\n 'requestedCount' => \\count($crmIds),\n 'fetchedCount' => \\count($allDeals),\n ]);\n }\n\n if (empty($allDeals)) {\n return ['success' => [], 'failed_ids' => []];\n }\n\n return $this->importOpportunityBatch($allDeals);\n }\n\n private function getClosedDealStages(): array\n {\n if ($this->cachedClosedDealStages !== null) {\n return $this->cachedClosedDealStages;\n }\n\n $stages = $this->crmEntityRepository->getOpportunityClosedStages($this->config);\n $data = [\n 'lost' => [],\n 'won' => [],\n ];\n\n foreach ($stages as $stage) {\n if ($stage->probability == 0.00) {\n $data['lost'][] = $stage->crm_provider_id;\n }\n if ($stage->probability == 100.00) {\n $data['won'][] = $stage->crm_provider_id;\n }\n }\n\n $this->cachedClosedDealStages = $data;\n\n return $data;\n }\n\n /**\n * Import deals into the database with pre-fetched associations.\n *\n * API calls here (getAssociationsData, getExistingOpportunityCrmIds) are NOT\n * caught — if they throw, the exception propagates to ImportOpportunityBatch::handle()\n * where Laravel retries the whole job with backoff. After all retries exhausted,\n * failed() requeues all IDs to Redis.\n *\n * The per-deal loop catches exceptions individually. A deal can end up in three states:\n * - success: imported/updated successfully\n * - failed_ids: exception thrown (DB constraint violation, corrupt data, etc.)\n * These are permanent issues — retrying won't fix them.\n * - skipped (null): missing dependencies (no account, unknown pipeline/stage).\n * This is acceptable — the deal cannot be imported until those exist.\n */\n private function importOpportunityBatch(array $deals): array\n {\n $syncedOpportunities = [\n 'success' => [],\n 'failed_ids' => [],\n ];\n $dealIds = array_column($deals, 'id');\n\n // Shared association/existing-ID preparation is batch-level state. If it fails, rethrow so the\n // queue job retries the whole batch and eventually requeues all deal IDs back to Redis.\n try {\n $companyAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'companies');\n $contactAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'contacts');\n\n $associationsData = $this->prepareAssociatedEntities($companyAssociations, $contactAssociations);\n\n $existingCrmIds = $this->crmEntityRepository->getExistingOpportunityCrmIds(\n $this->config,\n array_map('strval', $dealIds)\n );\n $existingCrmIdSet = array_flip($existingCrmIds);\n } catch (\\Throwable $e) {\n $this->logger->error('[' . $this->getDisplayName() . '] Failed to fetch associations or existing IDs', [\n 'teamId' => $this->team->getId(),\n 'dealCount' => count($dealIds),\n 'error' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n foreach ($deals as $deal) {\n try {\n $deal['associations'] = $this->prepareAssociationsForOpportunity(\n $deal['id'],\n $companyAssociations,\n $contactAssociations,\n $associationsData\n );\n\n $syncedOpportunity = $this->importOrUpdateOpportunity(\n $deal,\n isset($existingCrmIdSet[(string) $deal['id']])\n );\n if ($syncedOpportunity) {\n $syncedOpportunities['success'][] = $syncedOpportunity;\n }\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to import opportunity', [\n 'teamId' => $this->team->getId(),\n 'crmId' => $deal['id'],\n 'error' => $e->getMessage(),\n ]);\n $syncedOpportunities['failed_ids'][] = $deal['id'];\n $syncedOpportunities['errors'][$deal['id']] = $e->getMessage();\n }\n }\n\n return $syncedOpportunities;\n }\n\n /**\n * Prepare associated entities for opportunities with optimized batch processing\n * Returns structured data with CRM ID to DB ID mappings for each opportunity\n */\n private function prepareAssociatedEntities(array $companyAssociations, array $contactAssociations): array\n {\n // Step 1: Collect all unique company and contact IDs from associations\n $allCompanyIds = $this->flattenAssociationIds($companyAssociations);\n $allContactIds = $this->flattenAssociationIds($contactAssociations);\n\n // Step 2: Batch sync missing entities and get CRM ID to DB ID mappings\n $companyIdMappings = [];\n $contactIdMappings = [];\n\n if (! empty($allCompanyIds)) {\n $companyIdMappings = $this->prepareAssociatedAccounts($allCompanyIds);\n }\n\n if (! empty($allContactIds)) {\n $contactIdMappings = $this->prepareAssociatedContacts($allContactIds);\n }\n\n return [\n 'company_id_mappings' => $companyIdMappings,\n 'contact_id_mappings' => $contactIdMappings,\n ];\n }\n\n /**\n * Flatten association data to get unique IDs\n */\n private function flattenAssociationIds(array $associations): array\n {\n $ids = [];\n foreach ($associations as $dealAssociations) {\n if (is_array($dealAssociations)) {\n foreach ($dealAssociations as $id) {\n $ids[$id] = true;\n }\n }\n }\n\n return array_keys($ids);\n }\n\n /**\n * Batch sync missing accounts\n */\n private function prepareAssociatedAccounts(array $companyIds): array\n {\n // Find which accounts already exist\n $existingAccounts = $this->crmEntityRepository\n ->findAccountsByExternalIds($this->config, $companyIds);\n\n $existingCompanyIds = $existingAccounts->pluck('crm_provider_id')->toArray();\n\n $existingAccountsData = $existingAccounts->mapWithKeys(function ($account) {\n return [$account->getCrmProviderId() => $account->getId()];\n })->toArray();\n\n $missingCompanyIds = array_diff($companyIds, $existingCompanyIds);\n\n if (empty($missingCompanyIds)) {\n return $existingAccountsData;\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing accounts', [\n 'teamId' => $this->team->getUuid(),\n 'total_companies' => count($companyIds),\n 'existing_companies' => count($existingCompanyIds),\n 'missing_companies' => count($missingCompanyIds),\n ]);\n\n // we already have limit on opportunity ids count\n // Initialize variable before try block\n $syncedAccountsData = [];\n\n try {\n $syncedAccountsData = $this->batchSyncCrmObjects('companies', $missingCompanyIds);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing accounts', [\n 'size' => count($missingCompanyIds),\n 'error' => $e->getMessage(),\n ]);\n $syncedAccountsData = [];\n }\n\n return $existingAccountsData + $syncedAccountsData;\n }\n\n /**\n * Prepare associated contacts - find existing and sync missing ones\n * Returns mapping of CRM ID to DB ID\n */\n private function prepareAssociatedContacts(array $contactIds): array\n {\n // Find which contacts already exist\n $existingContacts = $this->crmEntityRepository\n ->findContactsByExternalIds($this->config, $contactIds);\n\n $existingContactIds = $existingContacts->pluck('crm_provider_id')->toArray();\n\n // Create mapping for existing contacts\n $existingContactsData = $existingContacts->mapWithKeys(function ($contact) {\n return [$contact->getCrmProviderId() => $contact->getId()];\n })->toArray();\n\n $missingContactIds = array_diff($contactIds, $existingContactIds);\n\n if (empty($missingContactIds)) {\n return $existingContactsData;\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing contacts', [\n 'teamId' => $this->team->getUuid(),\n 'total_contacts' => count($contactIds),\n 'existing_contacts' => count($existingContactIds),\n 'missing_contacts' => count($missingContactIds),\n ]);\n\n // Sync missing contacts using batch API\n try {\n $syncedContactsData = $this->batchSyncCrmObjects('contacts', $missingContactIds);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing contacts', [\n 'size' => count($missingContactIds),\n 'error' => $e->getMessage(),\n ]);\n $syncedContactsData = [];\n }\n\n return $existingContactsData + $syncedContactsData;\n }\n\n private function batchSyncCrmObjects(string $objectType, array $crmIds): array\n {\n $syncObjects = [];\n $crmObjectIds = array_values($crmIds);\n\n foreach (array_chunk($crmObjectIds, self::BATCH_SIZE) as $chunk) {\n try {\n $objects = $objectType === 'companies' ?\n $this->client->getCompaniesByIds($chunk, $this->getCompanyFields()) :\n $this->client->getContactsByIds($chunk, $this->getContactFields());\n\n foreach ($objects as $objectId => $objectData) {\n $this->importCrmObject($objectType, (string) $objectId, $objectData, $syncObjects);\n }\n\n $this->logger->info('[' . $this->getDisplayName() . '] Batch synced ' . $objectType, [\n 'requested_count' => count($chunk),\n 'synced_count' => count($objects),\n ]);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Batch ' . $objectType . ' sync failed', [\n 'ids' => $chunk,\n 'error' => $e->getMessage(),\n ]);\n }\n }\n\n return $syncObjects;\n }\n\n private function importCrmObject(string $objectType, string $objectId, mixed $objectData, array &$syncObjects): void\n {\n try {\n $object = $objectType === 'companies' ?\n $this->importAccount($objectData) :\n $this->importContact($objectData);\n\n if ($object) {\n $syncObjects[$object->getCrmProviderId()] = $object->getId();\n }\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to import batch ' . $objectType, [\n 'id' => $objectId,\n 'error' => $e->getMessage(),\n ]);\n }\n }\n\n /**\n * Prepare associations for a single opportunity\n *\n * The return value is an array with the following structure:\n * [\n * 'companies' => [\n * $companyCrmId => $companyId,\n * ...\n * ],\n * 'contacts' => [\n * $contactCrmId => $contactId,\n * ...\n * ],\n * 'account_id' => $accountId,\n * ]\n */\n private function prepareAssociationsForOpportunity(\n string $oppCrmId,\n array $companyAssociations,\n array $contactAssociations,\n array $associationsData\n ): array {\n $associations = [\n 'companies' => [],\n 'contacts' => [],\n 'account_id' => null, // Primary account for opportunity\n ];\n\n $oppCompanyIds = $companyAssociations[$oppCrmId] ?? [];\n foreach ($oppCompanyIds as $companyCrmId) {\n if (isset($associationsData['company_id_mappings'][$companyCrmId])) {\n $associations['companies'][$companyCrmId] = $associationsData['company_id_mappings'][$companyCrmId];\n\n // Set primary account (first company becomes primary account)\n if ($associations['account_id'] === null) {\n $associations['account_id'] = $associationsData['company_id_mappings'][$companyCrmId];\n }\n }\n }\n\n $oppContactIds = $contactAssociations[$oppCrmId] ?? [];\n foreach ($oppContactIds as $contactCrmId) {\n if (isset($associationsData['contact_id_mappings'][$contactCrmId])) {\n $associations['contacts'][$contactCrmId] = $associationsData['contact_id_mappings'][$contactCrmId];\n }\n }\n\n return $associations;\n }\n\n /**\n * Update only associations for an opportunity\n */\n private function updateOpportunityAssociations(Opportunity $opportunity, array $associations): void\n {\n // Update contact associations\n $this->importOpportunityContacts($opportunity, $associations['contacts']);\n\n // Update company (account) associations\n $this->updateOpportunityAccount($opportunity, $associations['account_id']);\n }\n\n /**\n * Remove all contact associations from an opportunity\n */\n private function removeAllOpportunityContacts(Opportunity $opportunity): void\n {\n $currentCount = (int) $opportunity->contacts()->count();\n\n if ($currentCount > 0) {\n $opportunity->contacts()->detach();\n\n $this->logger->info('[' . $this->getDisplayName() . '] Removed all contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'removed_count' => $currentCount,\n ]);\n }\n }\n\n private function updateOpportunityAccount(Opportunity $opportunity, ?int $accountId): void\n {\n if ($accountId === null) {\n // No account ID provided - keep current account\n return;\n }\n\n $currentAccountId = $opportunity->getAccountId();\n\n // Only update if account has changed\n if ($currentAccountId !== $accountId) {\n $opportunity->account_id = $accountId;\n $opportunity->save();\n\n $this->logger->info('[' . $this->getDisplayName() . '] Updated opportunity account association', [\n 'opportunity_id' => $opportunity->getId(),\n 'old_account_id' => $currentAccountId,\n 'new_account_id' => $accountId,\n ]);\n }\n }\n\n /**\n * Find existing opportunities by external IDs (OPTIMIZED VERSION)\n * Uses batch query for better performance\n */\n private function findExistingOpportunities(array $crmIds): Collection\n {\n return $this->crmEntityRepository\n ->findOpportunitiesByExternalIds($this->config, $crmIds);\n }\n\n private function processOpportunityBatch(array $opportunities): int\n {\n $syncedOpportunities = $this->importOpportunityBatch($opportunities);\n\n return count($syncedOpportunities['success'] ?? []);\n }\n\n /**\n * Convert single deal associations from HubSpot format to internal format\n * Handles both HubSpot SDK objects and array formats\n *\n * @param array $opportunityAssociations Raw associations from HubSpot API or pre-processed\n *\n * @return array Processed associations with DB IDs\n */\n private function convertDealAssociations(array $opportunityAssociations): array\n {\n $associations = $this->initializeAssociationsStructure();\n\n if (empty($opportunityAssociations)) {\n return $associations;\n }\n\n $associationIds = $this->extractAssociationIds($opportunityAssociations);\n\n $this->processCompanyAssociations($associationIds, $associations);\n $this->processContactAssociations($associationIds, $associations);\n\n return $associations;\n }\n\n private function initializeAssociationsStructure(): array\n {\n return [\n 'companies' => [],\n 'contacts' => [],\n 'account_id' => null, // Primary account for opportunity\n ];\n }\n\n private function extractAssociationIds(array $opportunityAssociations): array\n {\n $associationIds = [];\n\n foreach ($opportunityAssociations as $type => $associationData) {\n if (! empty($associationData)) {\n $associationIds[$type] = $this->convertSingleDealAssociations($associationData);\n }\n }\n\n return $associationIds;\n }\n\n private function processCompanyAssociations(array $associationIds, array &$associations): void\n {\n if (empty($associationIds['companies'])) {\n return;\n }\n\n $companyId = $associationIds['companies'][0];\n $account = $this->findOrSyncAccount($companyId);\n\n if ($account instanceof Account) {\n $associations['companies'][$companyId] = $account->getId();\n $associations['account_id'] = $account->getId();\n }\n }\n\n private function processContactAssociations(array $associationIds, array &$associations): void\n {\n if (empty($associationIds['contacts'])) {\n return;\n }\n\n foreach ($associationIds['contacts'] as $contactId) {\n $contact = $this->findOrSyncContact($contactId);\n\n if ($contact instanceof Contact) {\n $associations['contacts'][$contactId] = $contact->getId();\n }\n }\n }\n\n private function findOrSyncAccount(string $companyId): ?Account\n {\n $account = $this->crmEntityRepository->findAccountByExternalId($this->config, $companyId);\n\n if (! $account instanceof Account) {\n $account = $this->syncAccount($companyId);\n }\n\n return $account;\n }\n\n private function findOrSyncContact(string $contactId): ?Contact\n {\n $contact = $this->crmEntityRepository->findContactByExternalId($this->config, $contactId);\n\n if (! $contact instanceof Contact) {\n $contact = $this->syncContact($contactId);\n }\n\n return $contact;\n }\n\n private function convertSingleDealAssociations($opportunityAssociations = null): array\n {\n $associationData = [];\n\n if ($opportunityAssociations === null) {\n return $associationData;\n }\n\n // Handle array input (from extractAssociationIds)\n if (is_array($opportunityAssociations)) {\n return $opportunityAssociations;\n }\n\n // Handle CollectionResponseAssociatedId object\n if ($opportunityAssociations instanceof CollectionResponseAssociatedId) {\n foreach ($opportunityAssociations->getResults() as $association) {\n $associationData[] = $association->getId();\n }\n }\n\n return $associationData;\n }\n\n private function importOrUpdateOpportunity($crmData, ?bool $exists = null): ?Opportunity\n {\n if (empty($crmData['properties'])) {\n return null;\n }\n\n $crmId = (string) $crmData['id'];\n $properties = $crmData['properties'];\n $associations = $crmData['associations'] ?? [];\n\n $opportunityExists = $exists ?? (bool) $this->crmEntityRepository->findOpportunityByExternalId(\n $this->config,\n $crmId\n );\n\n if ($opportunityExists) {\n return $this->updateOpportunity($crmId, $properties, $associations);\n } else {\n return $this->createOpportunity($crmId, $properties, $associations);\n }\n }\n\n /**\n * Create new opportunity\n */\n private function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity\n {\n $accountId = $this->resolveAccountId($associations);\n if (! $accountId) {\n return null;\n }\n\n $businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);\n if (! $businessProcess) {\n return null;\n }\n\n $stage = $this->resolveStage($businessProcess, $properties['dealstage'] ?? null);\n if (! $stage) {\n return null;\n }\n\n $data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);\n\n $attributes = [\n 'crm_configuration_id' => $this->config->getId(),\n 'crm_provider_id' => $crmId,\n ];\n\n $values = array_merge($attributes, $data);\n\n $opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);\n\n $this->importExternalFieldData($properties, $opportunity->getId());\n $this->importOpportunityContacts($opportunity, $associations['contacts']);\n\n if ($opportunity->wasRecentlyCreated) {\n MatchActivitiesToNewOpportunity::dispatch($opportunity->getId());\n }\n\n return $opportunity;\n }\n\n /**\n * Update existing opportunity\n */\n private function updateOpportunity(string $crmId, array $properties, array $associations): Opportunity\n {\n $accountId = $this->resolveAccountId($associations);\n $businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);\n $stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;\n\n $data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);\n\n $attributes = [\n 'crm_configuration_id' => $this->config->getId(),\n 'crm_provider_id' => $crmId,\n ];\n\n $values = array_merge($attributes, $data);\n $opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);\n\n $this->importExternalFieldData($properties, $opportunity->getId());\n $this->updateOpportunityAssociations($opportunity, $associations);\n\n return $opportunity;\n }\n\n private function resolveAccountId(array $associations): ?int\n {\n if (! empty($associations['accountId'])) {\n return $associations['accountId'];\n }\n\n if (empty($associations)) {\n return null;\n }\n\n // we can't resolve multiple account ids (currently SDK returns one company)\n foreach ($associations['companies'] as $accountId) {\n return $accountId;\n }\n\n return null;\n }\n\n private function buildOpportunityData(\n array $properties,\n ?int $accountId,\n ?BusinessProcess $businessProcess,\n ?Stage $stage\n ): array {\n $ownerId = null;\n $profile = null;\n if (! empty($properties['hubspot_owner_id'])) {\n $ownerId = $properties['hubspot_owner_id'];\n $profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);\n }\n\n $name = 'Unknown';\n if (isset($properties['dealname'])) {\n $name = mb_strimwidth($properties['dealname'], 0, 128);\n }\n\n $amount = $this->resolveAmount($properties);\n $currency = $properties['deal_currency_code'] ?? null;\n\n $closeDate = null;\n if (! empty($properties['closedate'])) {\n $closeDate = Carbon::parse($properties['closedate'])->format('Y-m-d');\n }\n\n $remotelyCreatedAt = null;\n if (! empty($properties['createdate']) && strtotime($properties['createdate'])) {\n $date = $this->parseCleanDatetime($properties['createdate']);\n $remotelyCreatedAt = $date?->format('Y-m-d H:i:s');\n }\n\n $closedStages = $this->getClosedDealStages();\n $isWon = in_array($properties['dealstage'], $closedStages['won']);\n $isLost = in_array($properties['dealstage'], $closedStages['lost']);\n\n $data = [\n 'team_id' => $this->team->getId(),\n 'user_id' => $profile ? $profile->user_id : null,\n 'owner_id' => $ownerId,\n 'name' => $name,\n 'value' => ! empty($amount) ? $amount : null,\n 'currency_code' => CurrencyFormatter::formatCode($currency),\n 'close_date' => $closeDate,\n 'is_closed' => $isWon || $isLost,\n 'is_won' => $isWon,\n 'remotely_created_at' => $remotelyCreatedAt,\n 'probability' => $this->resolveDealProbability($properties['hs_deal_stage_probability']),\n 'forecast_category' => $this->resolveForecastCategory($properties['hs_manual_forecast_category']),\n ];\n\n if ($accountId) {\n $data['account_id'] = $accountId;\n }\n\n if ($stage) {\n $data['stage_id'] = $stage->id;\n }\n\n if ($businessProcess) {\n $recordType = $this->crmEntityRepository->getBusinessProcessRecordType($businessProcess);\n if ($recordType) {\n $data['record_type_id'] = $recordType->id;\n }\n }\n\n return $data;\n }\n\n private function resolveBusinessProcess(?string $pipelineId): ?BusinessProcess\n {\n if ($pipelineId === null) {\n return null;\n }\n\n if (isset($this->cachedBusinessProcesses[$pipelineId])) {\n return $this->cachedBusinessProcesses[$pipelineId];\n }\n\n $businessProcess = $this->getBusinessProcess($pipelineId);\n\n if (! $businessProcess instanceof BusinessProcess) {\n $this->importStages();\n $businessProcess = $this->getBusinessProcess($pipelineId);\n }\n\n if (! $businessProcess instanceof BusinessProcess) {\n $this->logger->info(\n '[HubSpot] Deal is not attached to a pipeline',\n [\n 'pipeline' => $pipelineId]\n );\n }\n\n $this->cachedBusinessProcesses[$pipelineId] = $businessProcess;\n\n return $businessProcess;\n }\n\n private function getBusinessProcess(string $pipelineId): ?BusinessProcess\n {\n return $this->crmEntityRepository->findBusinessProcessesByExternalId($this->config, $pipelineId);\n }\n\n private function resolveStage(BusinessProcess $businessProcess, ?string $stageId): ?Stage\n {\n if (empty($stageId)) {\n return null;\n }\n\n $cacheKey = $businessProcess->getId() . ':' . $stageId;\n if (isset($this->cachedStages[$cacheKey])) {\n return $this->cachedStages[$cacheKey];\n }\n\n $stage = $this->crmEntityRepository->getPipelineStageByConditions(\n $businessProcess,\n [\n 'crm_provider_id' => $stageId,\n 'type' => Stage::TYPE_OPPORTUNITY,\n ]\n );\n\n if ($stage === null) {\n $this->importStages(null, $stageId);\n }\n\n if ($stage === null) {\n $this->logger->info('[HubSpot] Stage does not exist => ' . $stageId);\n }\n\n $this->cachedStages[$cacheKey] = $stage;\n\n return $stage;\n }\n\n private function resolveAmount(array $properties): ?string\n {\n $amount = null;\n if (! empty($properties['amount'])) {\n $amount = str_replace(',', '', $properties['amount']);\n }\n\n if ($this->config->hasDefaultCurrencyFieldSet()) {\n $valueFieldName = $this->config->getDefaultCurrencyField()->getCrmProviderId();\n $amount = $properties[$valueFieldName] ?? $amount;\n }\n\n return $amount;\n }\n\n private function parseCleanDatetime(string $datetime): ?Carbon\n {\n // Treat pre-1980 values as invalid\n $minValidDate = Carbon::parse('1980-01-01 00:00:00');\n\n try {\n $date = Carbon::parse($datetime);\n\n if ($minValidDate->gt($date)) {\n return null;\n }\n\n return $date;\n } catch (Exception) {\n return null; // On parse error, treat as null\n }\n }\n\n private function resolveDealProbability(?string $stageProbability): int\n {\n if ($stageProbability === null) {\n return 0;\n }\n\n $probability = (float) $stageProbability;\n\n return $probability > 1 ? 0 : (int) ($probability * 100);\n }\n\n private function resolveForecastCategory(?string $forecastCategory): string\n {\n if (! $forecastCategory) {\n return Forecast::FORECAST_CATEGORY_UNCATEGORIZED;\n }\n\n $forecastCategory = str_replace('_', ' ', $forecastCategory);\n\n return ucwords(strtolower($forecastCategory));\n }\n\n private function importExternalFieldData(array $properties, int $opportunityId): void\n {\n $crmFields = $this->getOpportunitySyncableFields();\n $this->importOpportunityCrmFieldData($properties, $crmFields, $opportunityId);\n }\n\n private function importOpportunityContacts(Opportunity $opportunity, array $associations): void\n {\n // Handle empty or missing contact associations\n if (empty($associations)) {\n // Remove all existing contact associations if none provided\n $this->removeAllOpportunityContacts($opportunity);\n\n return;\n }\n\n // Use differential sync approach for better performance and accuracy\n $this->syncOpportunityContactsDifferential($opportunity, $associations);\n }\n\n /**\n * Sync opportunity contacts using differential approach\n * This compares current vs new associations and only makes necessary changes\n */\n private function syncOpportunityContactsDifferential(Opportunity $opportunity, array $contactAssociations): void\n {\n $currentContactCrmIds = $this->getCurrentContactCrmIds($opportunity);\n $contactAssociationIds = array_keys($contactAssociations);\n\n $contactsToAdd = array_diff($contactAssociationIds, $currentContactCrmIds);\n $contactsToRemove = array_diff($currentContactCrmIds, $contactAssociationIds);\n\n if (empty($contactsToAdd) && empty($contactsToRemove)) {\n return;\n }\n\n $this->logContactAssociationChanges($opportunity, $currentContactCrmIds, $contactAssociations, $contactsToAdd, $contactsToRemove);\n\n $this->removeContactAssociations($opportunity, $contactsToRemove);\n $this->addContactAssociations($opportunity, $contactsToAdd, $contactAssociations);\n }\n\n private function getCurrentContactCrmIds(Opportunity $opportunity): array\n {\n return $opportunity->contacts()\n ->pluck('contacts.crm_provider_id')\n ->toArray();\n }\n\n private function logContactAssociationChanges(\n Opportunity $opportunity,\n array $currentContactCrmIds,\n array $contactAssociations,\n array $contactsToAdd,\n array $contactsToRemove\n ): void {\n $this->logger->info('[' . $this->getDisplayName() . '] Contact association changes', [\n 'opportunity_id' => $opportunity->getId(),\n 'current_contacts' => $currentContactCrmIds,\n 'new_contacts' => $contactAssociations,\n 'contacts_to_add' => $contactsToAdd,\n 'contacts_to_remove' => $contactsToRemove,\n ]);\n }\n\n private function removeContactAssociations(Opportunity $opportunity, array $contactsToRemove): void\n {\n if (empty($contactsToRemove)) {\n return;\n }\n\n $contactsToDetach = $opportunity->contacts()\n ->whereIn('contacts.crm_provider_id', $contactsToRemove)\n ->pluck('contacts.id')\n ->toArray();\n\n if (! empty($contactsToDetach)) {\n $opportunity->contacts()->detach($contactsToDetach);\n\n $this->logger->info('[' . $this->getDisplayName() . '] Removed contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'removed_contact_crm_ids' => $contactsToRemove,\n 'removed_contact_count' => count($contactsToDetach),\n ]);\n }\n }\n\n private function addContactAssociations(Opportunity $opportunity, array $contactsToAdd, array $contactAssociations): void\n {\n if (empty($contactsToAdd)) {\n return;\n }\n\n $contactsAdded = [];\n foreach ($contactsToAdd as $crmId) {\n $id = $contactAssociations[$crmId];\n\n if ($this->attachSingleContact($opportunity, (string) $crmId, $id)) {\n $contactsAdded[] = $crmId;\n }\n }\n\n $this->logAddedContacts($opportunity, $contactsAdded);\n }\n\n private function attachSingleContact(Opportunity $opportunity, string $crmId, int $id): bool\n {\n try {\n $contact = $this->crmEntityRepository->findContactByConfigurationAndId($this->config, $id);\n\n if (! $contact) {\n return false;\n }\n\n return $this->performContactAttachment($opportunity, $contact, $crmId);\n } catch (\\Throwable $e) {\n $this->logger->warning('[' . $this->getDisplayName() . '] Failed to add contact association', [\n 'opportunity_id' => $opportunity->getId(),\n 'contact_crm_id' => $crmId,\n 'error' => $e->getMessage(),\n ]);\n\n return false;\n }\n }\n\n private function performContactAttachment(Opportunity $opportunity, Contact $contact, string $crmId): bool\n {\n try {\n $opportunity->contacts()->attach($contact->getId(), [\n 'crm_provider_id' => $crmId,\n ]);\n\n return true;\n } catch (\\Illuminate\\Database\\QueryException $e) {\n if (str_contains($e->getMessage(), 'Duplicate entry')) {\n $this->logger->info('[' . $this->getDisplayName() . '] Contact association already exists', [\n 'contact_id' => $contact->getId(),\n 'contact_crm_id' => $crmId,\n 'opportunity_id' => $opportunity->getId(),\n ]);\n\n return false;\n }\n\n throw $e;\n }\n }\n\n private function logAddedContacts(Opportunity $opportunity, array $contactsAdded): void\n {\n if (! empty($contactsAdded)) {\n $this->logger->info('[' . $this->getDisplayName() . '] Added contact associations', [\n 'opportunity_id' => $opportunity->getId(),\n 'contacts_to_add_count' => count($contactsAdded),\n 'added_contact_crm_ids' => $contactsAdded,\n 'added_contacts_count' => count($contactsAdded),\n ]);\n }\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"26","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"9","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"21","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"102","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM team_features where team_id = 1;\n\nSELECT * FROM teams WHERE name LIKE '%Vixio%'; # 340,270,11922\nSELECT * FROM users WHERE team_id = 340; # 12015\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 340\nand sa.provider = 'salesforce';\n# and sa.provider = 'salesloft';\n\nselect * from crm_fields where crm_configuration_id = 270 and object_type = 'event';\n# 125558 - Event Type - Event_Type__c\n# 125552 - Event Status - Event_Status__c\n\nSELECT * FROM sidekick_settings WHERE team_id = 340;\n\nSELECT * FROM crm_field_values WHERE crm_field_id in (125552);\n\nselect * from activities where crm_configuration_id = 270\nand type = 'conference' and crm_provider_id IS NOT NULL\nand actual_start_time > '2024-09-16 09:00:00' order by scheduled_start_time;\n\nSELECT * FROM activities WHERE id = 20871677;\nSELECT * FROM crm_field_data WHERE activity_id = 20871677;\n\nselect * from crm_layouts where crm_configuration_id = 270;\nselect * from crm_layout_entities where crm_layout_id in (886,887);\n\nSELECT * FROM crm_configurations WHERE id = 270;\n\nselect * from playbooks where team_id = 340; # 1514\nselect * from groups where team_id = 340;\nSELECT * FROM crm_fields WHERE id IN (125393, 125401);\n\nselect g.name as 'team name', p.name as 'playbook name', f.label as 'activity type field' from groups g\njoin playbooks p on g.playbook_id = p.id\njoin crm_fields f on p.activity_field_id = f.id\nwhere g.team_id = 340;\n\nSELECT * FROM activities WHERE uuid_to_bin('0c180357-67d2-419e-a8c3-b832a3490770') = uuid; # 20448716\nselect * from crm_field_data where object_id = 20448716;\n\nselect * from activities where crm_configuration_id = 270 and provider = 'salesloft' order by id desc;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%CybSafe%'; # 343,273,12008\nselect * from opportunities where team_id = 343;\nselect * from opportunities where team_id = 343 and crm_provider_id = '18099102526';\nselect * from opportunities where team_id = 343 and account_id = 945217482;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nselect * from accounts where team_id = 343 order by name asc;\n\nselect * from stages where crm_configuration_id = 273 and type = 'opportunity';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Voyado%'; # 353,283,12143\nSELECT * FROM activities WHERE crm_configuration_id = 283 and account_id = 3777844 order by id desc;\nSELECT * FROM accounts WHERE team_id = 353 AND name LIKE '%Salesloft%';\nSELECT * FROM activities WHERE id = 20717903;\n\nselect * from participants where activity_id IN (20929172,20928605,20928468,20926272,20926271,20926270,20926269,20916499,20916454,20916436,20916435,20900015,20900014,20900013,20897312,20897243,20897241,20897237,20897232,20897229,20893648,20893231,20893230,20893229,20893228,20889784,20885039,20885038,20885037,20885036,20885035,20882728,20882708,20882703,20882702,20869828,20869811,20869806,20869801,20869799,20869798,20869796,20869795,20869794,20869761,20869760,20869759,20868688,20868687,20850340,20847195,20841710,20833967,20827021,20825307,20825305,20825297,20824615,20824400,20823927,20821760,20795588,20794233,20794057,20793710,20785811,20781789,20781394,20781307,20762651,20758453,20758282,20757323,20756643,20756636,20756629,20756627,20756606,20756605,20756604,20756603,20756602,20756600,20756599,20756598,20756595,20756594,20756589,20756587,20756577,20756573,20748918,20748386,20748385,20748384,20748383,20748382,20748381,20748380,20748379,20748377,20748375,20748373,20743301,20717905,20717904,20717903,20717901,20717899);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 353\nand sa.provider = 'salesforce';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%modern world business solutions%'; # 345,275,12016, l.atkinson@mwbsolutions.co.uk\nSELECT * FROM activities WHERE uuid_to_bin('3921d399-3fef-4609-a291-b0097a166d43') = uuid;\n# id: 20940638, user: 12022, contact: 5305871\nSELECT * FROM activity_summary_logs WHERE activity_id = 20940638;\nselect * from contacts where team_id = 345 and crm_provider_id = '30891432415' order by name asc; # 5305871\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 345\nand sa.provider = 'hubspot';\n\nselect * from users where team_id = 345 and id = 12022;\nSELECT * FROM crm_profiles WHERE user_id = 12022;\nSELECT * FROM participants WHERE activity_id = 20940638;\nSELECT * FROM users u\nJOIN crm_profiles cp ON u.id = cp.user_id\nWHERE u.team_id = 345;\n\nselect * from contacts where team_id = 345 and crm_provider_id = '30880813535' order by name desc; # 5305871\n\nselect * from team_features where team_id = 345;\nSELECT * FROM activities WHERE uuid_to_bin('11701e2d-2f82-4dab-a616-1db4fad238df') = uuid; # 21115197\nSELECT * FROM participants WHERE activity_id = 20897406;\n\n\n\nSELECT * FROM activities WHERE uuid_to_bin('63ba55cd-1abc-447d-83da-0137000005b7') = uuid; # 20953912\nSELECT * FROM activities WHERE crm_configuration_id = 275 and provider = 'ringcentral' and title like '%1252629100%';\n\n\nSELECT * FROM activities WHERE id = 20946641;\nSELECT * FROM crm_profiles WHERE user_id = 10211;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120,97,10984, triger@lunio.ai\nSELECT * FROM opportunities WHERE crm_configuration_id = 97 and crm_provider_id = '006N1000006c5PpIAI';\nselect * from stages where crm_configuration_id = 97 and type = 'opportunity';\nselect * from opportunities where team_id = 120;\n\n\nselect * from crm_configurations crm join teams t on crm.id = t.crm_id\nwhere 1=1\nAND t.current_billing_plan IS NOT NULL\nAND crm.auto_sync_activity = 0\nand crm.provider = 'hubspot';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Exclaimer%'; # 270,205,10053,james.lewendon@exclaimer.com\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 270\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('b54df794-2a9a-4957-8d80-09a600ead5f8') = uuid; # 21637956\nSELECT * FROM crm_profiles WHERE user_id = 11446;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Cygnetise%'; # 372,300,12554, alex.chikly@cygnetise.com\nselect * from playbooks where team_id = 372;\nselect * from crm_fields where crm_configuration_id = 300 and object_type = 'event'; # 141340\nSELECT * FROM crm_field_values WHERE crm_field_id = 141340;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 372\nand sa.provider = 'salesforce';\n\nselect * from crm_profiles where crm_configuration_id = 300;\nSELECT * FROM crm_configurations WHERE team_id = 372;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Planday%'; # 291,242,11501,mfa@planday.com\nSELECT * FROM opportunities WHERE team_id = 291 and crm_provider_id = '006bG000005DO86QAG'; # 3207756\nselect * from crm_field_data where object_id = 3207756;\nSELECT * FROM crm_fields WHERE id = 111834;\n\nselect f.id, f.crm_provider_id AS field_name, f.label, fd.object_id AS dealId, fd.value\nFROM crm_fields f\nJOIN crm_field_data fd ON f.id = fd.crm_field_id\nWHERE f.crm_configuration_id = 242\nAND f.object_type = 'opportunity'\nAND fd.object_id IN (3207756)\nORDER BY fd.object_id, fd.updated_at;\n\nSELECT * FROM crm_configurations WHERE auto_connect = 1;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Tour%'; # 187,209,8150,salesforce-admin@tourlane.com\nselect * from group_deal_risk_types drgt join groups g on drgt.group_id = g.id\nwhere g.team_id = 187;\n\nselect * from `groups` where team_id = 187;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 187\nand sa.provider = 'salesforce';\n\n# Destination - 98870 - Destination__c\n# Stage - 79014 - StageName\n# Land Arrangement - 98856 - Land_Arrangement__c\n# Flight - 98848 - Flight__c\n# Last activity date - 98812 - LastActivityDate\n# Last modified date - 98809 - LastModifiedDate\n# Last inbound mail timestamp - 99151 - Last_Inbound_Mail_Timestamp__c\n# next call - 98864 - Next_Call__c\n\nselect * from crm_fields where crm_configuration_id = 209 and object_type = 'opportunity';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 209;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 682;\n\nselect * from opportunities where team_id = 187 and name LIKE'%Muriel Sal%';\nselect * from opportunities where team_id = 187 and user_id = 9951 and is_closed = 0;\nselect * from activities where opportunity_id = 3538248;\n\nSELECT * FROM crm_profiles WHERE user_id = 8150;\n\nselect * from deal_risks where opportunity_id = 3538248;\n\nselect * from teams where crm_id IS NULL;\n\nSELECT opp.id AS opportunity_id,\n u.group_id AS group_id,\n MAX(\n CASE\n WHEN a.type IN (\"sms-inbound\", \"sms-outbound\") THEN a.created_at\n ELSE a.actual_end_time\n END) as last_date\nFROM opportunities opp\nleft join activities a on a.opportunity_id = opp.id\ninner join users u on opp.user_id = u.id\nwhere opp.user_id IN (9951)\n\nAND opp.is_closed = 0\nand a.status IN ('completed', 'received', 'delivered') OR a.status IS NULL\ngroup by opp.id;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Cybsafe%'; # 343,301,12008,polly.morphew@cybsafe.com\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 301;\nSELECT * FROM contacts WHERE id = 6612363;\nSELECT * FROM accounts WHERE id = 4235676;\nSELECT * FROM opportunities WHERE crm_configuration_id = 301 and crm_provider_id = 32983784868;\nselect * from opportunity_stages where opportunity_id = 4503759;\n# SELECT * FROM opportunities WHERE id = 4569937;\n\nselect * from activities where crm_configuration_id = 301;\nSELECT * FROM activities WHERE uuid_to_bin('d3b2b28b-c3d0-4c2d-8ed0-eef42855278a') = uuid; # 26330370\nSELECT * FROM participants WHERE activity_id = 26330370;\n\nSELECT * FROM teams WHERE id = 375;\nselect * from playbooks where team_id = 375;\n\nselect * from stages where crm_configuration_id = 301 and type = 'opportunity';\n\nselect * from teams;\nselect * from contact_roles;\n\nSELECT * FROM opportunities WHERE team_id = 343 and user_id = 12871 and close_date >= '2024-11-01';\n\nselect * from users u join crm_profiles cp on cp.user_id = u.id where u.team_id = 343;\n\nSELECT * FROM crm_field_data WHERE object_id = 3771706;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_fields WHERE crm_configuration_id = 301 and object_type = 'opportunity'\nand crm_provider_id LIKE \"%traffic_light%\";\nSELECT * FROM crm_field_values WHERE crm_field_id IN (144020,144048,144111,144113,144126,144481,144508,144531);\n\nSELECT fd.* FROM opportunities o\nJOIN crm_field_data fd ON o.id = fd.object_id\nWHERE o.team_id = 343\n# and o.user_id IS NOT NULL\nand fd.crm_field_id IN (144020,144048,144111,144113,144126,144481,144508,144531)\nand fd.value != ''\norder by value desc\n# group by o.id\n;\n\nSELECT * FROM opportunities WHERE id = 3769843;\n\nSELECT * FROM teams WHERE name LIKE '%Tour%'; # 187,209,8150, salesforce-admin@tourlane.com\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 209;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 682;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Funding Circle%'; # 220,177,8603,aswini.mishra@fundingcircle.com\nSELECT * FROM activities WHERE uuid_to_bin('7a40e99b-3b37-4bb1-b983-325b81801c01') = uuid; # 23139839\n\n\nSELECT * FROM opportunities WHERE id = 3855992;\n\nSELECT * FROM users WHERE name LIKE '%Angus Pollard%'; # 8988\n\nSELECT * FROM teams WHERE name LIKE '%Story Terrace%'; # 379, 307, 12894\nSELECT * FROM crm_fields WHERE crm_configuration_id = 307 and object_type != 'opportunity';\n\nselect * from contacts where team_id = 379 and name like '%bebro%'; # 5874411, crm: 77229348507\nSELECT * FROM crm_field_data WHERE object_id = 5874411;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 379\nand sa.provider = 'hubspot';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%mentio%'; # 117, 94, 6371, nikhil.kumar@mention-me.com\nSELECT * FROM activities WHERE uuid_to_bin('82939311-1af0-4506-8546-21e8d1fdf2c1') = uuid;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Tourlane%'; # 187, 209, 8150, salesforce-admin@tourlane.com\nSELECT * FROM opportunities WHERE team_id = 187 and crm_provider_id = '006Se000008xfvNIAQ'; # 3537793\nselect * from generic_ai_prompts where subject_id = 3537793;\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120, 97, 10984, triger@lunio.ai\nSELECT * FROM crm_configurations WHERE id = 97;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 97;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 355;\nSELECT * FROM crm_fields WHERE id = 32682;\n\nselect cfd.value, o.* from opportunities o\njoin crm_field_data cfd on o.id = cfd.object_id and cfd.crm_field_id = 32682\nwhere team_id = 120\nand cfd.value != ''\n;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 120\nand sa.provider = 'salesforce';\n\nselect * from opportunities where team_id = 120 and crm_provider_id = '006N1000007X8MAIA0';\nSELECT * FROM crm_field_data WHERE object_id = 2313439;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE id = 410;\nSELECT * FROM teams WHERE name LIKE '%Local Business Oxford%';\nselect * from scorecards where team_id = 410;\nselect * from scorecard_rules;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Funding%'; # 220, 177, 8603, aswini.mishra@fundingcircle.com\nselect * from activities a\njoin opportunities o on a.opportunity_id = o.id\njoin users u on o.user_id = u.id\nwhere a.crm_configuration_id = 177 and a.type LIKE '%email-out%'\n# and a.actual_end_time > '2024-12-16 00:00:00'\n# and o.remotely_created_at > '2024-12-01 00:00:00'\n# and u.group_id = 1014\nand u.id = 9021\norder by a.id desc;\nSELECT * FROM opportunities WHERE id in (3981384,4017346);\nSELECT * FROM users WHERE team_id = 220 and id IN (8775, 11435);\n\nselect * from users where id = 9021;\nselect * from inboxes where user_id = 9021;\n\nselect * from inbox_emails where inbox_id = 1349 and email_date > '2024-12-18 00:00:00';\n\nselect * from email_messages where team_id = 220\nand orig_date > '2024-12-16 00:00:00' and orig_date < '2024-12-19 00:00:00'\nand subject LIKE '%Personal%'\n# and 'from' = 'credit@fundingcircle.com'\n;\n\nselect * from activities a\njoin opportunities o on a.opportunity_id = o.id\nwhere a.user_id = 9021 and a.type LIKE '%email-out%'\nand a.actual_end_time > '2024-12-18 00:00:00'\nand o.user_id IS NOT NULL\nand o.remotely_created_at > '2024-12-01 00:00:00'\norder by a.id desc;\n\nSELECT * FROM opportunities WHERE team_id = 220 and name LIKE '%Right Car move Limited%' and id = 3966852;\nselect * from activities where crm_configuration_id = 177 and type LIKE '%email%' and opportunity_id = 3966852 order by id desc;\n\nselect * from team_settings where name IN ('useCloseDate');\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Hurree%'; # 104, 81, 6175, jfarrell@hurree.co\nSELECT * FROM opportunities WHERE team_id = 104 and name = 'PropOp';\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 104\nand sa.provider = 'hubspot';\n\nselect * from crm_configurations where last_synced_at > '2025-01-19 01:00:00'\nselect * from teams where crm_id IS NULL;\n\nselect t.name as 'team', u.name as 'owner', u.email, u.phone\nfrom teams t\njoin activity_providers ap on t.id = ap.team_id\njoin users u on t.owner_id = u.id\nwhere 1=1\n and t.status = 'active'\n and ap.is_enabled = 1\n# and u.status = 1\n and ap.provider = 'ms-teams';\n\nselect * from crm_configurations where provider = 'bullhorn'; # 344\nSELECT * FROM teams WHERE id = 442; # 14293\nselect * from users where team_id = 442;\nselect * from social_accounts sa where sa.sociable_id = 14293;\nselect * from invitations where team_id = 442;\n\n# ********************************************************************************************************\nSELECT * FROM users WHERE email LIKE '%nea.liikamaa@eletive.com%'; # 14022\nSELECT * FROM teams WHERE id = 429;\nselect * from opportunities where team_id = 429 and crm_provider_id IN (16157415775, 22246219645);\nselect * from activities where opportunity_id in (4340436,4353519);\n\nselect * from transcription where activity_id IN (25630961,25381771);\nselect * from generic_ai_prompts where subject_id IN (4353519);\n\nSELECT\n a.id as activity_id,\n a.opportunity_id,\n a.type as activity_type,\n a.language,\n CONCAT(a.title, a.description) AS mail_content,\n e.from AS mail_from,\n e.to AS mail_to,\n e.subject AS mail_subject,\n e.body AS mail_body,\n p.type as prompt_type,\n p.status as prompt_status,\n p.content AS prompt_content,\n a.actual_start_time as created_at\nFROM activities a\n LEFT JOIN ai_prompts p ON a.transcription_id = p.transcription_id AND p.deleted_at IS NULL\n LEFT JOIN email_messages e ON a.id = e.activity_id\nWHERE a.actual_start_time > '2024-01-01 00:00:00'\n AND a.opportunity_id IN (4353519)\n AND a.status IN ('completed', 'received', 'delivered')\n AND a.deleted_at IS NULL\n AND a.type NOT IN ('sms-inbound', 'sms-outbound')\nORDER BY a.opportunity_id ASC, a.id ASC;\n\nSELECT * FROM users WHERE name LIKE '%George Fierstone%'; # 14293\nSELECT * FROM teams WHERE id = 442;\nSELECT * FROM crm_configurations WHERE id = 344;\nselect * from team_features where team_id = 442;\nselect * from groups where team_id = 442;\nselect * from playbooks where team_id = 442;\nselect * from playbook_categories where playbook_id = 1729;\nselect * from crm_fields where crm_configuration_id = 344 and id = 172024;\nSELECT * FROM crm_field_values WHERE crm_field_id = 172024;\nselect * from crm_layouts where crm_configuration_id = 344;\nselect * from playbook_layouts where playbook_id = 1729;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Learning%'; # 260, 221, 9444\n\nselect s.*\n# , s.sent_at, u.name, a.*\nfrom activity_summary_logs s\ninner join activities a on a.id = s.activity_id\ninner join users u on u.id = a.user_id\nwhere a.crm_configuration_id = 356\nand s.sent_at > date_sub(now(), interval 60 day)\norder by a.actual_end_time desc;\n\nselect * from activities a\n# inner join activity_summary_logs s on s.activity_id = a.id\nwhere a.crm_configuration_id = 356 and a.actual_end_time > date_sub(now(), interval 60 day)\n# and a.crm_provider_id is not null\n# and provider <> 'ringcentral'\nand status = 'completed'\norder by a.actual_end_time desc;\n\nselect * from teams order by id desc; # 17328, 32, 17830, integration-account@jiminny.com\nSELECT * FROM users;\nSELECT * FROM users where team_id = 260 and status = 1; # 201 - 150 active\nSELECT * FROM teams WHERE id = 260;\nselect * from team_settings where team_id = 260;\nselect * from crm_configurations where team_id = 260;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 356;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1184;\n\nselect * from accounts where crm_configuration_id = 221 order by id desc; # 7000\nselect * from leads where crm_configuration_id = 221 order by id desc; # 0\nselect * from contacts where crm_configuration_id = 221 order by id desc; # 200 000\nselect * from opportunities where crm_configuration_id = 221 order by id desc; # 0\nselect * from crm_profiles where crm_configuration_id = 221 order by id desc; # 23\nselect * from crm_fields where crm_configuration_id = 221;\nselect * from crm_field_values where crm_field_id = 5302 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 221 order by id desc;\nselect * from stages where crm_configuration_id = 221 order by id desc;\n\nselect * from accounts where crm_configuration_id = 356 order by id desc; # 7000\nselect * from leads where crm_configuration_id = 356 order by id desc; # 0\nselect * from contacts where crm_configuration_id = 356 order by id desc; # 200 000\nselect * from opportunities where crm_configuration_id = 356 order by id desc; # 0\nselect * from crm_profiles where crm_configuration_id = 356 order by id desc; # 23\nselect * from crm_fields where crm_configuration_id = 356;\nselect * from crm_field_values where crm_field_id = 5302 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 356 order by id desc;\nselect * from stages where crm_configuration_id = 356 order by id desc;\n\nselect * from playbooks where team_id = 260 order by id desc; # 4 (2 deleted)\nselect * from groups where team_id = 260 order by id desc; # 27 groups, (2 deleted)\nselect * from playbook_layouts where playbook_id IN (1410,1409,1276,1254); # 4\nselect ce.* from calendars c\njoin users u on c.user_id = u.id\njoin calendar_events ce on c.id = ce.calendar_id\nwhere u.team_id = 260\nand (ce.start_time > '2025-02-21 00:00:00')\n;\n# calendar events 1207\n#\n\nselect * from opportunities where team_id = 260;\nSELECT * FROM crm_field_data WHERE object_id = 4696496;\n\nselect * from activities where crm_configuration_id = 356 and crm_provider_id IS NOT NULL;\nselect * from activities where crm_configuration_id IN (221) and provider NOT IN ('ms-teams', 'uploader', 'zoom-bot')\n# and type = 'conference' and status = 'scheduled' and activities.is_internal = 0\nand created_at > '2024-03-01 00:00:00'\norder by id desc; # 880 000, ringcentral, avaya\nSELECT * FROM participants WHERE activity_id = 26371744;\n\n# all activities 942 000 +\n# conference 7385 - scheduled 984 - external 343\n\nselect * from activities where id = 26321812;\nselect * from participants where activity_id = 26321812;\nselect * from participants where activity_id in (26414510,26414514,26414516,26414604,26414653,26414655);\nselect * from leads where id in (720428,689175,731546,645866,621037);\n\nselect * from users where id = 13841;\nselect * from opportunities where user_id = 9541;\nselect * from stages where id = 15900;\n\nselect * from accounts where\n# id IN (4160055,5053725,4965303,4896434)\nid in (4584518,3249934,3218025,3891133,3399450,4172999,4485161,3101785,4587203,3070816,2870343,2870341,3563940,4550846,3424464,3249963,2870342)\n;\n\nselect * from activities where id = 26654935;\nSELECT * FROM opportunities WHERE id = 4803458;\n\nSELECT * FROM opportunities where team_id = 260 and user_id = 13841 AND stage_id = 15900;\nSELECT id, uuid, provider, type, lead_id, account_id, contact_id, opportunity_id, stage_id, status, recording_state, title, actual_start_time, actual_end_time\nFROM activities WHERE user_id = 13841 AND opportunity_id IN (4729783, 4731717, 4731726, 4732064, 4732849, 4803458, 4813213);\n\nSELECT DISTINCT\n o.id, o.stage_id, s.name, a.title,\n a.*\nFROM activities a\n# INNER JOIN tracks t ON a.id = t.activity_id\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams team ON u.team_id = team.id\nINNER JOIN groups g ON u.group_id = g.id\nINNER JOIN opportunities o ON a.opportunity_id = o.id\nINNER JOIN stages s ON o.stage_id = s.id\nWHERE\n a.crm_configuration_id = 356\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n# and a.user_id = 13841\n AND u.uuid = uuid_to_bin('6f40e4b8-c340-4059-b4ac-1728e87ea99e')\n AND team.uuid = uuid_to_bin('a607fba7-452e-4683-b2af-00d6cb52c93c')\n AND g.uuid = uuid_to_bin('b5d69e40-24a0-4c16-810b-5fa462299f94')\n\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND t.type IN ('audio', 'video')\n AND (\n (a.actual_start_time BETWEEN '2025-03-13 00:00:00' AND '2025-03-18 07:59:59')\n OR\n (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-13 00:00:00' AND '2025-03-18 07:59:59'\n )\n )\n AND (\n a.is_private = 0\n OR (\n a.is_private = 1\n AND u.uuid = uuid_to_bin('6f40e4b8-c340-4059-b4ac-1728e87ea99e')\n )\n )\n AND (\n# s.id = 15900\n s.uuid = uuid_to_bin('04ca1c26-c666-4268-a129-419c0acffd73')\n OR s.uuid IS NULL -- Include records without opportunity stage\n )\n\nORDER BY a.actual_end_time DESC;\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lead Forensics%'; # 190, 162, 8474, willsc@leadforensics.com\nSELECT * FROM users WHERE team_id = 190;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 190\nand sa.provider = 'hubspot';\n\nselect * from role_user where user_id = 8474;\n\nselect * from crm_configurations where provider = 'bullhorn';\n\nSELECT * FROM opportunities WHERE uuid_to_bin('94578249-65ec-4205-90f2-7d1a7d5ab64a') = uuid;\nSELECT * FROM users WHERE uuid_to_bin('26dbadeb-926f-4150-b11b-771b9d4c2f9a') = uuid;\n\nSELECT * FROM opportunities WHERE id = 4732493;\nselect * from activities where opportunity_id = 4732493;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE id = 443; # 358, 14315, andrea.romano@correrenaturale.com\nSELECT * FROM opportunities WHERE team_id = 443;\n\nSELECT a.id, a.type, a.user_id, a.status, a.deleted_at, u.name, u.email, u.team_id as activity_team_id, u.status, u.deleted_at, t.name, t.status, s.team_id as stage_team_id\nFROM activities AS a\nJOIN stages AS s ON a.stage_id = s.id\nJOIN users AS u ON u.id = a.user_id\nJOIN teams AS t ON t.id = s.team_id\nWHERE u.team_id <> s.team_id and t.id > 135;\n\n\nSELECT\n crm_configuration_id,\n crm_provider_id,\n COUNT(*) as duplicate_count,\n GROUP_CONCAT(id) as stage_ids,\n GROUP_CONCAT(name) as stage_names\nFROM stages\nGROUP BY crm_configuration_id, crm_provider_id\nHAVING COUNT(*) > 1\nORDER BY duplicate_count DESC;\n\nselect * from stages where id IN (14898,14907);\n\nselect * from business_processes;\n\nSELECT *\nFROM crm_configurations\nWHERE team_id IN (\n SELECT team_id\n FROM crm_configurations\n GROUP BY team_id\n HAVING COUNT(*) > 1\n)\nORDER BY team_id;\n\nSELECT *\nFROM teams\nWHERE crm_id IN (\n SELECT crm_id\n FROM teams\n GROUP BY crm_id\n HAVING COUNT(*) > 1\n)\nORDER BY crm_id;\n\n# ***************************************************************************\nselect * from crm_configurations where provider = 'integration-app';\nSELECT * FROM teams WHERE id = 443; # Correre Naturale 358 14315 andrea.romano@correrenaturale.com\nselect * from activities where crm_configuration_id = 358 order by actual_end_time desc;\nselect id, uuid, actual_end_time, crm_provider_id, is_internal, playbook_category_id, type, user_id, lead_id, contact_id, account_id, opportunity_id, status, title from activities where crm_configuration_id = 358 order by actual_end_time desc;\nselect * from team_features where team_id = 358;\nselect * from activity_summary_logs;\n\nselect * from teams where id = 406;\n\n# ************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Sportfive%'; # 267, 202, 14637, srv.salesforce@sportfive.com\nselect * from activities where crm_configuration_id = 202 order by actual_end_time desc;\n\nSELECT * FROM users where id = 14637;\nSELECT * FROM teams where id = 267;\nSELECT * FROM groups where id = 1118;\n\nselect g.name, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\ninner join groups g on g.id = u.group_id\nwhere a.crm_configuration_id = 202\nand a.is_internal = 0\nand (a.scheduled_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type = 'conference'\nand a.status != 'completed'\nand a.external_id is not null\norder by a.scheduled_start_time desc;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 202\n AND status IN ('completed', 'failed')\n AND recording_state != 'stopped'\n AND type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n AND (is_private = 0 OR user_id = 14637)\n AND (\n (\n actual_start_time BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n ) OR (\n actual_start_time IS NULL\n AND type IN ('sms-outbound', 'sms-inbound')\n AND created_at BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n )\n )\n AND NOT EXISTS (\n SELECT 1\n FROM tracks\n WHERE\n tracks.activity_id = activities.id\n AND tracks.type IN ('audio', 'video')\n )\nORDER BY actual_end_time DESC;\n\nSELECT DISTINCT\n a.*\nFROM activities a\nINNER JOIN tracks t ON a.id = t.activity_id\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams team ON u.team_id = team.id\nWHERE\n a.crm_configuration_id = 202\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n# and a.user_id = 14637\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND t.type IN ('audio', 'video')\n AND (\n (a.actual_start_time BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59')\n OR\n (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n )\n )\n AND (\n a.is_private = 0\n OR (\n a.is_private = 1\n AND a.user_id = 14637\n )\n )\n\nORDER BY a.actual_end_time DESC\n;\n\nSELECT DISTINCT a.*\nFROM activities a\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams t ON u.team_id = t.id\n# INNER JOIN tracks tr ON a.id = tr.activity_id\n# INNER JOIN groups g ON u.group_id = g.id\nWHERE 1=1\n AND t.id = 267\n# AND t.uuid = uuid_to_bin('aed4927b-f1ea-499e-94c3-83762fd233e8')\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND tr.type NOT IN ('audio', 'video')\n AND (\n a.is_private = 0\n OR a.user_id = 14637\n )\n AND (\n (a.actual_start_time BETWEEN '2025-03-19 00:00:00' AND '2025-03-21 23:59:59')\n OR (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-19 00:00:00' AND '2025-03-21 23:59:59'\n )\n )\n# and NOT EXISTS (\n# SELECT 1\n# FROM tracks t\n# WHERE t.activity_id = a.id\n# AND t.type IN ('audio', 'video')\n# )\n\nORDER BY a.actual_end_time DESC;\n\nSELECT * FROM tracks WHERE activity_id = 26485995;\n\nselect a.is_private, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\nwhere a.crm_configuration_id = 202\n# and a.is_internal = 0\nand (a.actual_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type IN (\"softphone\",\"softphone-inbound\",\"conference\",\"sms-inbound\")\nand a.status IN ('completed', 'failed')\n# and a.external_id is not null\norder by a.actual_end_time desc;\n\nselect * from activities a where a.crm_configuration_id = 202\nand a.actual_start_time between '2025-03-20 00:00:00' and '2025-03-21 00:00:00'\n# AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n\nselect g.name, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\ninner join groups g on g.id = u.group_id\nwhere a.crm_configuration_id = 202\nand a.is_internal = 0\nand (a.scheduled_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type = 'conference'\nand a.status != 'completed'\nand a.external_id is not null\norder by a.scheduled_start_time desc;\n\nSELECT * FROM teams WHERE name LIKE '%Tourlane%';\nSELECT * FROM crm_fields WHERE crm_configuration_id = 209 and object_type = 'opportunity';\nSELECT * FROM crm_field_data WHERE crm_field_id = 98809;\n\nselect * from users where status = 1 AND timezone = 'MDT';\n\nselect * from opportunities where id = 3769814;\nselect * from deal_risks where opportunity_id = 3769814;\n\nselect cp.* from crm_profiles cp\njoin users u on cp.user_id = u.id\njoin crm_configurations crm on cp.crm_configuration_id = crm.id\nwhere crm.provider = 'hubspot' AND u.status = 1 AND log_notes != 'none';\n\nselect * from crm_fields where id = 154575;\n\nselect * from team_features where feature = 'SUPPORTS_SYNC_MISSING_CALL_DISPOSITIONS';\nSELECT * FROM teams WHERE id = 176; # crm 148\nselect * from activities where crm_configuration_id = 148 and provider = 'hubspot' order by id desc;\n\nselect * from activity_providers where provider = 'amazon-connect';\n\nselect * from crm_fields cf\njoin crm_configurations crm on crm.id = cf.crm_configuration_id\nwhere crm.provider = 'hubspot' and cf.object_type IN ('account', 'contact');\n\n# *********************************************************************************************\nSELECT * FROM users WHERE id IN (15415, 15418);\nSELECT * FROM groups WHERE id IN (1805,1806);\nSELECT * FROM playbooks WHERE id = 1860;\nSELECT * FROM playbook_categories WHERE id = 38634;\nSELECT * FROM crm_fields WHERE id = 189962;\n\nSELECT * FROM teams WHERE name = 'Pulsar Group'; # 472, 380, 15138 raza.gilani@vuelio.com\n\nSELECT * FROM crm_profiles WHERE user_id = 15415;\nSELECT * FROM social_accounts WHERE sociable_id = 15415 and provider = 'salesforce';\n\nselect * from sidekick_settings where team_id = 472;\n\nSELECT * FROM activities WHERE uuid_to_bin('452c58c7-b87c-4fdd-953e-d7af185e9588') = uuid; # 28617536, user: 15418\nSELECT * FROM activities WHERE uuid_to_bin('399114ee-d3a8-458c-bff5-5f654658db0a') = uuid; # 28344407, user: 15415\nSELECT * FROM activities WHERE uuid_to_bin('f0aa567f-0ab1-4bbb-96aa-37dcf184676b') = uuid; # 28580288, user: 15415\nSELECT * FROM activities WHERE uuid_to_bin('50c086b1-2770-4bca-b5ae-6bac22ec426b') = uuid; # 28566069, user: 15415\n\n# *********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%TeamTailor%'; # 109, 218, 13969, salesforce-integrations@teamtailor.com\nselect * from crm_configurations where id = 218;\nSELECT * FROM activities WHERE uuid_to_bin('e39b5857-7fdb-4f5a-951a-8d3ca69bb1b0') = uuid; # 28338765\nSELECT * FROM users WHERE id IN (13232, 13230);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\n\n0057R00000EPL5HQAX Inez Ekblad\n\n1091cb81-5ea1-4951-a0ed-f00b568f0140 Triman Kaur\n\nSELECT * FROM crm_profiles WHERE user_id IN (13232, 13230);\n\n############################################################################################\nSELECT * FROM activities WHERE uuid_to_bin('675eeaeb-5681-42db-90bc-54c07a604408') = uuid; # 28655939 00UVg00000FLvnSMAT\nSELECT * FROM crm_field_data WHERE activity_id = 28655939;\nSELECT * FROM crm_fields WHERE id IN (94491,94493,94498);\nSELECT * FROM users WHERE id = 13658;\nSELECT * FROM teams WHERE id = 109;\nSELECT * FROM crm_configurations WHERE id = 218;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Strengthscope%'; # 481, 390, 15420, katy.holden@strengthscope.comk\nSELECT * FROM stages WHERE crm_configuration_id = 390;\nselect * from business_processes where team_id = 481 and crm_configuration_id = 390;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 481\nand sa.provider = 'salesforce';\n\n\nSELECT * FROM users WHERE id = 15780; # team 462\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 462\nand sa.provider = 'hubspot';\n\n\nselect * from teams where id = 495;\nSELECT * FROM users WHERE id = 15794;\nselect * from social_accounts where sociable_id = 15794;\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Flight%'; # 427, 333, 13752\nSELECT * FROM accounts WHERE team_id = 427 and crm_provider_id = '668731000183444517';\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Group GTI%'; # 495, 407, 15794\nSELECT * FROM activities WHERE crm_configuration_id = 407\nand status = 'completed' and type = 'conference'\norder by id desc;\n\nselect ru.*, pr.*, p.* from users u join role_user ru on ru.user_id = u.id\njoin permission_role pr on pr.role_id = ru.role_id\n join permissions p on p.id = pr.permission_id\nwhere team_id = 495 and p.name IN ('dial');\n\nselect * from permission_role;\n\nselect * from activities where crm_configuration_id = 407 and status = 'completed' order by id desc;\nSELECT * FROM activities WHERE id = 29512773;\nSELECT * FROM activities WHERE id IN (29042721,28991325,29002874);\n\nSELECT al.* from activity_summary_logs al join activities a on a.id = al.activity_id\nwhere a.crm_configuration_id = 407\n# and a.id IN (29042721,28991325,29002874);\n\nSELECT * FROM users WHERE id = 15794;\nSELECT * FROM users WHERE team_id = 495;\nSELECT * FROM social_accounts WHERE sociable_id = 15794;\nSELECT * FROM opportunities WHERE team_id = 495 and name like '%OC:%';\nSELECT * FROM contacts WHERE team_id = 495;\nSELECT * FROM leads WHERE team_id = 495;\nSELECT * FROM accounts WHERE team_id = 495;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 407;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 407;\nSELECT * FROM crm_configurations WHERE id = 407;\nSELECT * FROM opportunities WHERE team_id = 495 and close_date BETWEEN '2025-06-01' AND '2025-07-01'\nand user_id IS NOT NULL and is_closed = 1 and is_won = 1;\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Hamilton Court FX LLP%'; # 249, 187, 10103\nSELECT * FROM activities WHERE uuid_to_bin('4659c2bb-9a49-484e-9327-a3d66f1e028c') = uuid; # 28951064\nSELECT * FROM crm_fields WHERE crm_configuration_id = 187 and object_type IN ('tasks', 'event');\n\n# *********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Checkstep%'; # 325, 256, 11753\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 325\nand sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('7be372e2-1916-4d79-a2f3-ca3db1346db3') = uuid; # 28611085\nSELECT * FROM activities WHERE uuid_to_bin('980f0336-840b-4185-a5a9-30cf8b0749a8') = uuid; # 28719733\nSELECT * FROM activity_summary_logs where activity_id = 28719733;\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Learning%'; # 260, 356, 9444\nSELECT * FROM activity_summary_logs where sent_at BETWEEN '2025-06-09 11:38:00' AND '2025-06-09 11:40:00';\nSELECT * FROM leads WHERE crm_configuration_id = 356 and crm_provider_id = '230045001502770504'; # 823630\nselect * from activities where crm_configuration_id = 356 and lead_id = 841732;\n\nSELECT * from activity_summary_logs al join activities a on a.id = al.activity_id\nwhere a.crm_configuration_id = 356;\n\nselect * from activities where crm_configuration_id = 356\nand actual_end_time between '2025-06-09 11:00:00' and '2025-06-09 12:00:00'\norder by id desc;\n\nselect * from accounts where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\nselect * from leads where crm_configuration_id = 356 and crm_provider_id = '230045001514275654' order by id desc;\nselect * from contacts where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\nselect * from opportunities where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\n\nselect * from team_features where team_id = 260;\nselect * from features where id IN (1,2,4,6,18,19,20,9,10,3,23,24,25,26,27);\n\nSELECT * FROM activities WHERE uuid_to_bin('7be372e2-1916-4d79-a2f3-ca3db1346db3') = uuid;\n\nselect * from crm_fields;\nselect * from crm_layout_entities;\n\nSELECT * FROM teams WHERE name LIKE '%Optable%';\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Teamtailor%'; # 109, 218, 13969\nSELECT * FROM crm_configurations WHERE id = 218;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('675eeaeb-5681-42db-90bc-54c07a604408') = uuid; # 28655939\nSELECT * FROM crm_field_data WHERE activity_id = 28655939;\nSELECT * FROM crm_fields WHERE id in (94491,94493,94498);\n\nselect * from teams where crm_id IS NULL;\n\nSELECT * FROM activities WHERE uuid_to_bin('71aa8a0c-9652-4ff6-bee7-d98ae60abef6') = uuid;\n\n# *************************************************************************************************\nselect * from team_domains where team_id = 399;\nSELECT * FROM teams WHERE name LIKE '%Rydoo%'; # 399, 318, 13207\n\nselect * from calendar_events where id = 5163781;\nSELECT * FROM activities WHERE uuid_to_bin('be2cbc52-7fda-46a0-9ae0-25d9553eafc0') = uuid; # 29443896\nSELECT * FROM participants WHERE activity_id = 29443896;\nselect * from contacts where crm_configuration_id = 318 and email = 'marianne.westeng@strawberry.no';\nselect * from leads where crm_configuration_id = 318 and email = 'marianne.westeng@strawberry.no';\n\nselect * from activities where user_id = 14937 order by created_at ;\n\nselect * from users where id = 14937;\n\nselect * from contacts where crm_configuration_id = 318 and email LIKE '%@strawberry.se';\nselect * from opportunities where crm_configuration_id = 318 and crm_provider_id = '006Sf00000D1WOAIA3';\n\nselect * from activities a join participants p on a.id = p.activity_id\nwhere crm_configuration_id = 318 and a.updated_at > '2025-06-23T08:18:43Z';\n\n# *************************************************************************************************\nSELECT * FROM opportunities WHERE team_id = 379 and crm_provider_id = '39334518886';\nSELECT * FROM opportunities WHERE team_id = 379 order by id desc;\nSELECT * FROM teams WHERE id = 379;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 379 and sociable_id = 13852\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE id = 307;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 307;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1027;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 307\n and id IN (144750,144855,145158,155227);\n\nSELECT * FROM activities;\n\n\nselect * from activities\nwhere created_at > '2025-07-01 00:00:00'\n# and created_at < '2025-08-01 00:00:00'\nand type not in ('email-outbound', 'email-inbound')\nand account_id is null\nand contact_id is null\nand lead_id is null\nand opportunity_id is not null\n;\nSELECT * FROM activities WHERE id IN (25344155, 25344296, 25501909, 28692187);\nSELECT * FROM crm_configurations WHERE id in (335,301,200);\n\nselect * from crm_fields where crm_configuration_id = 230 and crm_provider_id = 'Age2__c';\n\nSELECT * FROM teams WHERE name LIKE '%Resights%';\nselect * from crm_fields where crm_configuration_id = 1 and object_type = 'opportunity';\n\nselect * from crm_configurations where provider = 'bullhorn'; # 344\nselect * from teams where id IN (442);\n\nselect * from activities\nwhere crm_configuration_id = 177\nand provider = 'amazon-connect'\n order by id desc;\n# and source <> 'gong';\n\nselect * from activity_providers where provider = 'amazon-connect';\n\nSELECT * FROM activities WHERE uuid_to_bin('cec1993b-a7e5-4164-b74d-d680ea51d2f2') = uuid;\n\n\nselect * from crm_configurations where store_transcript = 1;\nSELECT * FROM teams WHERE id IN (80);\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Sedna%'; # 277, 213, 12594\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 277\nand sa.provider = 'salesforce';\n\nselect * from activities where crm_configuration_id = 213 and account_id = 2511502;\n\nselect * from crm_configurations where id = 213;\n\nSELECT * FROM activities WHERE uuid_to_bin('35aa790a-8569-4544-8268-66f9a4a26804') = uuid; # 33981604\nSELECT * FROM participants WHERE activity_id = 33981604;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 337 and object_type = 'task';\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 431\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('b5476c7d-19a8-491b-869d-676ea1e857b6') = uuid; # 33997223\nselect * from activity_summary_logs where activity_id = 33997223;\nselect * from activity_notes where activity_id = 33997223;\n\n# ***********************************\nSELECT * FROM teams WHERE name LIKE '%Abode%';\n\n\nselect * from features;\nselect * from teams t\nwhere t.status = 'active'\nand id NOT IN (select team_id from team_features where feature_id = 9)\n;\n\n\nselect * from playbook_layouts where playbook_id = 1725;\nSELECT * FROM activities WHERE uuid_to_bin('65cc283c-4849-49e6-927f-4c281c8fea19') = uuid; # 34297473\nselect * from teams where id = 318;\nselect * from crm_configurations where team_id = 318;\nselect * from playbooks where team_id = 318;\nSELECT * FROM crm_layouts where crm_configuration_id = 381;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1259;\nSELECT * FROM crm_fields WHERE id IN (192938,192936,192939);\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1266;\nSELECT * FROM crm_fields WHERE id IN (192980,192991,192997,192998,193064,193067);\n\nSELECT * FROM activities WHERE uuid_to_bin('a902289b-285c-48eb-9cc2-6ad6c5d938f5') = uuid; # 34297533\n\n\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 927;\nSELECT * FROM crm_fields WHERE id IN (131668,131669,131670,131671,131676,131797);\n\nSELECT * FROM teams WHERE name LIKE '%Peripass%'; # 351, 281, 12124\nselect * from crm_layouts where crm_configuration_id = 281;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 927;\nselect * from crm_fields where crm_configuration_id = 281 and id in (131668,131669,131670,131671,131676,131797);\nselect * from opportunities where crm_configuration_id = 281;\n\nSELECT * FROM activities WHERE id IN (34211315, 34130075);\nSELECT * FROM crm_field_data WHERE object_id IN (34211315, 34130075);\n\nselect cf.crm_configuration_id, cle.crm_layout_id, cle.id, cf.id from crm_field_data cfd\njoin crm_layout_entities cle on cle.id = cfd.crm_layout_entity_id\njoin crm_fields cf on cle.crm_field_id = cf.id\nwhere cf.deleted_at IS NOT NULL\nGROUP BY cle.id, cf.id;\n\nselect * from crm_layouts where id IN (355);\nselect u.email, t.crm_id, t.* from teams t\njoin users u on u.id = t.owner_id\nwhere crm_id IN (97);\n\nSELECT * FROM crm_fields WHERE id = 96492;\n\nselect * from permissions;\nselect * from permission_role where permission_id = 247;\nselect * from roles;\n\nselect * from migrations;\n# *****************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('291e3c21-11cc-4728-aee7-6e4bedf86d72') = uuid; # 34262174\nSELECT * FROM crm_configurations WHERE id = 301;\nSELECT * FROM teams WHERE id = 343;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nselect * from participants where activity_id = 34262174;\n\nselect * from contacts where crm_configuration_id = 301 and id = 6976326;\nselect * from accounts where crm_configuration_id = 301 and id IN (4647626, 4815829); # 30761335403\n\nselect * from activity_summary_logs where activity_id = 34262174;\n\nselect * from users where status = 1 AND timezone = 'EST';\n\n# ****************************************************************************\nSELECT * FROM users WHERE id = 13869;\nSELECT * FROM crm_configurations WHERE id = 320;\nSELECT * FROM teams WHERE id = 401;\n\nSELECT * FROM activities WHERE uuid_to_bin('2228c16f-10be-48d5-90d4-67385219dc01') = uuid; # 29670601\n\nSELECT * FROM accounts WHERE id = 7761483;\nSELECT * FROM opportunities WHERE id = 6051814;\n\nSELECT * FROM teams WHERE name LIKE '%Seedlegals%';\n\n;select * from opportunities where updated_at > '2025-10-11' AND crm_provider_id = '34713761166';\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 177;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 577;\nSELECT * FROM crm_fields WHERE id IN (68458,68459,68480,68497,68524,68530,68554,68618,68662,68781,68810,68898,68981,69049,97467);\n\nSELECT t.id, crm.id, t.name, crm.sync_objects, crm.provider, crm.last_synced_at FROM crm_configurations crm join teams t on t.crm_id = crm.id\nwhere t.status = 'active' AND crm.provider = 'hubspot' AND crm.last_synced_at < '2025-10-22 00:00:00';\n\nSELECT * FROM activities WHERE uuid_to_bin('fa09449f-cba9-496a-b8f3-865cd3c72351') = uuid;\nSELECT * FROM crm_configurations where id = 184;\nSELECT * FROM teams WHERE id = 246;\nSELECT * FROM social_accounts WHERE sociable_id = 9259 and provider = 'hubspot';\n\nSELECT * FROM users WHERE email LIKE '%rhian.old@bud.co.uk%'; # 17700\nSELECT * FROM teams WHERE id = 551;\n\nSELECT * FROM crm_configurations WHERE id = 471;\nSELECT * FROM activities WHERE crm_configuration_id = 471 and crm_provider_id IS NOT NULL;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 471;\nSELECT * FROM crm_fields WHERE id = 307260;\nSELECT * FROM crm_field_values WHERE crm_field_id = 307260;\n\nselect * from crm_layouts where crm_configuration_id = 471;\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1547;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1548;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 551 and sa.provider = 'hubspot';\n\nSELECT * FROM teams WHERE name LIKE '%$PCS%';\n\n# ********************************************************************************************************\nselect * from crm_configurations crm\njoin teams t on t.crm_id = crm.id\nwhere t.status = 'active'\nand crm.provider = 'hubspot';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from crm_configurations where id = 331; # 416\nSELECT * FROM teams WHERE id = 416;\nSELECT * FROM opportunities WHERE team_id = 190;\n\nSELECT * FROM teams WHERE name LIKE '%Lead Forensics%';\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 190 and sa.provider = 'hubspot';\n\n\n\nSELECT * FROM teams WHERE name LIKE '%Rapaport%'; # 431, 337\nSELECT * FROM teams where id = 431;\nSELECT * FROM crm_configurations where team_id = 431;\nSELECT * FROM activity_providers where team_id = 431;\nSELECT * FROM activities where crm_configuration_id = 337 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 431 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%BiP%'; # 401, 320\nSELECT * FROM teams where id = 401;\nSELECT * FROM crm_configurations where team_id = 401;\nSELECT * FROM activity_providers where team_id = 401;\nSELECT * FROM activities where crm_configuration_id = 320 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 401 and sa.provider = 'salesforce';\n\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 307; # 379 - Story Terrace Inc , portalId: 3921157\nSELECT * FROM contacts WHERE team_id = 379 and updated_at > '2026-01-31 11:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 379 and updated_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 379 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 379 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; # 563 - LATUS Group (ad94d501-5d09-44fd-878f-ca3a9f8865c3) , portalId: 3904501\nSELECT * FROM opportunities WHERE team_id = 563 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 563 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 338; # 432 - Formalize , portalId: 9214205\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 432 and sa.provider = 'hubspot';\nSELECT * FROM opportunities WHERE team_id = 432 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 432 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 436; # 519 - Moxso , portalId: 25531989\nSELECT * FROM opportunities WHERE team_id = 519 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 519 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 96; # 119 - Nourish Care , portalId: 26617984\nSELECT * FROM opportunities WHERE team_id = 119 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 119 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 331; # 416 - The National College , portalId: 7213852\nSELECT * FROM opportunities WHERE team_id = 416 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 416 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 308; # 380 - Foodles , portalId: 7723616\nSELECT * FROM opportunities WHERE team_id = 380 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 380 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 379; # 471 - imat-uve , portalId: 9177354\nSELECT * FROM opportunities WHERE team_id = 471 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 471 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 465; # 545 - Spotler , portalId: 144759271\nSELECT * FROM opportunities WHERE team_id = 545 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 545 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 455; # 537 - indevis , portalId: 25666868\nSELECT * FROM opportunities WHERE team_id = 537 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 537 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 200; # 265 - Jobadder , portalId: 6426676\nSELECT * FROM opportunities WHERE team_id = 265 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 265 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 335; # 429 - Eletive , portalId: 6110563\nSELECT * FROM opportunities WHERE team_id = 429 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 429 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 363; # 456 - Global Group , portalId: 8901981\nSELECT * FROM opportunities WHERE team_id = 456 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 456 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 297; # 369 - Unbiased , portalId: 9229005\nSELECT * FROM opportunities WHERE team_id = 369 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 369 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 353; # 449 - Fuuse , portalId: 25781745\nSELECT * FROM opportunities WHERE team_id = 449 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 449 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 487; # 566 - Nimbus , portalId: 39982590\nSELECT * FROM opportunities WHERE team_id = 566 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 566 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 487;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1630;\nselect * from crm_fields where crm_configuration_id = 487 and\n(uuid_to_bin('4c6b2971-64d4-45b8-b377-427be758b5a5') = uuid or uuid_to_bin('59e368d8-65a0-4b77-b611-db37c99fbe68') = uuid);\nSELECT * FROM crm_field_values WHERE crm_field_id = 375177;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 420; # 506 - voiio , portalId: 145629154\nSELECT * FROM opportunities WHERE team_id = 506 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 506 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 479; # 558 - Momice , portalId: 535962\nSELECT * FROM opportunities WHERE team_id = 558 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 558 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 59; # 80 - Storyclash GmbH , portalId: 4268479\nSELECT * FROM opportunities WHERE team_id = 80 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 80 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 175; # 203 - Team iAM , portalId: 5534732\nSELECT * FROM opportunities WHERE team_id = 203 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 203 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 368; # 460 - OneTouch Health , portalId: 5534732183355\nSELECT * FROM opportunities WHERE team_id = 460 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 460 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\n\n\nselect * from users where id = 29643;\nSELECT * FROM crm_field_values WHERE crm_field_id = 375177;\n# ********************************************************************\nSELECT * FROM teams WHERE name LIKE '%Buynomics%'; # 462, 482, 14910\nSELECT * FROM activities WHERE crm_configuration_id = 482\nand type NOT IN ('email-inbound', 'email-outbound')\n# and description like '%The call focused on understanding Welch%'\norder by id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 462 and sa.provider = 'salesforce';\n\nselect * from contacts where crm_configuration_id = 482 and name = 'Cyndall Hill'; # 15504749\nselect * from contacts where id = 10891096; # 482\nSELECT * FROM activities WHERE crm_configuration_id = 482\nand type NOT IN ('email-inbound', 'email-outbound')\nand contact_id = 15504749\norder by id desc;\n\nselect * from activities where id = 36793003; # 96cc7bc1-8622-4d27-92f4-baf664fc1a56, 00UOf00000PDdOXMA1\nselect * from transcription where id = 7646782;\nselect * from ai_prompts where transcription_id = 7646782;\n\n# ********************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('7a8471a3-847e-4822-802b-ddf426bbc252') = uuid; # 37370018\nSELECT * FROM activity_summary_logs WHERE activity_id = 37370018;\nSELECT * FROM teams WHERE id = 555;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 555 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('7c17b8aa-09df-4f85-a0f7-51f47afd712d') = uuid; # 37395250\nSELECT * FROM activities WHERE uuid_to_bin('14d60388-260d-494b-aa0d-63fdb1c78026') = uuid; # 37395250\n\nSELECT a.* FROM activities a JOIN crm_configurations c on c.id = a.crm_configuration_id\nwhere a.type IN ('softphone', 'softphone-outbound') and c.provider = 'hubspot'\nand a.provider NOT IN ('hubspot')\n# and a.provider IN ('salesloft')\n# and c.id NOT IN (70)\n# and a.duration > 30\n# and actual_start_time > '2026-02-05 00:00:00'\norder by a.id desc;\n\nSELECT * FROM activities WHERE id = 37549787;\nSELECT * FROM crm_profiles WHERE user_id = 17613;\n\nSELECT * FROM crm_configurations WHERE id = 70;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 93 and sa.provider = 'hubspot';\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations WHERE id = 373; # KPSBremen.de 465 # - no social account\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 465 and sa.provider = 'hubspot';\n\nselect * from crm_configurations where id = 494;\n\nSELECT * FROM teams WHERE name LIKE '%splose%'; # 572, 495, 18708\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 572 and sa.provider = 'pipedrive';\n\nselect * from opportunities where team_id = 572\n# and name like '%Onebright%'\n# and is_closed = 1 and is_won = 0\n order by id desc;\n\n\nselect * from users where deleted_at is null and status = 2;\n\nselect * from contacts where id = 17900517;\nselect * from accounts where id = 10109838;\nselect * from opportunities where id = 6955880;\n\nselect * from opportunity_contacts where opportunity_id = 6955880;\nselect * from opportunity_contacts where contact_id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nSELECT * FROM activities WHERE uuid_to_bin('adcb8331-5988-4353-834e-383a355abba2') = uuid; # 38056424, crm 104659682404\nselect * from teams where id = 456;\nSELECT * FROM crm_configurations WHERE id = 363;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 456 and sa.provider = 'hubspot';\n\nselect * from crm_layouts where crm_configuration_id = 363;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (1203, 1204, 1635);\nSELECT * FROM crm_fields WHERE id IN (181536, 181538, 213455);\n\nSELECT * FROM teams WHERE name LIKE '%Electric%'; # 342, 272, 12767\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 342 and sa.provider = 'pipedrive';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 and name like 'NORTHUMBRIA POL%'; # and updated_at > '2025-07-01 00:00:00';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 order by remotely_created_at asc; # and updated_at > '2025-07-01 00:00:00';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 and updated_at > '2026-01-01 00:00:00';\nSELECT * FROM crm_fields WHERE crm_configuration_id = 272 and object_type = 'opportunity';\nSELECT * FROM crm_field_values WHERE crm_field_id = 127164;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 342 and sa.provider = 'pipedrive';\n\nSELECT * FROM teams WHERE id = 472;\nSELECT * FROM crm_configurations WHERE id = 380;\nselect * from activities where id = 38285673; # 38285673\nSELECT * FROM users WHERE id = 16942;\nSELECT * FROM groups WHERE id = 1964;\nSELECT * FROM playbooks WHERE id = 2033;\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 499; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1678;\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\n\nSELECT * FROM activities WHERE uuid_to_bin('96b1261f-2357-49f9-ab38-23ce12008ea0') = uuid;\n\nselect * from contacts c\nwhere c.crm_configuration_id = 370 order by c.updated_at desc;\n\nSELECT * FROM participants where activity_id = 38833541;\nSELECT * FROM participants where activity_id = 39216301;\nSELECT * FROM activity_summary_logs where activity_id = 39216301;\nSELECT * FROM activities WHERE uuid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = uuid; # 38833541, crm 478116564181\nSELECT * FROM activities WHERE uuid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acde4d885ae') = uuid; # 39216301, crm 480171536586\nselect * from crm_profiles where crm_configuration_id = 319 and crm_provider_id = 525785080;\nselect * from opportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;\nselect * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;\nselect * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856', '742723347700');\n# owner 13236 525785080\n# contact 1 16779180 665587441856 - activity - Alex Howes alex@supportroom.com created 2026-01-26\n# contact 2 19247563 742723347700 - ash@supportroom.com 2026-03-24\n# company 4176133 47150650569\n# deal 7100953 410150124747\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 400 and sa.provider = 'hubspot';\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556; # owner: 18101, crm: 477\nselect * from crm_configurations where id = 477;\nSELECT * FROM users WHERE id = 18101;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'integration-app';\n\nselect * from opportunities where id = 7594349;","depth":4,"value":"SELECT * FROM team_features where team_id = 1;\n\nSELECT * FROM teams WHERE name LIKE '%Vixio%'; # 340,270,11922\nSELECT * FROM users WHERE team_id = 340; # 12015\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 340\nand sa.provider = 'salesforce';\n# and sa.provider = 'salesloft';\n\nselect * from crm_fields where crm_configuration_id = 270 and object_type = 'event';\n# 125558 - Event Type - Event_Type__c\n# 125552 - Event Status - Event_Status__c\n\nSELECT * FROM sidekick_settings WHERE team_id = 340;\n\nSELECT * FROM crm_field_values WHERE crm_field_id in (125552);\n\nselect * from activities where crm_configuration_id = 270\nand type = 'conference' and crm_provider_id IS NOT NULL\nand actual_start_time > '2024-09-16 09:00:00' order by scheduled_start_time;\n\nSELECT * FROM activities WHERE id = 20871677;\nSELECT * FROM crm_field_data WHERE activity_id = 20871677;\n\nselect * from crm_layouts where crm_configuration_id = 270;\nselect * from crm_layout_entities where crm_layout_id in (886,887);\n\nSELECT * FROM crm_configurations WHERE id = 270;\n\nselect * from playbooks where team_id = 340; # 1514\nselect * from groups where team_id = 340;\nSELECT * FROM crm_fields WHERE id IN (125393, 125401);\n\nselect g.name as 'team name', p.name as 'playbook name', f.label as 'activity type field' from groups g\njoin playbooks p on g.playbook_id = p.id\njoin crm_fields f on p.activity_field_id = f.id\nwhere g.team_id = 340;\n\nSELECT * FROM activities WHERE uuid_to_bin('0c180357-67d2-419e-a8c3-b832a3490770') = uuid; # 20448716\nselect * from crm_field_data where object_id = 20448716;\n\nselect * from activities where crm_configuration_id = 270 and provider = 'salesloft' order by id desc;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%CybSafe%'; # 343,273,12008\nselect * from opportunities where team_id = 343;\nselect * from opportunities where team_id = 343 and crm_provider_id = '18099102526';\nselect * from opportunities where team_id = 343 and account_id = 945217482;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nselect * from accounts where team_id = 343 order by name asc;\n\nselect * from stages where crm_configuration_id = 273 and type = 'opportunity';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Voyado%'; # 353,283,12143\nSELECT * FROM activities WHERE crm_configuration_id = 283 and account_id = 3777844 order by id desc;\nSELECT * FROM accounts WHERE team_id = 353 AND name LIKE '%Salesloft%';\nSELECT * FROM activities WHERE id = 20717903;\n\nselect * from participants where activity_id IN (20929172,20928605,20928468,20926272,20926271,20926270,20926269,20916499,20916454,20916436,20916435,20900015,20900014,20900013,20897312,20897243,20897241,20897237,20897232,20897229,20893648,20893231,20893230,20893229,20893228,20889784,20885039,20885038,20885037,20885036,20885035,20882728,20882708,20882703,20882702,20869828,20869811,20869806,20869801,20869799,20869798,20869796,20869795,20869794,20869761,20869760,20869759,20868688,20868687,20850340,20847195,20841710,20833967,20827021,20825307,20825305,20825297,20824615,20824400,20823927,20821760,20795588,20794233,20794057,20793710,20785811,20781789,20781394,20781307,20762651,20758453,20758282,20757323,20756643,20756636,20756629,20756627,20756606,20756605,20756604,20756603,20756602,20756600,20756599,20756598,20756595,20756594,20756589,20756587,20756577,20756573,20748918,20748386,20748385,20748384,20748383,20748382,20748381,20748380,20748379,20748377,20748375,20748373,20743301,20717905,20717904,20717903,20717901,20717899);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 353\nand sa.provider = 'salesforce';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%modern world business solutions%'; # 345,275,12016, l.atkinson@mwbsolutions.co.uk\nSELECT * FROM activities WHERE uuid_to_bin('3921d399-3fef-4609-a291-b0097a166d43') = uuid;\n# id: 20940638, user: 12022, contact: 5305871\nSELECT * FROM activity_summary_logs WHERE activity_id = 20940638;\nselect * from contacts where team_id = 345 and crm_provider_id = '30891432415' order by name asc; # 5305871\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 345\nand sa.provider = 'hubspot';\n\nselect * from users where team_id = 345 and id = 12022;\nSELECT * FROM crm_profiles WHERE user_id = 12022;\nSELECT * FROM participants WHERE activity_id = 20940638;\nSELECT * FROM users u\nJOIN crm_profiles cp ON u.id = cp.user_id\nWHERE u.team_id = 345;\n\nselect * from contacts where team_id = 345 and crm_provider_id = '30880813535' order by name desc; # 5305871\n\nselect * from team_features where team_id = 345;\nSELECT * FROM activities WHERE uuid_to_bin('11701e2d-2f82-4dab-a616-1db4fad238df') = uuid; # 21115197\nSELECT * FROM participants WHERE activity_id = 20897406;\n\n\n\nSELECT * FROM activities WHERE uuid_to_bin('63ba55cd-1abc-447d-83da-0137000005b7') = uuid; # 20953912\nSELECT * FROM activities WHERE crm_configuration_id = 275 and provider = 'ringcentral' and title like '%1252629100%';\n\n\nSELECT * FROM activities WHERE id = 20946641;\nSELECT * FROM crm_profiles WHERE user_id = 10211;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120,97,10984, triger@lunio.ai\nSELECT * FROM opportunities WHERE crm_configuration_id = 97 and crm_provider_id = '006N1000006c5PpIAI';\nselect * from stages where crm_configuration_id = 97 and type = 'opportunity';\nselect * from opportunities where team_id = 120;\n\n\nselect * from crm_configurations crm join teams t on crm.id = t.crm_id\nwhere 1=1\nAND t.current_billing_plan IS NOT NULL\nAND crm.auto_sync_activity = 0\nand crm.provider = 'hubspot';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Exclaimer%'; # 270,205,10053,james.lewendon@exclaimer.com\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 270\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('b54df794-2a9a-4957-8d80-09a600ead5f8') = uuid; # 21637956\nSELECT * FROM crm_profiles WHERE user_id = 11446;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Cygnetise%'; # 372,300,12554, alex.chikly@cygnetise.com\nselect * from playbooks where team_id = 372;\nselect * from crm_fields where crm_configuration_id = 300 and object_type = 'event'; # 141340\nSELECT * FROM crm_field_values WHERE crm_field_id = 141340;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 372\nand sa.provider = 'salesforce';\n\nselect * from crm_profiles where crm_configuration_id = 300;\nSELECT * FROM crm_configurations WHERE team_id = 372;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Planday%'; # 291,242,11501,mfa@planday.com\nSELECT * FROM opportunities WHERE team_id = 291 and crm_provider_id = '006bG000005DO86QAG'; # 3207756\nselect * from crm_field_data where object_id = 3207756;\nSELECT * FROM crm_fields WHERE id = 111834;\n\nselect f.id, f.crm_provider_id AS field_name, f.label, fd.object_id AS dealId, fd.value\nFROM crm_fields f\nJOIN crm_field_data fd ON f.id = fd.crm_field_id\nWHERE f.crm_configuration_id = 242\nAND f.object_type = 'opportunity'\nAND fd.object_id IN (3207756)\nORDER BY fd.object_id, fd.updated_at;\n\nSELECT * FROM crm_configurations WHERE auto_connect = 1;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Tour%'; # 187,209,8150,salesforce-admin@tourlane.com\nselect * from group_deal_risk_types drgt join groups g on drgt.group_id = g.id\nwhere g.team_id = 187;\n\nselect * from `groups` where team_id = 187;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 187\nand sa.provider = 'salesforce';\n\n# Destination - 98870 - Destination__c\n# Stage - 79014 - StageName\n# Land Arrangement - 98856 - Land_Arrangement__c\n# Flight - 98848 - Flight__c\n# Last activity date - 98812 - LastActivityDate\n# Last modified date - 98809 - LastModifiedDate\n# Last inbound mail timestamp - 99151 - Last_Inbound_Mail_Timestamp__c\n# next call - 98864 - Next_Call__c\n\nselect * from crm_fields where crm_configuration_id = 209 and object_type = 'opportunity';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 209;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 682;\n\nselect * from opportunities where team_id = 187 and name LIKE'%Muriel Sal%';\nselect * from opportunities where team_id = 187 and user_id = 9951 and is_closed = 0;\nselect * from activities where opportunity_id = 3538248;\n\nSELECT * FROM crm_profiles WHERE user_id = 8150;\n\nselect * from deal_risks where opportunity_id = 3538248;\n\nselect * from teams where crm_id IS NULL;\n\nSELECT opp.id AS opportunity_id,\n u.group_id AS group_id,\n MAX(\n CASE\n WHEN a.type IN (\"sms-inbound\", \"sms-outbound\") THEN a.created_at\n ELSE a.actual_end_time\n END) as last_date\nFROM opportunities opp\nleft join activities a on a.opportunity_id = opp.id\ninner join users u on opp.user_id = u.id\nwhere opp.user_id IN (9951)\n\nAND opp.is_closed = 0\nand a.status IN ('completed', 'received', 'delivered') OR a.status IS NULL\ngroup by opp.id;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Cybsafe%'; # 343,301,12008,polly.morphew@cybsafe.com\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 301;\nSELECT * FROM contacts WHERE id = 6612363;\nSELECT * FROM accounts WHERE id = 4235676;\nSELECT * FROM opportunities WHERE crm_configuration_id = 301 and crm_provider_id = 32983784868;\nselect * from opportunity_stages where opportunity_id = 4503759;\n# SELECT * FROM opportunities WHERE id = 4569937;\n\nselect * from activities where crm_configuration_id = 301;\nSELECT * FROM activities WHERE uuid_to_bin('d3b2b28b-c3d0-4c2d-8ed0-eef42855278a') = uuid; # 26330370\nSELECT * FROM participants WHERE activity_id = 26330370;\n\nSELECT * FROM teams WHERE id = 375;\nselect * from playbooks where team_id = 375;\n\nselect * from stages where crm_configuration_id = 301 and type = 'opportunity';\n\nselect * from teams;\nselect * from contact_roles;\n\nSELECT * FROM opportunities WHERE team_id = 343 and user_id = 12871 and close_date >= '2024-11-01';\n\nselect * from users u join crm_profiles cp on cp.user_id = u.id where u.team_id = 343;\n\nSELECT * FROM crm_field_data WHERE object_id = 3771706;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_fields WHERE crm_configuration_id = 301 and object_type = 'opportunity'\nand crm_provider_id LIKE \"%traffic_light%\";\nSELECT * FROM crm_field_values WHERE crm_field_id IN (144020,144048,144111,144113,144126,144481,144508,144531);\n\nSELECT fd.* FROM opportunities o\nJOIN crm_field_data fd ON o.id = fd.object_id\nWHERE o.team_id = 343\n# and o.user_id IS NOT NULL\nand fd.crm_field_id IN (144020,144048,144111,144113,144126,144481,144508,144531)\nand fd.value != ''\norder by value desc\n# group by o.id\n;\n\nSELECT * FROM opportunities WHERE id = 3769843;\n\nSELECT * FROM teams WHERE name LIKE '%Tour%'; # 187,209,8150, salesforce-admin@tourlane.com\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 209;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 682;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Funding Circle%'; # 220,177,8603,aswini.mishra@fundingcircle.com\nSELECT * FROM activities WHERE uuid_to_bin('7a40e99b-3b37-4bb1-b983-325b81801c01') = uuid; # 23139839\n\n\nSELECT * FROM opportunities WHERE id = 3855992;\n\nSELECT * FROM users WHERE name LIKE '%Angus Pollard%'; # 8988\n\nSELECT * FROM teams WHERE name LIKE '%Story Terrace%'; # 379, 307, 12894\nSELECT * FROM crm_fields WHERE crm_configuration_id = 307 and object_type != 'opportunity';\n\nselect * from contacts where team_id = 379 and name like '%bebro%'; # 5874411, crm: 77229348507\nSELECT * FROM crm_field_data WHERE object_id = 5874411;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 379\nand sa.provider = 'hubspot';\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%mentio%'; # 117, 94, 6371, nikhil.kumar@mention-me.com\nSELECT * FROM activities WHERE uuid_to_bin('82939311-1af0-4506-8546-21e8d1fdf2c1') = uuid;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Tourlane%'; # 187, 209, 8150, salesforce-admin@tourlane.com\nSELECT * FROM opportunities WHERE team_id = 187 and crm_provider_id = '006Se000008xfvNIAQ'; # 3537793\nselect * from generic_ai_prompts where subject_id = 3537793;\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120, 97, 10984, triger@lunio.ai\nSELECT * FROM crm_configurations WHERE id = 97;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 97;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 355;\nSELECT * FROM crm_fields WHERE id = 32682;\n\nselect cfd.value, o.* from opportunities o\njoin crm_field_data cfd on o.id = cfd.object_id and cfd.crm_field_id = 32682\nwhere team_id = 120\nand cfd.value != ''\n;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 120\nand sa.provider = 'salesforce';\n\nselect * from opportunities where team_id = 120 and crm_provider_id = '006N1000007X8MAIA0';\nSELECT * FROM crm_field_data WHERE object_id = 2313439;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE id = 410;\nSELECT * FROM teams WHERE name LIKE '%Local Business Oxford%';\nselect * from scorecards where team_id = 410;\nselect * from scorecard_rules;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Funding%'; # 220, 177, 8603, aswini.mishra@fundingcircle.com\nselect * from activities a\njoin opportunities o on a.opportunity_id = o.id\njoin users u on o.user_id = u.id\nwhere a.crm_configuration_id = 177 and a.type LIKE '%email-out%'\n# and a.actual_end_time > '2024-12-16 00:00:00'\n# and o.remotely_created_at > '2024-12-01 00:00:00'\n# and u.group_id = 1014\nand u.id = 9021\norder by a.id desc;\nSELECT * FROM opportunities WHERE id in (3981384,4017346);\nSELECT * FROM users WHERE team_id = 220 and id IN (8775, 11435);\n\nselect * from users where id = 9021;\nselect * from inboxes where user_id = 9021;\n\nselect * from inbox_emails where inbox_id = 1349 and email_date > '2024-12-18 00:00:00';\n\nselect * from email_messages where team_id = 220\nand orig_date > '2024-12-16 00:00:00' and orig_date < '2024-12-19 00:00:00'\nand subject LIKE '%Personal%'\n# and 'from' = 'credit@fundingcircle.com'\n;\n\nselect * from activities a\njoin opportunities o on a.opportunity_id = o.id\nwhere a.user_id = 9021 and a.type LIKE '%email-out%'\nand a.actual_end_time > '2024-12-18 00:00:00'\nand o.user_id IS NOT NULL\nand o.remotely_created_at > '2024-12-01 00:00:00'\norder by a.id desc;\n\nSELECT * FROM opportunities WHERE team_id = 220 and name LIKE '%Right Car move Limited%' and id = 3966852;\nselect * from activities where crm_configuration_id = 177 and type LIKE '%email%' and opportunity_id = 3966852 order by id desc;\n\nselect * from team_settings where name IN ('useCloseDate');\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Hurree%'; # 104, 81, 6175, jfarrell@hurree.co\nSELECT * FROM opportunities WHERE team_id = 104 and name = 'PropOp';\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 104\nand sa.provider = 'hubspot';\n\nselect * from crm_configurations where last_synced_at > '2025-01-19 01:00:00'\nselect * from teams where crm_id IS NULL;\n\nselect t.name as 'team', u.name as 'owner', u.email, u.phone\nfrom teams t\njoin activity_providers ap on t.id = ap.team_id\njoin users u on t.owner_id = u.id\nwhere 1=1\n and t.status = 'active'\n and ap.is_enabled = 1\n# and u.status = 1\n and ap.provider = 'ms-teams';\n\nselect * from crm_configurations where provider = 'bullhorn'; # 344\nSELECT * FROM teams WHERE id = 442; # 14293\nselect * from users where team_id = 442;\nselect * from social_accounts sa where sa.sociable_id = 14293;\nselect * from invitations where team_id = 442;\n\n# ********************************************************************************************************\nSELECT * FROM users WHERE email LIKE '%nea.liikamaa@eletive.com%'; # 14022\nSELECT * FROM teams WHERE id = 429;\nselect * from opportunities where team_id = 429 and crm_provider_id IN (16157415775, 22246219645);\nselect * from activities where opportunity_id in (4340436,4353519);\n\nselect * from transcription where activity_id IN (25630961,25381771);\nselect * from generic_ai_prompts where subject_id IN (4353519);\n\nSELECT\n a.id as activity_id,\n a.opportunity_id,\n a.type as activity_type,\n a.language,\n CONCAT(a.title, a.description) AS mail_content,\n e.from AS mail_from,\n e.to AS mail_to,\n e.subject AS mail_subject,\n e.body AS mail_body,\n p.type as prompt_type,\n p.status as prompt_status,\n p.content AS prompt_content,\n a.actual_start_time as created_at\nFROM activities a\n LEFT JOIN ai_prompts p ON a.transcription_id = p.transcription_id AND p.deleted_at IS NULL\n LEFT JOIN email_messages e ON a.id = e.activity_id\nWHERE a.actual_start_time > '2024-01-01 00:00:00'\n AND a.opportunity_id IN (4353519)\n AND a.status IN ('completed', 'received', 'delivered')\n AND a.deleted_at IS NULL\n AND a.type NOT IN ('sms-inbound', 'sms-outbound')\nORDER BY a.opportunity_id ASC, a.id ASC;\n\nSELECT * FROM users WHERE name LIKE '%George Fierstone%'; # 14293\nSELECT * FROM teams WHERE id = 442;\nSELECT * FROM crm_configurations WHERE id = 344;\nselect * from team_features where team_id = 442;\nselect * from groups where team_id = 442;\nselect * from playbooks where team_id = 442;\nselect * from playbook_categories where playbook_id = 1729;\nselect * from crm_fields where crm_configuration_id = 344 and id = 172024;\nSELECT * FROM crm_field_values WHERE crm_field_id = 172024;\nselect * from crm_layouts where crm_configuration_id = 344;\nselect * from playbook_layouts where playbook_id = 1729;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Learning%'; # 260, 221, 9444\n\nselect s.*\n# , s.sent_at, u.name, a.*\nfrom activity_summary_logs s\ninner join activities a on a.id = s.activity_id\ninner join users u on u.id = a.user_id\nwhere a.crm_configuration_id = 356\nand s.sent_at > date_sub(now(), interval 60 day)\norder by a.actual_end_time desc;\n\nselect * from activities a\n# inner join activity_summary_logs s on s.activity_id = a.id\nwhere a.crm_configuration_id = 356 and a.actual_end_time > date_sub(now(), interval 60 day)\n# and a.crm_provider_id is not null\n# and provider <> 'ringcentral'\nand status = 'completed'\norder by a.actual_end_time desc;\n\nselect * from teams order by id desc; # 17328, 32, 17830, integration-account@jiminny.com\nSELECT * FROM users;\nSELECT * FROM users where team_id = 260 and status = 1; # 201 - 150 active\nSELECT * FROM teams WHERE id = 260;\nselect * from team_settings where team_id = 260;\nselect * from crm_configurations where team_id = 260;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 356;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1184;\n\nselect * from accounts where crm_configuration_id = 221 order by id desc; # 7000\nselect * from leads where crm_configuration_id = 221 order by id desc; # 0\nselect * from contacts where crm_configuration_id = 221 order by id desc; # 200 000\nselect * from opportunities where crm_configuration_id = 221 order by id desc; # 0\nselect * from crm_profiles where crm_configuration_id = 221 order by id desc; # 23\nselect * from crm_fields where crm_configuration_id = 221;\nselect * from crm_field_values where crm_field_id = 5302 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 221 order by id desc;\nselect * from stages where crm_configuration_id = 221 order by id desc;\n\nselect * from accounts where crm_configuration_id = 356 order by id desc; # 7000\nselect * from leads where crm_configuration_id = 356 order by id desc; # 0\nselect * from contacts where crm_configuration_id = 356 order by id desc; # 200 000\nselect * from opportunities where crm_configuration_id = 356 order by id desc; # 0\nselect * from crm_profiles where crm_configuration_id = 356 order by id desc; # 23\nselect * from crm_fields where crm_configuration_id = 356;\nselect * from crm_field_values where crm_field_id = 5302 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 356 order by id desc;\nselect * from stages where crm_configuration_id = 356 order by id desc;\n\nselect * from playbooks where team_id = 260 order by id desc; # 4 (2 deleted)\nselect * from groups where team_id = 260 order by id desc; # 27 groups, (2 deleted)\nselect * from playbook_layouts where playbook_id IN (1410,1409,1276,1254); # 4\nselect ce.* from calendars c\njoin users u on c.user_id = u.id\njoin calendar_events ce on c.id = ce.calendar_id\nwhere u.team_id = 260\nand (ce.start_time > '2025-02-21 00:00:00')\n;\n# calendar events 1207\n#\n\nselect * from opportunities where team_id = 260;\nSELECT * FROM crm_field_data WHERE object_id = 4696496;\n\nselect * from activities where crm_configuration_id = 356 and crm_provider_id IS NOT NULL;\nselect * from activities where crm_configuration_id IN (221) and provider NOT IN ('ms-teams', 'uploader', 'zoom-bot')\n# and type = 'conference' and status = 'scheduled' and activities.is_internal = 0\nand created_at > '2024-03-01 00:00:00'\norder by id desc; # 880 000, ringcentral, avaya\nSELECT * FROM participants WHERE activity_id = 26371744;\n\n# all activities 942 000 +\n# conference 7385 - scheduled 984 - external 343\n\nselect * from activities where id = 26321812;\nselect * from participants where activity_id = 26321812;\nselect * from participants where activity_id in (26414510,26414514,26414516,26414604,26414653,26414655);\nselect * from leads where id in (720428,689175,731546,645866,621037);\n\nselect * from users where id = 13841;\nselect * from opportunities where user_id = 9541;\nselect * from stages where id = 15900;\n\nselect * from accounts where\n# id IN (4160055,5053725,4965303,4896434)\nid in (4584518,3249934,3218025,3891133,3399450,4172999,4485161,3101785,4587203,3070816,2870343,2870341,3563940,4550846,3424464,3249963,2870342)\n;\n\nselect * from activities where id = 26654935;\nSELECT * FROM opportunities WHERE id = 4803458;\n\nSELECT * FROM opportunities where team_id = 260 and user_id = 13841 AND stage_id = 15900;\nSELECT id, uuid, provider, type, lead_id, account_id, contact_id, opportunity_id, stage_id, status, recording_state, title, actual_start_time, actual_end_time\nFROM activities WHERE user_id = 13841 AND opportunity_id IN (4729783, 4731717, 4731726, 4732064, 4732849, 4803458, 4813213);\n\nSELECT DISTINCT\n o.id, o.stage_id, s.name, a.title,\n a.*\nFROM activities a\n# INNER JOIN tracks t ON a.id = t.activity_id\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams team ON u.team_id = team.id\nINNER JOIN groups g ON u.group_id = g.id\nINNER JOIN opportunities o ON a.opportunity_id = o.id\nINNER JOIN stages s ON o.stage_id = s.id\nWHERE\n a.crm_configuration_id = 356\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n# and a.user_id = 13841\n AND u.uuid = uuid_to_bin('6f40e4b8-c340-4059-b4ac-1728e87ea99e')\n AND team.uuid = uuid_to_bin('a607fba7-452e-4683-b2af-00d6cb52c93c')\n AND g.uuid = uuid_to_bin('b5d69e40-24a0-4c16-810b-5fa462299f94')\n\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND t.type IN ('audio', 'video')\n AND (\n (a.actual_start_time BETWEEN '2025-03-13 00:00:00' AND '2025-03-18 07:59:59')\n OR\n (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-13 00:00:00' AND '2025-03-18 07:59:59'\n )\n )\n AND (\n a.is_private = 0\n OR (\n a.is_private = 1\n AND u.uuid = uuid_to_bin('6f40e4b8-c340-4059-b4ac-1728e87ea99e')\n )\n )\n AND (\n# s.id = 15900\n s.uuid = uuid_to_bin('04ca1c26-c666-4268-a129-419c0acffd73')\n OR s.uuid IS NULL -- Include records without opportunity stage\n )\n\nORDER BY a.actual_end_time DESC;\n# ********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Lead Forensics%'; # 190, 162, 8474, willsc@leadforensics.com\nSELECT * FROM users WHERE team_id = 190;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 190\nand sa.provider = 'hubspot';\n\nselect * from role_user where user_id = 8474;\n\nselect * from crm_configurations where provider = 'bullhorn';\n\nSELECT * FROM opportunities WHERE uuid_to_bin('94578249-65ec-4205-90f2-7d1a7d5ab64a') = uuid;\nSELECT * FROM users WHERE uuid_to_bin('26dbadeb-926f-4150-b11b-771b9d4c2f9a') = uuid;\n\nSELECT * FROM opportunities WHERE id = 4732493;\nselect * from activities where opportunity_id = 4732493;\n\n# ********************************************************************************************************\nSELECT * FROM teams WHERE id = 443; # 358, 14315, andrea.romano@correrenaturale.com\nSELECT * FROM opportunities WHERE team_id = 443;\n\nSELECT a.id, a.type, a.user_id, a.status, a.deleted_at, u.name, u.email, u.team_id as activity_team_id, u.status, u.deleted_at, t.name, t.status, s.team_id as stage_team_id\nFROM activities AS a\nJOIN stages AS s ON a.stage_id = s.id\nJOIN users AS u ON u.id = a.user_id\nJOIN teams AS t ON t.id = s.team_id\nWHERE u.team_id <> s.team_id and t.id > 135;\n\n\nSELECT\n crm_configuration_id,\n crm_provider_id,\n COUNT(*) as duplicate_count,\n GROUP_CONCAT(id) as stage_ids,\n GROUP_CONCAT(name) as stage_names\nFROM stages\nGROUP BY crm_configuration_id, crm_provider_id\nHAVING COUNT(*) > 1\nORDER BY duplicate_count DESC;\n\nselect * from stages where id IN (14898,14907);\n\nselect * from business_processes;\n\nSELECT *\nFROM crm_configurations\nWHERE team_id IN (\n SELECT team_id\n FROM crm_configurations\n GROUP BY team_id\n HAVING COUNT(*) > 1\n)\nORDER BY team_id;\n\nSELECT *\nFROM teams\nWHERE crm_id IN (\n SELECT crm_id\n FROM teams\n GROUP BY crm_id\n HAVING COUNT(*) > 1\n)\nORDER BY crm_id;\n\n# ***************************************************************************\nselect * from crm_configurations where provider = 'integration-app';\nSELECT * FROM teams WHERE id = 443; # Correre Naturale 358 14315 andrea.romano@correrenaturale.com\nselect * from activities where crm_configuration_id = 358 order by actual_end_time desc;\nselect id, uuid, actual_end_time, crm_provider_id, is_internal, playbook_category_id, type, user_id, lead_id, contact_id, account_id, opportunity_id, status, title from activities where crm_configuration_id = 358 order by actual_end_time desc;\nselect * from team_features where team_id = 358;\nselect * from activity_summary_logs;\n\nselect * from teams where id = 406;\n\n# ************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Sportfive%'; # 267, 202, 14637, srv.salesforce@sportfive.com\nselect * from activities where crm_configuration_id = 202 order by actual_end_time desc;\n\nSELECT * FROM users where id = 14637;\nSELECT * FROM teams where id = 267;\nSELECT * FROM groups where id = 1118;\n\nselect g.name, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\ninner join groups g on g.id = u.group_id\nwhere a.crm_configuration_id = 202\nand a.is_internal = 0\nand (a.scheduled_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type = 'conference'\nand a.status != 'completed'\nand a.external_id is not null\norder by a.scheduled_start_time desc;\n\nSELECT * FROM activities\nWHERE crm_configuration_id = 202\n AND status IN ('completed', 'failed')\n AND recording_state != 'stopped'\n AND type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n AND (is_private = 0 OR user_id = 14637)\n AND (\n (\n actual_start_time BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n ) OR (\n actual_start_time IS NULL\n AND type IN ('sms-outbound', 'sms-inbound')\n AND created_at BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n )\n )\n AND NOT EXISTS (\n SELECT 1\n FROM tracks\n WHERE\n tracks.activity_id = activities.id\n AND tracks.type IN ('audio', 'video')\n )\nORDER BY actual_end_time DESC;\n\nSELECT DISTINCT\n a.*\nFROM activities a\nINNER JOIN tracks t ON a.id = t.activity_id\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams team ON u.team_id = team.id\nWHERE\n a.crm_configuration_id = 202\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n# and a.user_id = 14637\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND t.type IN ('audio', 'video')\n AND (\n (a.actual_start_time BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59')\n OR\n (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-12 12:00:00' AND '2025-03-24 11:59:59'\n )\n )\n AND (\n a.is_private = 0\n OR (\n a.is_private = 1\n AND a.user_id = 14637\n )\n )\n\nORDER BY a.actual_end_time DESC\n;\n\nSELECT DISTINCT a.*\nFROM activities a\nINNER JOIN users u ON a.user_id = u.id\nINNER JOIN teams t ON u.team_id = t.id\n# INNER JOIN tracks tr ON a.id = tr.activity_id\n# INNER JOIN groups g ON u.group_id = g.id\nWHERE 1=1\n AND t.id = 267\n# AND t.uuid = uuid_to_bin('aed4927b-f1ea-499e-94c3-83762fd233e8')\n AND a.status IN ('completed', 'failed')\n AND a.recording_state != 'stopped'\n AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n# AND tr.type NOT IN ('audio', 'video')\n AND (\n a.is_private = 0\n OR a.user_id = 14637\n )\n AND (\n (a.actual_start_time BETWEEN '2025-03-19 00:00:00' AND '2025-03-21 23:59:59')\n OR (\n a.actual_start_time IS NULL\n AND a.type IN ('sms-outbound', 'sms-inbound')\n AND a.created_at BETWEEN '2025-03-19 00:00:00' AND '2025-03-21 23:59:59'\n )\n )\n# and NOT EXISTS (\n# SELECT 1\n# FROM tracks t\n# WHERE t.activity_id = a.id\n# AND t.type IN ('audio', 'video')\n# )\n\nORDER BY a.actual_end_time DESC;\n\nSELECT * FROM tracks WHERE activity_id = 26485995;\n\nselect a.is_private, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\nwhere a.crm_configuration_id = 202\n# and a.is_internal = 0\nand (a.actual_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type IN (\"softphone\",\"softphone-inbound\",\"conference\",\"sms-inbound\")\nand a.status IN ('completed', 'failed')\n# and a.external_id is not null\norder by a.actual_end_time desc;\n\nselect * from activities a where a.crm_configuration_id = 202\nand a.actual_start_time between '2025-03-20 00:00:00' and '2025-03-21 00:00:00'\n# AND a.type IN ('softphone', 'softphone-inbound', 'conference', 'sms-inbound', 'sms-outbound')\n\nselect g.name, a.title, uuid_from_bin(a.uuid), a.external_id, a.status, a.recording_state, a.recording_reason_code, a.scheduled_start_time, a.scheduled_end_time, a.actual_start_time, a.actual_end_time from activities a\ninner join users u on u.id = a.user_id\ninner join groups g on g.id = u.group_id\nwhere a.crm_configuration_id = 202\nand a.is_internal = 0\nand (a.scheduled_start_time between '2025-03-19 00:00:00' and '2025-03-21 00:00:00')\nand a.type = 'conference'\nand a.status != 'completed'\nand a.external_id is not null\norder by a.scheduled_start_time desc;\n\nSELECT * FROM teams WHERE name LIKE '%Tourlane%';\nSELECT * FROM crm_fields WHERE crm_configuration_id = 209 and object_type = 'opportunity';\nSELECT * FROM crm_field_data WHERE crm_field_id = 98809;\n\nselect * from users where status = 1 AND timezone = 'MDT';\n\nselect * from opportunities where id = 3769814;\nselect * from deal_risks where opportunity_id = 3769814;\n\nselect cp.* from crm_profiles cp\njoin users u on cp.user_id = u.id\njoin crm_configurations crm on cp.crm_configuration_id = crm.id\nwhere crm.provider = 'hubspot' AND u.status = 1 AND log_notes != 'none';\n\nselect * from crm_fields where id = 154575;\n\nselect * from team_features where feature = 'SUPPORTS_SYNC_MISSING_CALL_DISPOSITIONS';\nSELECT * FROM teams WHERE id = 176; # crm 148\nselect * from activities where crm_configuration_id = 148 and provider = 'hubspot' order by id desc;\n\nselect * from activity_providers where provider = 'amazon-connect';\n\nselect * from crm_fields cf\njoin crm_configurations crm on crm.id = cf.crm_configuration_id\nwhere crm.provider = 'hubspot' and cf.object_type IN ('account', 'contact');\n\n# *********************************************************************************************\nSELECT * FROM users WHERE id IN (15415, 15418);\nSELECT * FROM groups WHERE id IN (1805,1806);\nSELECT * FROM playbooks WHERE id = 1860;\nSELECT * FROM playbook_categories WHERE id = 38634;\nSELECT * FROM crm_fields WHERE id = 189962;\n\nSELECT * FROM teams WHERE name = 'Pulsar Group'; # 472, 380, 15138 raza.gilani@vuelio.com\n\nSELECT * FROM crm_profiles WHERE user_id = 15415;\nSELECT * FROM social_accounts WHERE sociable_id = 15415 and provider = 'salesforce';\n\nselect * from sidekick_settings where team_id = 472;\n\nSELECT * FROM activities WHERE uuid_to_bin('452c58c7-b87c-4fdd-953e-d7af185e9588') = uuid; # 28617536, user: 15418\nSELECT * FROM activities WHERE uuid_to_bin('399114ee-d3a8-458c-bff5-5f654658db0a') = uuid; # 28344407, user: 15415\nSELECT * FROM activities WHERE uuid_to_bin('f0aa567f-0ab1-4bbb-96aa-37dcf184676b') = uuid; # 28580288, user: 15415\nSELECT * FROM activities WHERE uuid_to_bin('50c086b1-2770-4bca-b5ae-6bac22ec426b') = uuid; # 28566069, user: 15415\n\n# *********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%TeamTailor%'; # 109, 218, 13969, salesforce-integrations@teamtailor.com\nselect * from crm_configurations where id = 218;\nSELECT * FROM activities WHERE uuid_to_bin('e39b5857-7fdb-4f5a-951a-8d3ca69bb1b0') = uuid; # 28338765\nSELECT * FROM users WHERE id IN (13232, 13230);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\n\n0057R00000EPL5HQAX Inez Ekblad\n\n1091cb81-5ea1-4951-a0ed-f00b568f0140 Triman Kaur\n\nSELECT * FROM crm_profiles WHERE user_id IN (13232, 13230);\n\n############################################################################################\nSELECT * FROM activities WHERE uuid_to_bin('675eeaeb-5681-42db-90bc-54c07a604408') = uuid; # 28655939 00UVg00000FLvnSMAT\nSELECT * FROM crm_field_data WHERE activity_id = 28655939;\nSELECT * FROM crm_fields WHERE id IN (94491,94493,94498);\nSELECT * FROM users WHERE id = 13658;\nSELECT * FROM teams WHERE id = 109;\nSELECT * FROM crm_configurations WHERE id = 218;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Strengthscope%'; # 481, 390, 15420, katy.holden@strengthscope.comk\nSELECT * FROM stages WHERE crm_configuration_id = 390;\nselect * from business_processes where team_id = 481 and crm_configuration_id = 390;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 481\nand sa.provider = 'salesforce';\n\n\nSELECT * FROM users WHERE id = 15780; # team 462\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 462\nand sa.provider = 'hubspot';\n\n\nselect * from teams where id = 495;\nSELECT * FROM users WHERE id = 15794;\nselect * from social_accounts where sociable_id = 15794;\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Flight%'; # 427, 333, 13752\nSELECT * FROM accounts WHERE team_id = 427 and crm_provider_id = '668731000183444517';\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Group GTI%'; # 495, 407, 15794\nSELECT * FROM activities WHERE crm_configuration_id = 407\nand status = 'completed' and type = 'conference'\norder by id desc;\n\nselect ru.*, pr.*, p.* from users u join role_user ru on ru.user_id = u.id\njoin permission_role pr on pr.role_id = ru.role_id\n join permissions p on p.id = pr.permission_id\nwhere team_id = 495 and p.name IN ('dial');\n\nselect * from permission_role;\n\nselect * from activities where crm_configuration_id = 407 and status = 'completed' order by id desc;\nSELECT * FROM activities WHERE id = 29512773;\nSELECT * FROM activities WHERE id IN (29042721,28991325,29002874);\n\nSELECT al.* from activity_summary_logs al join activities a on a.id = al.activity_id\nwhere a.crm_configuration_id = 407\n# and a.id IN (29042721,28991325,29002874);\n\nSELECT * FROM users WHERE id = 15794;\nSELECT * FROM users WHERE team_id = 495;\nSELECT * FROM social_accounts WHERE sociable_id = 15794;\nSELECT * FROM opportunities WHERE team_id = 495 and name like '%OC:%';\nSELECT * FROM contacts WHERE team_id = 495;\nSELECT * FROM leads WHERE team_id = 495;\nSELECT * FROM accounts WHERE team_id = 495;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 407;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 407;\nSELECT * FROM crm_configurations WHERE id = 407;\nSELECT * FROM opportunities WHERE team_id = 495 and close_date BETWEEN '2025-06-01' AND '2025-07-01'\nand user_id IS NOT NULL and is_closed = 1 and is_won = 1;\n\n# ********************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Hamilton Court FX LLP%'; # 249, 187, 10103\nSELECT * FROM activities WHERE uuid_to_bin('4659c2bb-9a49-484e-9327-a3d66f1e028c') = uuid; # 28951064\nSELECT * FROM crm_fields WHERE crm_configuration_id = 187 and object_type IN ('tasks', 'event');\n\n# *********************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Checkstep%'; # 325, 256, 11753\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 325\nand sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('7be372e2-1916-4d79-a2f3-ca3db1346db3') = uuid; # 28611085\nSELECT * FROM activities WHERE uuid_to_bin('980f0336-840b-4185-a5a9-30cf8b0749a8') = uuid; # 28719733\nSELECT * FROM activity_summary_logs where activity_id = 28719733;\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Learning%'; # 260, 356, 9444\nSELECT * FROM activity_summary_logs where sent_at BETWEEN '2025-06-09 11:38:00' AND '2025-06-09 11:40:00';\nSELECT * FROM leads WHERE crm_configuration_id = 356 and crm_provider_id = '230045001502770504'; # 823630\nselect * from activities where crm_configuration_id = 356 and lead_id = 841732;\n\nSELECT * from activity_summary_logs al join activities a on a.id = al.activity_id\nwhere a.crm_configuration_id = 356;\n\nselect * from activities where crm_configuration_id = 356\nand actual_end_time between '2025-06-09 11:00:00' and '2025-06-09 12:00:00'\norder by id desc;\n\nselect * from accounts where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\nselect * from leads where crm_configuration_id = 356 and crm_provider_id = '230045001514275654' order by id desc;\nselect * from contacts where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\nselect * from opportunities where crm_configuration_id = 356 and crm_provider_id = '230045001514403366' order by id desc;\n\nselect * from team_features where team_id = 260;\nselect * from features where id IN (1,2,4,6,18,19,20,9,10,3,23,24,25,26,27);\n\nSELECT * FROM activities WHERE uuid_to_bin('7be372e2-1916-4d79-a2f3-ca3db1346db3') = uuid;\n\nselect * from crm_fields;\nselect * from crm_layout_entities;\n\nSELECT * FROM teams WHERE name LIKE '%Optable%';\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Teamtailor%'; # 109, 218, 13969\nSELECT * FROM crm_configurations WHERE id = 218;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 109\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('675eeaeb-5681-42db-90bc-54c07a604408') = uuid; # 28655939\nSELECT * FROM crm_field_data WHERE activity_id = 28655939;\nSELECT * FROM crm_fields WHERE id in (94491,94493,94498);\n\nselect * from teams where crm_id IS NULL;\n\nSELECT * FROM activities WHERE uuid_to_bin('71aa8a0c-9652-4ff6-bee7-d98ae60abef6') = uuid;\n\n# *************************************************************************************************\nselect * from team_domains where team_id = 399;\nSELECT * FROM teams WHERE name LIKE '%Rydoo%'; # 399, 318, 13207\n\nselect * from calendar_events where id = 5163781;\nSELECT * FROM activities WHERE uuid_to_bin('be2cbc52-7fda-46a0-9ae0-25d9553eafc0') = uuid; # 29443896\nSELECT * FROM participants WHERE activity_id = 29443896;\nselect * from contacts where crm_configuration_id = 318 and email = 'marianne.westeng@strawberry.no';\nselect * from leads where crm_configuration_id = 318 and email = 'marianne.westeng@strawberry.no';\n\nselect * from activities where user_id = 14937 order by created_at ;\n\nselect * from users where id = 14937;\n\nselect * from contacts where crm_configuration_id = 318 and email LIKE '%@strawberry.se';\nselect * from opportunities where crm_configuration_id = 318 and crm_provider_id = '006Sf00000D1WOAIA3';\n\nselect * from activities a join participants p on a.id = p.activity_id\nwhere crm_configuration_id = 318 and a.updated_at > '2025-06-23T08:18:43Z';\n\n# *************************************************************************************************\nSELECT * FROM opportunities WHERE team_id = 379 and crm_provider_id = '39334518886';\nSELECT * FROM opportunities WHERE team_id = 379 order by id desc;\nSELECT * FROM teams WHERE id = 379;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 379 and sociable_id = 13852\nand sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE id = 307;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 307;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1027;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 307\n and id IN (144750,144855,145158,155227);\n\nSELECT * FROM activities;\n\n\nselect * from activities\nwhere created_at > '2025-07-01 00:00:00'\n# and created_at < '2025-08-01 00:00:00'\nand type not in ('email-outbound', 'email-inbound')\nand account_id is null\nand contact_id is null\nand lead_id is null\nand opportunity_id is not null\n;\nSELECT * FROM activities WHERE id IN (25344155, 25344296, 25501909, 28692187);\nSELECT * FROM crm_configurations WHERE id in (335,301,200);\n\nselect * from crm_fields where crm_configuration_id = 230 and crm_provider_id = 'Age2__c';\n\nSELECT * FROM teams WHERE name LIKE '%Resights%';\nselect * from crm_fields where crm_configuration_id = 1 and object_type = 'opportunity';\n\nselect * from crm_configurations where provider = 'bullhorn'; # 344\nselect * from teams where id IN (442);\n\nselect * from activities\nwhere crm_configuration_id = 177\nand provider = 'amazon-connect'\n order by id desc;\n# and source <> 'gong';\n\nselect * from activity_providers where provider = 'amazon-connect';\n\nSELECT * FROM activities WHERE uuid_to_bin('cec1993b-a7e5-4164-b74d-d680ea51d2f2') = uuid;\n\n\nselect * from crm_configurations where store_transcript = 1;\nSELECT * FROM teams WHERE id IN (80);\n\n# *************************************************************************************************\nSELECT * FROM teams WHERE name LIKE '%Sedna%'; # 277, 213, 12594\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 277\nand sa.provider = 'salesforce';\n\nselect * from activities where crm_configuration_id = 213 and account_id = 2511502;\n\nselect * from crm_configurations where id = 213;\n\nSELECT * FROM activities WHERE uuid_to_bin('35aa790a-8569-4544-8268-66f9a4a26804') = uuid; # 33981604\nSELECT * FROM participants WHERE activity_id = 33981604;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 337 and object_type = 'task';\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 431\nand sa.provider = 'salesforce';\nSELECT * FROM activities WHERE uuid_to_bin('b5476c7d-19a8-491b-869d-676ea1e857b6') = uuid; # 33997223\nselect * from activity_summary_logs where activity_id = 33997223;\nselect * from activity_notes where activity_id = 33997223;\n\n# ***********************************\nSELECT * FROM teams WHERE name LIKE '%Abode%';\n\n\nselect * from features;\nselect * from teams t\nwhere t.status = 'active'\nand id NOT IN (select team_id from team_features where feature_id = 9)\n;\n\n\nselect * from playbook_layouts where playbook_id = 1725;\nSELECT * FROM activities WHERE uuid_to_bin('65cc283c-4849-49e6-927f-4c281c8fea19') = uuid; # 34297473\nselect * from teams where id = 318;\nselect * from crm_configurations where team_id = 318;\nselect * from playbooks where team_id = 318;\nSELECT * FROM crm_layouts where crm_configuration_id = 381;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1259;\nSELECT * FROM crm_fields WHERE id IN (192938,192936,192939);\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1266;\nSELECT * FROM crm_fields WHERE id IN (192980,192991,192997,192998,193064,193067);\n\nSELECT * FROM activities WHERE uuid_to_bin('a902289b-285c-48eb-9cc2-6ad6c5d938f5') = uuid; # 34297533\n\n\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 927;\nSELECT * FROM crm_fields WHERE id IN (131668,131669,131670,131671,131676,131797);\n\nSELECT * FROM teams WHERE name LIKE '%Peripass%'; # 351, 281, 12124\nselect * from crm_layouts where crm_configuration_id = 281;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 927;\nselect * from crm_fields where crm_configuration_id = 281 and id in (131668,131669,131670,131671,131676,131797);\nselect * from opportunities where crm_configuration_id = 281;\n\nSELECT * FROM activities WHERE id IN (34211315, 34130075);\nSELECT * FROM crm_field_data WHERE object_id IN (34211315, 34130075);\n\nselect cf.crm_configuration_id, cle.crm_layout_id, cle.id, cf.id from crm_field_data cfd\njoin crm_layout_entities cle on cle.id = cfd.crm_layout_entity_id\njoin crm_fields cf on cle.crm_field_id = cf.id\nwhere cf.deleted_at IS NOT NULL\nGROUP BY cle.id, cf.id;\n\nselect * from crm_layouts where id IN (355);\nselect u.email, t.crm_id, t.* from teams t\njoin users u on u.id = t.owner_id\nwhere crm_id IN (97);\n\nSELECT * FROM crm_fields WHERE id = 96492;\n\nselect * from permissions;\nselect * from permission_role where permission_id = 247;\nselect * from roles;\n\nselect * from migrations;\n# *****************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('291e3c21-11cc-4728-aee7-6e4bedf86d72') = uuid; # 34262174\nSELECT * FROM crm_configurations WHERE id = 301;\nSELECT * FROM teams WHERE id = 343;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 343\nand sa.provider = 'hubspot';\n\nselect * from participants where activity_id = 34262174;\n\nselect * from contacts where crm_configuration_id = 301 and id = 6976326;\nselect * from accounts where crm_configuration_id = 301 and id IN (4647626, 4815829); # 30761335403\n\nselect * from activity_summary_logs where activity_id = 34262174;\n\nselect * from users where status = 1 AND timezone = 'EST';\n\n# ****************************************************************************\nSELECT * FROM users WHERE id = 13869;\nSELECT * FROM crm_configurations WHERE id = 320;\nSELECT * FROM teams WHERE id = 401;\n\nSELECT * FROM activities WHERE uuid_to_bin('2228c16f-10be-48d5-90d4-67385219dc01') = uuid; # 29670601\n\nSELECT * FROM accounts WHERE id = 7761483;\nSELECT * FROM opportunities WHERE id = 6051814;\n\nSELECT * FROM teams WHERE name LIKE '%Seedlegals%';\n\n;select * from opportunities where updated_at > '2025-10-11' AND crm_provider_id = '34713761166';\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 177;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 577;\nSELECT * FROM crm_fields WHERE id IN (68458,68459,68480,68497,68524,68530,68554,68618,68662,68781,68810,68898,68981,69049,97467);\n\nSELECT t.id, crm.id, t.name, crm.sync_objects, crm.provider, crm.last_synced_at FROM crm_configurations crm join teams t on t.crm_id = crm.id\nwhere t.status = 'active' AND crm.provider = 'hubspot' AND crm.last_synced_at < '2025-10-22 00:00:00';\n\nSELECT * FROM activities WHERE uuid_to_bin('fa09449f-cba9-496a-b8f3-865cd3c72351') = uuid;\nSELECT * FROM crm_configurations where id = 184;\nSELECT * FROM teams WHERE id = 246;\nSELECT * FROM social_accounts WHERE sociable_id = 9259 and provider = 'hubspot';\n\nSELECT * FROM users WHERE email LIKE '%rhian.old@bud.co.uk%'; # 17700\nSELECT * FROM teams WHERE id = 551;\n\nSELECT * FROM crm_configurations WHERE id = 471;\nSELECT * FROM activities WHERE crm_configuration_id = 471 and crm_provider_id IS NOT NULL;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 471;\nSELECT * FROM crm_fields WHERE id = 307260;\nSELECT * FROM crm_field_values WHERE crm_field_id = 307260;\n\nselect * from crm_layouts where crm_configuration_id = 471;\n\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1547;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1548;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 551 and sa.provider = 'hubspot';\n\nSELECT * FROM teams WHERE name LIKE '%$PCS%';\n\n# ********************************************************************************************************\nselect * from crm_configurations crm\njoin teams t on t.crm_id = crm.id\nwhere t.status = 'active'\nand crm.provider = 'hubspot';\n\n# $slug = 'HUBSPOT_WEBHOOK_SYNC';\n# $team = Jiminny\\Models\\Team::find(2);\n# $feature = Feature::query()->where('slug', $slug)->first();\n# TeamFeature::query()->create(['feature_id' => $feature->getId(),'team_id' => $team->getId()]);\n\n# hubspot_webhook_metrics\n\nselect * from crm_configurations where id = 331; # 416\nSELECT * FROM teams WHERE id = 416;\nSELECT * FROM opportunities WHERE team_id = 190;\n\nSELECT * FROM teams WHERE name LIKE '%Lead Forensics%';\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 190 and sa.provider = 'hubspot';\n\n\n\nSELECT * FROM teams WHERE name LIKE '%Rapaport%'; # 431, 337\nSELECT * FROM teams where id = 431;\nSELECT * FROM crm_configurations where team_id = 431;\nSELECT * FROM activity_providers where team_id = 431;\nSELECT * FROM activities where crm_configuration_id = 337 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 431 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%BiP%'; # 401, 320\nSELECT * FROM teams where id = 401;\nSELECT * FROM crm_configurations where team_id = 401;\nSELECT * FROM activity_providers where team_id = 401;\nSELECT * FROM activities where crm_configuration_id = 320 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\nSELECT sa.id,\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 401 and sa.provider = 'salesforce';\n\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 307; # 379 - Story Terrace Inc , portalId: 3921157\nSELECT * FROM contacts WHERE team_id = 379 and updated_at > '2026-01-31 11:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 379 and updated_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 379 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 379 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; # 563 - LATUS Group (ad94d501-5d09-44fd-878f-ca3a9f8865c3) , portalId: 3904501\nSELECT * FROM opportunities WHERE team_id = 563 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 563 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 338; # 432 - Formalize , portalId: 9214205\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 432 and sa.provider = 'hubspot';\nSELECT * FROM opportunities WHERE team_id = 432 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 432 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 436; # 519 - Moxso , portalId: 25531989\nSELECT * FROM opportunities WHERE team_id = 519 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 519 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 96; # 119 - Nourish Care , portalId: 26617984\nSELECT * FROM opportunities WHERE team_id = 119 and updated_at > '2026-02-02 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 119 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 331; # 416 - The National College , portalId: 7213852\nSELECT * FROM opportunities WHERE team_id = 416 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 416 and updated_at > '2026-02-04 11:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 308; # 380 - Foodles , portalId: 7723616\nSELECT * FROM opportunities WHERE team_id = 380 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 380 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 379; # 471 - imat-uve , portalId: 9177354\nSELECT * FROM opportunities WHERE team_id = 471 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 471 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 465; # 545 - Spotler , portalId: 144759271\nSELECT * FROM opportunities WHERE team_id = 545 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 545 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 455; # 537 - indevis , portalId: 25666868\nSELECT * FROM opportunities WHERE team_id = 537 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 537 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 200; # 265 - Jobadder , portalId: 6426676\nSELECT * FROM opportunities WHERE team_id = 265 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 265 and updated_at > '2026-02-06 10:30:00' order by updated_at desc;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 335; # 429 - Eletive , portalId: 6110563\nSELECT * FROM opportunities WHERE team_id = 429 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 429 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 363; # 456 - Global Group , portalId: 8901981\nSELECT * FROM opportunities WHERE team_id = 456 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 456 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 297; # 369 - Unbiased , portalId: 9229005\nSELECT * FROM opportunities WHERE team_id = 369 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 369 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 353; # 449 - Fuuse , portalId: 25781745\nSELECT * FROM opportunities WHERE team_id = 449 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 449 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 487; # 566 - Nimbus , portalId: 39982590\nSELECT * FROM opportunities WHERE team_id = 566 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 566 and updated_at > '2026-02-09 10:30:00' order by updated_at desc;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 487;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1630;\nselect * from crm_fields where crm_configuration_id = 487 and\n(uuid_to_bin('4c6b2971-64d4-45b8-b377-427be758b5a5') = uuid or uuid_to_bin('59e368d8-65a0-4b77-b611-db37c99fbe68') = uuid);\nSELECT * FROM crm_field_values WHERE crm_field_id = 375177;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 420; # 506 - voiio , portalId: 145629154\nSELECT * FROM opportunities WHERE team_id = 506 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 506 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 479; # 558 - Momice , portalId: 535962\nSELECT * FROM opportunities WHERE team_id = 558 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 558 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 59; # 80 - Storyclash GmbH , portalId: 4268479\nSELECT * FROM opportunities WHERE team_id = 80 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 80 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 175; # 203 - Team iAM , portalId: 5534732\nSELECT * FROM opportunities WHERE team_id = 203 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 203 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 368; # 460 - OneTouch Health , portalId: 5534732183355\nSELECT * FROM opportunities WHERE team_id = 460 and updated_at > '2026-02-10 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 460 and updated_at > '2026-02-10 15:00:00' order by updated_at desc;\n\n\n\nselect * from users where id = 29643;\nSELECT * FROM crm_field_values WHERE crm_field_id = 375177;\n# ********************************************************************\nSELECT * FROM teams WHERE name LIKE '%Buynomics%'; # 462, 482, 14910\nSELECT * FROM activities WHERE crm_configuration_id = 482\nand type NOT IN ('email-inbound', 'email-outbound')\n# and description like '%The call focused on understanding Welch%'\norder by id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 462 and sa.provider = 'salesforce';\n\nselect * from contacts where crm_configuration_id = 482 and name = 'Cyndall Hill'; # 15504749\nselect * from contacts where id = 10891096; # 482\nSELECT * FROM activities WHERE crm_configuration_id = 482\nand type NOT IN ('email-inbound', 'email-outbound')\nand contact_id = 15504749\norder by id desc;\n\nselect * from activities where id = 36793003; # 96cc7bc1-8622-4d27-92f4-baf664fc1a56, 00UOf00000PDdOXMA1\nselect * from transcription where id = 7646782;\nselect * from ai_prompts where transcription_id = 7646782;\n\n# ********************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('7a8471a3-847e-4822-802b-ddf426bbc252') = uuid; # 37370018\nSELECT * FROM activity_summary_logs WHERE activity_id = 37370018;\nSELECT * FROM teams WHERE id = 555;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 555 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('7c17b8aa-09df-4f85-a0f7-51f47afd712d') = uuid; # 37395250\nSELECT * FROM activities WHERE uuid_to_bin('14d60388-260d-494b-aa0d-63fdb1c78026') = uuid; # 37395250\n\nSELECT a.* FROM activities a JOIN crm_configurations c on c.id = a.crm_configuration_id\nwhere a.type IN ('softphone', 'softphone-outbound') and c.provider = 'hubspot'\nand a.provider NOT IN ('hubspot')\n# and a.provider IN ('salesloft')\n# and c.id NOT IN (70)\n# and a.duration > 30\n# and actual_start_time > '2026-02-05 00:00:00'\norder by a.id desc;\n\nSELECT * FROM activities WHERE id = 37549787;\nSELECT * FROM crm_profiles WHERE user_id = 17613;\n\nSELECT * FROM crm_configurations WHERE id = 70;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 93 and sa.provider = 'hubspot';\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations WHERE id = 373; # KPSBremen.de 465 # - no social account\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 465 and sa.provider = 'hubspot';\n\nselect * from crm_configurations where id = 494;\n\nSELECT * FROM teams WHERE name LIKE '%splose%'; # 572, 495, 18708\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 572 and sa.provider = 'pipedrive';\n\nselect * from opportunities where team_id = 572\n# and name like '%Onebright%'\n# and is_closed = 1 and is_won = 0\n order by id desc;\n\n\nselect * from users where deleted_at is null and status = 2;\n\nselect * from contacts where id = 17900517;\nselect * from accounts where id = 10109838;\nselect * from opportunities where id = 6955880;\n\nselect * from opportunity_contacts where opportunity_id = 6955880;\nselect * from opportunity_contacts where contact_id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nSELECT * FROM activities WHERE uuid_to_bin('adcb8331-5988-4353-834e-383a355abba2') = uuid; # 38056424, crm 104659682404\nselect * from teams where id = 456;\nSELECT * FROM crm_configurations WHERE id = 363;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 456 and sa.provider = 'hubspot';\n\nselect * from crm_layouts where crm_configuration_id = 363;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (1203, 1204, 1635);\nSELECT * FROM crm_fields WHERE id IN (181536, 181538, 213455);\n\nSELECT * FROM teams WHERE name LIKE '%Electric%'; # 342, 272, 12767\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 342 and sa.provider = 'pipedrive';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 and name like 'NORTHUMBRIA POL%'; # and updated_at > '2025-07-01 00:00:00';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 order by remotely_created_at asc; # and updated_at > '2025-07-01 00:00:00';\nSELECT * FROM opportunities WHERE crm_configuration_id = 272 and updated_at > '2026-01-01 00:00:00';\nSELECT * FROM crm_fields WHERE crm_configuration_id = 272 and object_type = 'opportunity';\nSELECT * FROM crm_field_values WHERE crm_field_id = 127164;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 342 and sa.provider = 'pipedrive';\n\nSELECT * FROM teams WHERE id = 472;\nSELECT * FROM crm_configurations WHERE id = 380;\nselect * from activities where id = 38285673; # 38285673\nSELECT * FROM users WHERE id = 16942;\nSELECT * FROM groups WHERE id = 1964;\nSELECT * FROM playbooks WHERE id = 2033;\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 499; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 1678;\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\n\nSELECT * FROM activities WHERE uuid_to_bin('96b1261f-2357-49f9-ab38-23ce12008ea0') = uuid;\n\nselect * from contacts c\nwhere c.crm_configuration_id = 370 order by c.updated_at desc;\n\nSELECT * FROM participants where activity_id = 38833541;\nSELECT * FROM participants where activity_id = 39216301;\nSELECT * FROM activity_summary_logs where activity_id = 39216301;\nSELECT * FROM activities WHERE uuid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = uuid; # 38833541, crm 478116564181\nSELECT * FROM activities WHERE uuid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acde4d885ae') = uuid; # 39216301, crm 480171536586\nselect * from crm_profiles where crm_configuration_id = 319 and crm_provider_id = 525785080;\nselect * from opportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;\nselect * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;\nselect * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856', '742723347700');\n# owner 13236 525785080\n# contact 1 16779180 665587441856 - activity - Alex Howes alex@supportroom.com created 2026-01-26\n# contact 2 19247563 742723347700 - ash@supportroom.com 2026-03-24\n# company 4176133 47150650569\n# deal 7100953 410150124747\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 400 and sa.provider = 'hubspot';\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556; # owner: 18101, crm: 477\nselect * from crm_configurations where id = 477;\nSELECT * FROM users WHERE id = 18101;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'integration-app';\n\nselect * from opportunities where id = 7594349;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-6887025780313909229
|
-8175835564975155868
|
visual_change
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
32
2
19
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot\ServiceTraits;
use Carbon\Carbon;
use HubSpot\Client\Crm\Deals\Model\CollectionResponseAssociatedId;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Models\Account;
use Exception;
use Jiminny\Component\DealInsights\Forecast\Forecast;
use Jiminny\Jobs\Crm\MatchActivitiesToNewOpportunity;
use Jiminny\Models\Contact;
use Jiminny\Models\Crm\BusinessProcess;
use Jiminny\Exceptions\CrmException;
use Jiminny\Models\Opportunity;
use Illuminate\Support\Collection;
use Jiminny\Models\Stage;
use Jiminny\Repositories\Crm\CrmEntityRepository;
use Jiminny\Services\Crm\Hubspot\DealFieldsService;
use Jiminny\Services\Crm\Hubspot\OpportunitySyncStrategy\HubspotSingleSyncStrategy;
use Jiminny\Services\Crm\Hubspot\WebhookSyncBatchProcessor;
use Jiminny\Services\Crm\OpportunitySyncStrategyResolver;
use Jiminny\Utils\CurrencyFormatter;
/**
* Optimized sync methods for better performance
* These methods can be integrated into SyncCrmEntitiesTrait for significant performance gains
*/
trait OpportunitySyncTrait
{
private const int BATCH_SIZE = 100;
private const int BATCH_PROCESS_SIZE = 800;
protected OpportunitySyncStrategyResolver $opportunitySyncStrategyResolver;
protected CrmEntityRepository $crmEntityRepository;
protected DealFieldsService $dealFieldsService;
private ?array $cachedClosedDealStages = null;
private array $cachedBusinessProcesses = [];
private array $cachedStages = [];
public function syncOpportunities(array $parameters, ?string $strategy = null): int
{
$strategies = $this->opportunitySyncStrategyResolver->getStrategies($this->config, $strategy);
$parameters['config'] = $this->config;
$syncCount = 0;
$reportedTotal = 0;
$lastSyncedId = [];
try {
foreach ($strategies as $strategyName => $syncStrategy) {
$this->logger->info(
'[' . $this->getDisplayName() . '] Syncing opportunities using strategy: ' .
$strategyName
);
$total = 0;
$lastId = null;
$buffer = [];
// HubspotWebhookBatchSyncStrategy returns empty generator, this is for other strategies
foreach ($syncStrategy->fetchOpportunities($parameters, $total, $lastId) as $hsOpportunity) {
$buffer[] = $hsOpportunity;
// process every 800 rows (fits < 1 000 association limit)
if (\count($buffer) >= self::BATCH_PROCESS_SIZE) {
$syncCount += $this->processOpportunityBatch($buffer);
$buffer = [];
}
}
// leftovers
if ($buffer) {
$syncCount += $this->processOpportunityBatch($buffer);
}
$reportedTotal += $total;
$lastSyncedId = $lastId;
}
} catch (\HubSpot\Client\Crm\Deals\ApiException | CrmException $e) {
$this->handleSyncException($e, $parameters);
}
$this->logger->info(
'[HubSpot] Synced opportunities',
[
'team' => $this->team->getId(),
'sync_count' => $syncCount,
'total' => $reportedTotal,
'last_synced_id' => $lastSyncedId,
]
);
return $reportedTotal;
}
private function handleSyncException(\Throwable $e, array $parameters): void
{
if (($parameters['since'] ?? null) instanceof Carbon) {
$parameters['since'] = $parameters['since']->toDateTimeString();
}
$parameters['config'] = $this->config->getId();
$this->logger->warning('[' . $this->getDisplayName() . '] Sync opportunities failed', [
'teamId' => $this->team->getUuid(),
'parameters' => $parameters,
'reason' => $e->getMessage(),
]);
}
/**
* @inheritdoc
*/
public function syncOpportunity(string $crmId): ?Opportunity
{
$strategy = $this->opportunitySyncStrategyResolver->resolve(
$this->config,
OpportunitySyncStrategyResolver::SINGLE_SYNC_OPPORTUNITY_STRATEGY,
);
$parameters = [
'config' => $this->config,
'crm_id' => $crmId,
];
try {
if (! $strategy instanceof HubspotSingleSyncStrategy) {
throw new InvalidArgumentException('Strategy must by HubspotSingleSyncStrategy');
}
$hsOpportunity = $strategy->fetchOpportunity($parameters);
} catch (\HubSpot\Client\Crm\Deals\ApiException $e) {
$this->logger->info('[' . $this->getDisplayName() . '] Opportunity not found', [
'teamId' => $this->team->getUuid(),
'crmId' => $crmId,
'reason' => $e->getMessage(),
]);
return null;
}
$hsOpportunity['associations'] = $this->convertDealAssociations($hsOpportunity['associations'] ?? []);
return $this->importOrUpdateOpportunity($hsOpportunity);
}
/**
* Process webhook-collected opportunity batches.
*
* Drains Redis sets containing company CRM IDs collected from webhook events
* and dispatches ImportOpportunityBatch jobs for batch processing.
*
* @return int Number of opportunity IDs dispatched to jobs
*/
public function batchSyncOpportunities(): int
{
$configId = $this->team->getCrmConfiguration()->getId();
return $this->batchProcessor->processBatchesForObjectType(
WebhookSyncBatchProcessor::OBJECT_TYPE_DEAL,
$configId
);
}
/**
* Import a batch of opportunities by their CRM IDs.
* Fetches opportunity data from HubSpot API and delegates to importOpportunityBatch().
*
* @param array<string> $crmIds HubSpot deal CRM IDs
*
* @return array{success: array, failed_ids: array, errors?: array<string, string>}
*/
public function importOpportunityBatchByIds(array $crmIds): array
{
$fields = $this->dealFieldsService->getFieldsForConfiguration($this->config);
$allDeals = [];
foreach (array_chunk($crmIds, self::BATCH_SIZE) as $chunk) {
$deals = $this->client->getOpportunitiesByIds($chunk, $fields);
foreach ($deals as $deal) {
$allDeals[] = $deal;
}
}
// IDs not returned by HubSpot are likely deleted or inaccessible deals.
// These are not failures — retrying won't bring them back.
$fetchedIds = array_map('strval', array_column($allDeals, 'id'));
$notFoundIds = array_values(array_diff(array_map('strval', $crmIds), $fetchedIds));
if (! empty($notFoundIds)) {
$this->logger->info('[' . $this->getDisplayName() . '] CRM IDs not found in HubSpot (likely deleted)', [
'teamId' => $this->team->getId(),
'notFoundCount' => \count($notFoundIds),
'notFoundIds' => $notFoundIds,
'requestedCount' => \count($crmIds),
'fetchedCount' => \count($allDeals),
]);
}
if (empty($allDeals)) {
return ['success' => [], 'failed_ids' => []];
}
return $this->importOpportunityBatch($allDeals);
}
private function getClosedDealStages(): array
{
if ($this->cachedClosedDealStages !== null) {
return $this->cachedClosedDealStages;
}
$stages = $this->crmEntityRepository->getOpportunityClosedStages($this->config);
$data = [
'lost' => [],
'won' => [],
];
foreach ($stages as $stage) {
if ($stage->probability == 0.00) {
$data['lost'][] = $stage->crm_provider_id;
}
if ($stage->probability == 100.00) {
$data['won'][] = $stage->crm_provider_id;
}
}
$this->cachedClosedDealStages = $data;
return $data;
}
/**
* Import deals into the database with pre-fetched associations.
*
* API calls here (getAssociationsData, getExistingOpportunityCrmIds) are NOT
* caught — if they throw, the exception propagates to ImportOpportunityBatch::handle()
* where Laravel retries the whole job with backoff. After all retries exhausted,
* failed() requeues all IDs to Redis.
*
* The per-deal loop catches exceptions individually. A deal can end up in three states:
* - success: imported/updated successfully
* - failed_ids: exception thrown (DB constraint violation, corrupt data, etc.)
* These are permanent issues — retrying won't fix them.
* - skipped (null): missing dependencies (no account, unknown pipeline/stage).
* This is acceptable — the deal cannot be imported until those exist.
*/
private function importOpportunityBatch(array $deals): array
{
$syncedOpportunities = [
'success' => [],
'failed_ids' => [],
];
$dealIds = array_column($deals, 'id');
// Shared association/existing-ID preparation is batch-level state. If it fails, rethrow so the
// queue job retries the whole batch and eventually requeues all deal IDs back to Redis.
try {
$companyAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'companies');
$contactAssociations = $this->client->getAssociationsData($dealIds, 'deals', 'contacts');
$associationsData = $this->prepareAssociatedEntities($companyAssociations, $contactAssociations);
$existingCrmIds = $this->crmEntityRepository->getExistingOpportunityCrmIds(
$this->config,
array_map('strval', $dealIds)
);
$existingCrmIdSet = array_flip($existingCrmIds);
} catch (\Throwable $e) {
$this->logger->error('[' . $this->getDisplayName() . '] Failed to fetch associations or existing IDs', [
'teamId' => $this->team->getId(),
'dealCount' => count($dealIds),
'error' => $e->getMessage(),
]);
throw $e;
}
foreach ($deals as $deal) {
try {
$deal['associations'] = $this->prepareAssociationsForOpportunity(
$deal['id'],
$companyAssociations,
$contactAssociations,
$associationsData
);
$syncedOpportunity = $this->importOrUpdateOpportunity(
$deal,
isset($existingCrmIdSet[(string) $deal['id']])
);
if ($syncedOpportunity) {
$syncedOpportunities['success'][] = $syncedOpportunity;
}
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to import opportunity', [
'teamId' => $this->team->getId(),
'crmId' => $deal['id'],
'error' => $e->getMessage(),
]);
$syncedOpportunities['failed_ids'][] = $deal['id'];
$syncedOpportunities['errors'][$deal['id']] = $e->getMessage();
}
}
return $syncedOpportunities;
}
/**
* Prepare associated entities for opportunities with optimized batch processing
* Returns structured data with CRM ID to DB ID mappings for each opportunity
*/
private function prepareAssociatedEntities(array $companyAssociations, array $contactAssociations): array
{
// Step 1: Collect all unique company and contact IDs from associations
$allCompanyIds = $this->flattenAssociationIds($companyAssociations);
$allContactIds = $this->flattenAssociationIds($contactAssociations);
// Step 2: Batch sync missing entities and get CRM ID to DB ID mappings
$companyIdMappings = [];
$contactIdMappings = [];
if (! empty($allCompanyIds)) {
$companyIdMappings = $this->prepareAssociatedAccounts($allCompanyIds);
}
if (! empty($allContactIds)) {
$contactIdMappings = $this->prepareAssociatedContacts($allContactIds);
}
return [
'company_id_mappings' => $companyIdMappings,
'contact_id_mappings' => $contactIdMappings,
];
}
/**
* Flatten association data to get unique IDs
*/
private function flattenAssociationIds(array $associations): array
{
$ids = [];
foreach ($associations as $dealAssociations) {
if (is_array($dealAssociations)) {
foreach ($dealAssociations as $id) {
$ids[$id] = true;
}
}
}
return array_keys($ids);
}
/**
* Batch sync missing accounts
*/
private function prepareAssociatedAccounts(array $companyIds): array
{
// Find which accounts already exist
$existingAccounts = $this->crmEntityRepository
->findAccountsByExternalIds($this->config, $companyIds);
$existingCompanyIds = $existingAccounts->pluck('crm_provider_id')->toArray();
$existingAccountsData = $existingAccounts->mapWithKeys(function ($account) {
return [$account->getCrmProviderId() => $account->getId()];
})->toArray();
$missingCompanyIds = array_diff($companyIds, $existingCompanyIds);
if (empty($missingCompanyIds)) {
return $existingAccountsData;
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing accounts', [
'teamId' => $this->team->getUuid(),
'total_companies' => count($companyIds),
'existing_companies' => count($existingCompanyIds),
'missing_companies' => count($missingCompanyIds),
]);
// we already have limit on opportunity ids count
// Initialize variable before try block
$syncedAccountsData = [];
try {
$syncedAccountsData = $this->batchSyncCrmObjects('companies', $missingCompanyIds);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing accounts', [
'size' => count($missingCompanyIds),
'error' => $e->getMessage(),
]);
$syncedAccountsData = [];
}
return $existingAccountsData + $syncedAccountsData;
}
/**
* Prepare associated contacts - find existing and sync missing ones
* Returns mapping of CRM ID to DB ID
*/
private function prepareAssociatedContacts(array $contactIds): array
{
// Find which contacts already exist
$existingContacts = $this->crmEntityRepository
->findContactsByExternalIds($this->config, $contactIds);
$existingContactIds = $existingContacts->pluck('crm_provider_id')->toArray();
// Create mapping for existing contacts
$existingContactsData = $existingContacts->mapWithKeys(function ($contact) {
return [$contact->getCrmProviderId() => $contact->getId()];
})->toArray();
$missingContactIds = array_diff($contactIds, $existingContactIds);
if (empty($missingContactIds)) {
return $existingContactsData;
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch syncing missing contacts', [
'teamId' => $this->team->getUuid(),
'total_contacts' => count($contactIds),
'existing_contacts' => count($existingContactIds),
'missing_contacts' => count($missingContactIds),
]);
// Sync missing contacts using batch API
try {
$syncedContactsData = $this->batchSyncCrmObjects('contacts', $missingContactIds);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to sync missing contacts', [
'size' => count($missingContactIds),
'error' => $e->getMessage(),
]);
$syncedContactsData = [];
}
return $existingContactsData + $syncedContactsData;
}
private function batchSyncCrmObjects(string $objectType, array $crmIds): array
{
$syncObjects = [];
$crmObjectIds = array_values($crmIds);
foreach (array_chunk($crmObjectIds, self::BATCH_SIZE) as $chunk) {
try {
$objects = $objectType === 'companies' ?
$this->client->getCompaniesByIds($chunk, $this->getCompanyFields()) :
$this->client->getContactsByIds($chunk, $this->getContactFields());
foreach ($objects as $objectId => $objectData) {
$this->importCrmObject($objectType, (string) $objectId, $objectData, $syncObjects);
}
$this->logger->info('[' . $this->getDisplayName() . '] Batch synced ' . $objectType, [
'requested_count' => count($chunk),
'synced_count' => count($objects),
]);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Batch ' . $objectType . ' sync failed', [
'ids' => $chunk,
'error' => $e->getMessage(),
]);
}
}
return $syncObjects;
}
private function importCrmObject(string $objectType, string $objectId, mixed $objectData, array &$syncObjects): void
{
try {
$object = $objectType === 'companies' ?
$this->importAccount($objectData) :
$this->importContact($objectData);
if ($object) {
$syncObjects[$object->getCrmProviderId()] = $object->getId();
}
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to import batch ' . $objectType, [
'id' => $objectId,
'error' => $e->getMessage(),
]);
}
}
/**
* Prepare associations for a single opportunity
*
* The return value is an array with the following structure:
* [
* 'companies' => [
* $companyCrmId => $companyId,
* ...
* ],
* 'contacts' => [
* $contactCrmId => $contactId,
* ...
* ],
* 'account_id' => $accountId,
* ]
*/
private function prepareAssociationsForOpportunity(
string $oppCrmId,
array $companyAssociations,
array $contactAssociations,
array $associationsData
): array {
$associations = [
'companies' => [],
'contacts' => [],
'account_id' => null, // Primary account for opportunity
];
$oppCompanyIds = $companyAssociations[$oppCrmId] ?? [];
foreach ($oppCompanyIds as $companyCrmId) {
if (isset($associationsData['company_id_mappings'][$companyCrmId])) {
$associations['companies'][$companyCrmId] = $associationsData['company_id_mappings'][$companyCrmId];
// Set primary account (first company becomes primary account)
if ($associations['account_id'] === null) {
$associations['account_id'] = $associationsData['company_id_mappings'][$companyCrmId];
}
}
}
$oppContactIds = $contactAssociations[$oppCrmId] ?? [];
foreach ($oppContactIds as $contactCrmId) {
if (isset($associationsData['contact_id_mappings'][$contactCrmId])) {
$associations['contacts'][$contactCrmId] = $associationsData['contact_id_mappings'][$contactCrmId];
}
}
return $associations;
}
/**
* Update only associations for an opportunity
*/
private function updateOpportunityAssociations(Opportunity $opportunity, array $associations): void
{
// Update contact associations
$this->importOpportunityContacts($opportunity, $associations['contacts']);
// Update company (account) associations
$this->updateOpportunityAccount($opportunity, $associations['account_id']);
}
/**
* Remove all contact associations from an opportunity
*/
private function removeAllOpportunityContacts(Opportunity $opportunity): void
{
$currentCount = (int) $opportunity->contacts()->count();
if ($currentCount > 0) {
$opportunity->contacts()->detach();
$this->logger->info('[' . $this->getDisplayName() . '] Removed all contact associations', [
'opportunity_id' => $opportunity->getId(),
'removed_count' => $currentCount,
]);
}
}
private function updateOpportunityAccount(Opportunity $opportunity, ?int $accountId): void
{
if ($accountId === null) {
// No account ID provided - keep current account
return;
}
$currentAccountId = $opportunity->getAccountId();
// Only update if account has changed
if ($currentAccountId !== $accountId) {
$opportunity->account_id = $accountId;
$opportunity->save();
$this->logger->info('[' . $this->getDisplayName() . '] Updated opportunity account association', [
'opportunity_id' => $opportunity->getId(),
'old_account_id' => $currentAccountId,
'new_account_id' => $accountId,
]);
}
}
/**
* Find existing opportunities by external IDs (OPTIMIZED VERSION)
* Uses batch query for better performance
*/
private function findExistingOpportunities(array $crmIds): Collection
{
return $this->crmEntityRepository
->findOpportunitiesByExternalIds($this->config, $crmIds);
}
private function processOpportunityBatch(array $opportunities): int
{
$syncedOpportunities = $this->importOpportunityBatch($opportunities);
return count($syncedOpportunities['success'] ?? []);
}
/**
* Convert single deal associations from HubSpot format to internal format
* Handles both HubSpot SDK objects and array formats
*
* @param array $opportunityAssociations Raw associations from HubSpot API or pre-processed
*
* @return array Processed associations with DB IDs
*/
private function convertDealAssociations(array $opportunityAssociations): array
{
$associations = $this->initializeAssociationsStructure();
if (empty($opportunityAssociations)) {
return $associations;
}
$associationIds = $this->extractAssociationIds($opportunityAssociations);
$this->processCompanyAssociations($associationIds, $associations);
$this->processContactAssociations($associationIds, $associations);
return $associations;
}
private function initializeAssociationsStructure(): array
{
return [
'companies' => [],
'contacts' => [],
'account_id' => null, // Primary account for opportunity
];
}
private function extractAssociationIds(array $opportunityAssociations): array
{
$associationIds = [];
foreach ($opportunityAssociations as $type => $associationData) {
if (! empty($associationData)) {
$associationIds[$type] = $this->convertSingleDealAssociations($associationData);
}
}
return $associationIds;
}
private function processCompanyAssociations(array $associationIds, array &$associations): void
{
if (empty($associationIds['companies'])) {
return;
}
$companyId = $associationIds['companies'][0];
$account = $this->findOrSyncAccount($companyId);
if ($account instanceof Account) {
$associations['companies'][$companyId] = $account->getId();
$associations['account_id'] = $account->getId();
}
}
private function processContactAssociations(array $associationIds, array &$associations): void
{
if (empty($associationIds['contacts'])) {
return;
}
foreach ($associationIds['contacts'] as $contactId) {
$contact = $this->findOrSyncContact($contactId);
if ($contact instanceof Contact) {
$associations['contacts'][$contactId] = $contact->getId();
}
}
}
private function findOrSyncAccount(string $companyId): ?Account
{
$account = $this->crmEntityRepository->findAccountByExternalId($this->config, $companyId);
if (! $account instanceof Account) {
$account = $this->syncAccount($companyId);
}
return $account;
}
private function findOrSyncContact(string $contactId): ?Contact
{
$contact = $this->crmEntityRepository->findContactByExternalId($this->config, $contactId);
if (! $contact instanceof Contact) {
$contact = $this->syncContact($contactId);
}
return $contact;
}
private function convertSingleDealAssociations($opportunityAssociations = null): array
{
$associationData = [];
if ($opportunityAssociations === null) {
return $associationData;
}
// Handle array input (from extractAssociationIds)
if (is_array($opportunityAssociations)) {
return $opportunityAssociations;
}
// Handle CollectionResponseAssociatedId object
if ($opportunityAssociations instanceof CollectionResponseAssociatedId) {
foreach ($opportunityAssociations->getResults() as $association) {
$associationData[] = $association->getId();
}
}
return $associationData;
}
private function importOrUpdateOpportunity($crmData, ?bool $exists = null): ?Opportunity
{
if (empty($crmData['properties'])) {
return null;
}
$crmId = (string) $crmData['id'];
$properties = $crmData['properties'];
$associations = $crmData['associations'] ?? [];
$opportunityExists = $exists ?? (bool) $this->crmEntityRepository->findOpportunityByExternalId(
$this->config,
$crmId
);
if ($opportunityExists) {
return $this->updateOpportunity($crmId, $properties, $associations);
} else {
return $this->createOpportunity($crmId, $properties, $associations);
}
}
/**
* Create new opportunity
*/
private function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity
{
$accountId = $this->resolveAccountId($associations);
if (! $accountId) {
return null;
}
$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);
if (! $businessProcess) {
return null;
}
$stage = $this->resolveStage($businessProcess, $properties['dealstage'] ?? null);
if (! $stage) {
return null;
}
$data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);
$attributes = [
'crm_configuration_id' => $this->config->getId(),
'crm_provider_id' => $crmId,
];
$values = array_merge($attributes, $data);
$opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);
$this->importExternalFieldData($properties, $opportunity->getId());
$this->importOpportunityContacts($opportunity, $associations['contacts']);
if ($opportunity->wasRecentlyCreated) {
MatchActivitiesToNewOpportunity::dispatch($opportunity->getId());
}
return $opportunity;
}
/**
* Update existing opportunity
*/
private function updateOpportunity(string $crmId, array $properties, array $associations): Opportunity
{
$accountId = $this->resolveAccountId($associations);
$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);
$stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;
$data = $this->buildOpportunityData($properties, $accountId, $businessProcess, $stage);
$attributes = [
'crm_configuration_id' => $this->config->getId(),
'crm_provider_id' => $crmId,
];
$values = array_merge($attributes, $data);
$opportunity = $this->crmEntityRepository->upsertOpportunity($attributes, $values);
$this->importExternalFieldData($properties, $opportunity->getId());
$this->updateOpportunityAssociations($opportunity, $associations);
return $opportunity;
}
private function resolveAccountId(array $associations): ?int
{
if (! empty($associations['accountId'])) {
return $associations['accountId'];
}
if (empty($associations)) {
return null;
}
// we can't resolve multiple account ids (currently SDK returns one company)
foreach ($associations['companies'] as $accountId) {
return $accountId;
}
return null;
}
private function buildOpportunityData(
array $properties,
?int $accountId,
?BusinessProcess $businessProcess,
?Stage $stage
): array {
$ownerId = null;
$profile = null;
if (! empty($properties['hubspot_owner_id'])) {
$ownerId = $properties['hubspot_owner_id'];
$profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);
}
$name = 'Unknown';
if (isset($properties['dealname'])) {
$name = mb_strimwidth($properties['dealname'], 0, 128);
}
$amount = $this->resolveAmount($properties);
$currency = $properties['deal_currency_code'] ?? null;
$closeDate = null;
if (! empty($properties['closedate'])) {
$closeDate = Carbon::parse($properties['closedate'])->format('Y-m-d');
}
$remotelyCreatedAt = null;
if (! empty($properties['createdate']) && strtotime($properties['createdate'])) {
$date = $this->parseCleanDatetime($properties['createdate']);
$remotelyCreatedAt = $date?->format('Y-m-d H:i:s');
}
$closedStages = $this->getClosedDealStages();
$isWon = in_array($properties['dealstage'], $closedStages['won']);
$isLost = in_array($properties['dealstage'], $closedStages['lost']);
$data = [
'team_id' => $this->team->getId(),
'user_id' => $profile ? $profile->user_id : null,
'owner_id' => $ownerId,
'name' => $name,
'value' => ! empty($amount) ? $amount : null,
'currency_code' => CurrencyFormatter::formatCode($currency),
'close_date' => $closeDate,
'is_closed' => $isWon || $isLost,
'is_won' => $isWon,
'remotely_created_at' => $remotelyCreatedAt,
'probability' => $this->resolveDealProbability($properties['hs_deal_stage_probability']),
'forecast_category' => $this->resolveForecastCategory($properties['hs_manual_forecast_category']),
];
if ($accountId) {
$data['account_id'] = $accountId;
}
if ($stage) {
$data['stage_id'] = $stage->id;
}
if ($businessProcess) {
$recordType = $this->crmEntityRepository->getBusinessProcessRecordType($businessProcess);
if ($recordType) {
$data['record_type_id'] = $recordType->id;
}
}
return $data;
}
private function resolveBusinessProcess(?string $pipelineId): ?BusinessProcess
{
if ($pipelineId === null) {
return null;
}
if (isset($this->cachedBusinessProcesses[$pipelineId])) {
return $this->cachedBusinessProcesses[$pipelineId];
}
$businessProcess = $this->getBusinessProcess($pipelineId);
if (! $businessProcess instanceof BusinessProcess) {
$this->importStages();
$businessProcess = $this->getBusinessProcess($pipelineId);
}
if (! $businessProcess instanceof BusinessProcess) {
$this->logger->info(
'[HubSpot] Deal is not attached to a pipeline',
[
'pipeline' => $pipelineId]
);
}
$this->cachedBusinessProcesses[$pipelineId] = $businessProcess;
return $businessProcess;
}
private function getBusinessProcess(string $pipelineId): ?BusinessProcess
{
return $this->crmEntityRepository->findBusinessProcessesByExternalId($this->config, $pipelineId);
}
private function resolveStage(BusinessProcess $businessProcess, ?string $stageId): ?Stage
{
if (empty($stageId)) {
return null;
}
$cacheKey = $businessProcess->getId() . ':' . $stageId;
if (isset($this->cachedStages[$cacheKey])) {
return $this->cachedStages[$cacheKey];
}
$stage = $this->crmEntityRepository->getPipelineStageByConditions(
$businessProcess,
[
'crm_provider_id' => $stageId,
'type' => Stage::TYPE_OPPORTUNITY,
]
);
if ($stage === null) {
$this->importStages(null, $stageId);
}
if ($stage === null) {
$this->logger->info('[HubSpot] Stage does not exist => ' . $stageId);
}
$this->cachedStages[$cacheKey] = $stage;
return $stage;
}
private function resolveAmount(array $properties): ?string
{
$amount = null;
if (! empty($properties['amount'])) {
$amount = str_replace(',', '', $properties['amount']);
}
if ($this->config->hasDefaultCurrencyFieldSet()) {
$valueFieldName = $this->config->getDefaultCurrencyField()->getCrmProviderId();
$amount = $properties[$valueFieldName] ?? $amount;
}
return $amount;
}
private function parseCleanDatetime(string $datetime): ?Carbon
{
// Treat pre-1980 values as invalid
$minValidDate = Carbon::parse('1980-01-01 00:00:00');
try {
$date = Carbon::parse($datetime);
if ($minValidDate->gt($date)) {
return null;
}
return $date;
} catch (Exception) {
return null; // On parse error, treat as null
}
}
private function resolveDealProbability(?string $stageProbability): int
{
if ($stageProbability === null) {
return 0;
}
$probability = (float) $stageProbability;
return $probability > 1 ? 0 : (int) ($probability * 100);
}
private function resolveForecastCategory(?string $forecastCategory): string
{
if (! $forecastCategory) {
return Forecast::FORECAST_CATEGORY_UNCATEGORIZED;
}
$forecastCategory = str_replace('_', ' ', $forecastCategory);
return ucwords(strtolower($forecastCategory));
}
private function importExternalFieldData(array $properties, int $opportunityId): void
{
$crmFields = $this->getOpportunitySyncableFields();
$this->importOpportunityCrmFieldData($properties, $crmFields, $opportunityId);
}
private function importOpportunityContacts(Opportunity $opportunity, array $associations): void
{
// Handle empty or missing contact associations
if (empty($associations)) {
// Remove all existing contact associations if none provided
$this->removeAllOpportunityContacts($opportunity);
return;
}
// Use differential sync approach for better performance and accuracy
$this->syncOpportunityContactsDifferential($opportunity, $associations);
}
/**
* Sync opportunity contacts using differential approach
* This compares current vs new associations and only makes necessary changes
*/
private function syncOpportunityContactsDifferential(Opportunity $opportunity, array $contactAssociations): void
{
$currentContactCrmIds = $this->getCurrentContactCrmIds($opportunity);
$contactAssociationIds = array_keys($contactAssociations);
$contactsToAdd = array_diff($contactAssociationIds, $currentContactCrmIds);
$contactsToRemove = array_diff($currentContactCrmIds, $contactAssociationIds);
if (empty($contactsToAdd) && empty($contactsToRemove)) {
return;
}
$this->logContactAssociationChanges($opportunity, $currentContactCrmIds, $contactAssociations, $contactsToAdd, $contactsToRemove);
$this->removeContactAssociations($opportunity, $contactsToRemove);
$this->addContactAssociations($opportunity, $contactsToAdd, $contactAssociations);
}
private function getCurrentContactCrmIds(Opportunity $opportunity): array
{
return $opportunity->contacts()
->pluck('contacts.crm_provider_id')
->toArray();
}
private function logContactAssociationChanges(
Opportunity $opportunity,
array $currentContactCrmIds,
array $contactAssociations,
array $contactsToAdd,
array $contactsToRemove
): void {
$this->logger->info('[' . $this->getDisplayName() . '] Contact association changes', [
'opportunity_id' => $opportunity->getId(),
'current_contacts' => $currentContactCrmIds,
'new_contacts' => $contactAssociations,
'contacts_to_add' => $contactsToAdd,
'contacts_to_remove' => $contactsToRemove,
]);
}
private function removeContactAssociations(Opportunity $opportunity, array $contactsToRemove): void
{
if (empty($contactsToRemove)) {
return;
}
$contactsToDetach = $opportunity->contacts()
->whereIn('contacts.crm_provider_id', $contactsToRemove)
->pluck('contacts.id')
->toArray();
if (! empty($contactsToDetach)) {
$opportunity->contacts()->detach($contactsToDetach);
$this->logger->info('[' . $this->getDisplayName() . '] Removed contact associations', [
'opportunity_id' => $opportunity->getId(),
'removed_contact_crm_ids' => $contactsToRemove,
'removed_contact_count' => count($contactsToDetach),
]);
}
}
private function addContactAssociations(Opportunity $opportunity, array $contactsToAdd, array $contactAssociations): void
{
if (empty($contactsToAdd)) {
return;
}
$contactsAdded = [];
foreach ($contactsToAdd as $crmId) {
$id = $contactAssociations[$crmId];
if ($this->attachSingleContact($opportunity, (string) $crmId, $id)) {
$contactsAdded[] = $crmId;
}
}
$this->logAddedContacts($opportunity, $contactsAdded);
}
private function attachSingleContact(Opportunity $opportunity, string $crmId, int $id): bool
{
try {
$contact = $this->crmEntityRepository->findContactByConfigurationAndId($this->config, $id);
if (! $contact) {
return false;
}
return $this->performContactAttachment($opportunity, $contact, $crmId);
} catch (\Throwable $e) {
$this->logger->warning('[' . $this->getDisplayName() . '] Failed to add contact association', [
'opportunity_id' => $opportunity->getId(),
'contact_crm_id' => $crmId,
'error' => $e->getMessage(),
]);
return false;
}
}
private function performContactAttachment(Opportunity $opportunity, Contact $contact, string $crmId): bool
{
try {
$opportunity->contacts()->attach($contact->getId(), [
'crm_provider_id' => $crmId,
]);
return true;
} catch (\Illuminate\Database\QueryException $e) {
if (str_contains($e->getMessage(), 'Duplicate entry')) {
$this->logger->info('[' . $this->getDisplayName() . '] Contact association already exists', [
'contact_id' => $contact->getId(),
'contact_crm_id' => $crmId,
'opportunity_id' => $opportunity->getId(),
]);
return false;
}
throw $e;
}
}
private function logAddedContacts(Opportunity $opportunity, array $contactsAdded): void
{
if (! empty($contactsAdded)) {
$this->logger->info('[' . $this->getDisplayName() . '] Added contact associations', [
'opportunity_id' => $opportunity->getId(),
'contacts_to_add_count' => count($contactsAdded),
'added_contact_crm_ids' => $contactsAdded,
'added_contacts_count' => count($contactsAdded),
]);
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Code changed:
Hide
Sync Changes
Hide This Notification
26
9
21
3
102
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM team_features where team_id = 1;
SELECT * FROM teams WHERE name LIKE '%Vixio%'; # 340,270,11922
SELECT * FROM users WHERE team_id = 340; # 12015
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 340
and sa.provider = 'salesforce';
# and sa.provider = 'salesloft';
select * from crm_fields where crm_configuration_id = 270 and object_type = 'event';
# 125558 - Event Type - Event_Type__c
# 125552 - Event Status - Event_Status__c
SELECT * FROM sidekick_settings WHERE team_id = 340;
SELECT * FROM crm_field_values WHERE crm_field_id in (125552);
select * from activities where crm_configuration_id = 270
and type = 'conference' and crm_provider_id IS NOT NULL
and actual_start_time > '2024-09-16 09:00:00' order by scheduled_start_time;
SELECT * FROM activities WHERE id = 20871677;
SELECT * FROM crm_field_data WHERE activity_id = 20871677;
select * from crm_layouts where crm_configuration_id = 270;
select * from crm_layout_entities where crm_layout_id in (886,887);
SELECT * FROM crm_configurations WHERE id = 270;
select * from playbooks where team_id = 340; # 1514
select * from groups where team_id = 340;
SELECT * FROM crm_fields WHERE id IN (125393, 125401);
select g.name as 'team name', p.name as 'playbook name', f.label as 'activity type field' from groups g
join playbooks p on g.playbook_id = p.id
join crm_fields f on p.activity_field_id = f.id
where g.team_id = 340;
SELECT * FROM activities WHERE uuid_to_bin('0c180357-67d2-419e-a8c3-b832a3490770') = uuid; # 20448716
select * from crm_field_data where object_id = 20448716;
select * from activities where crm_configuration_id = 270 and provider = 'salesloft' order by id desc;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%CybSafe%'; # 343,273,12008
select * from opportunities where team_id = 343;
select * from opportunities where team_id = 343 and crm_provider_id = '18099102526';
select * from opportunities where team_id = 343 and account_id = 945217482;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 343
and sa.provider = 'hubspot';
select * from accounts where team_id = 343 order by name asc;
select * from stages where crm_configuration_id = 273 and type = 'opportunity';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Voyado%'; # 353,283,12143
SELECT * FROM activities WHERE crm_configuration_id = 283 and account_id = 3777844 order by id desc;
SELECT * FROM accounts WHERE team_id = 353 AND name LIKE '%Salesloft%';
SELECT * FROM activities WHERE id = 20717903;
select * from participants where activity_id IN (20929172,20928605,20928468,20926272,20926271,20926270,20926269,20916499,20916454,20916436,20916435,20900015,20900014,20900013,20897312,20897243,20897241,20897237,20897232,20897229,20893648,20893231,20893230,20893229,20893228,20889784,20885039,20885038,20885037,20885036,20885035,20882728,20882708,20882703,20882702,20869828,20869811,20869806,20869801,20869799,20869798,20869796,20869795,20869794,20869761,20869760,20869759,20868688,20868687,20850340,20847195,20841710,20833967,20827021,20825307,20825305,20825297,20824615,20824400,20823927,20821760,20795588,20794233,20794057,20793710,20785811,20781789,20781394,20781307,20762651,20758453,20758282,20757323,20756643,20756636,20756629,20756627,20756606,20756605,20756604,20756603,20756602,20756600,20756599,20756598,20756595,20756594,20756589,20756587,20756577,20756573,20748918,20748386,20748385,20748384,20748383,20748382,20748381,20748380,20748379,20748377,20748375,20748373,20743301,20717905,20717904,20717903,20717901,20717899);
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 353
and sa.provider = 'salesforce';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%modern world business solutions%'; # 345,275,12016, [EMAIL]
SELECT * FROM activities WHERE uuid_to_bin('3921d399-3fef-4609-a291-b0097a166d43') = uuid;
# id: 20940638, user: 12022, contact: 5305871
SELECT * FROM activity_summary_logs WHERE activity_id = 20940638;
select * from contacts where team_id = 345 and crm_provider_id = '30891432415' order by name asc; # 5305871
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 345
and sa.provider = 'hubspot';
select * from users where team_id = 345 and id = 12022;
SELECT * FROM crm_profiles WHERE user_id = 12022;
SELECT * FROM participants WHERE activity_id = 20940638;
SELECT * FROM users u
JOIN crm_profiles cp ON u.id = cp.user_id
WHERE u.team_id = 345;
select * from contacts where team_id = 345 and crm_provider_id = '30880813535' order by name desc; # 5305871
select * from team_features where team_id = 345;
SELECT * FROM activities WHERE uuid_to_bin('11701e2d-2f82-4dab-a616-1db4fad238df') = uuid; # 21115197
SELECT * FROM participants WHERE activity_id = 20897406;
SELECT * FROM activities WHERE uuid_to_bin('63ba55cd-1abc-447d-83da-0137000005b7') = uuid; # 20953912
SELECT * FROM activities WHERE crm_configuration_id = 275 and provider = 'ringcentral' and title like '%1252629100%';
SELECT * FROM activities WHERE id = 20946641;
SELECT * FROM crm_profiles WHERE user_id = 10211;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Lunio%'; # 120,97,10984, [EMAIL]
SELECT * FROM opportunities WHERE crm_configuration_id = 97 and crm_provider_id = '006N1000006c5PpIAI';
select * from stages where crm_configuration_id = 97 and type = 'opportunity';
select * from opportunities where team_id = 120;
select * from crm_configurations crm join teams t on crm.id = t.crm_id
where 1=1
AND t.current_billing_plan IS NOT NULL
AND crm.auto_sync_activity = 0
and crm.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Exclaimer%'; # 270,205,10053,[EMAIL]
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 270
and sa.provider = 'salesforce';
SELECT * FROM activities WHERE uuid_to_bin('b54df794-2a9a-4957-8d80-09a600ead5f8') = uuid; # 21637956
SELECT * FROM crm_profiles WHERE user_id = 11446;
# [PASSWORD_DOTS]
SELECT * FROM teams WHERE name LIKE '%Cygnetise%'; # 372,300,12554, [EMAIL]
select * from playbooks where team_id = 372;
select * from crm_fields where crm_configuration_id = 300 and object_type = 'event'; # 141340
SELECT * FROM crm_field_values WHERE crm_field_id = 141340;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 372
and sa.provider = 'salesf...
|
43065
|
|
43063
|
NULL
|
0
|
2026-04-17T07:51:07.744394+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776412267744_m2.jpg...
|
PhpStorm
|
faVsco.js – OpportunitySyncTrait.php
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
32
2
19
Previous Highlighted Error...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.03046875,"top":0.017361112,"width":0.0453125,"height":0.022222223},"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"bounds":{"left":0.07578125,"top":0.017361112,"width":0.14960937,"height":0.022222223},"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.78515625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"bounds":{"left":0.803125,"top":0.017361112,"width":0.09765625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9007813,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9140625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9273437,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96015626,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9734375,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9867188,"top":0.017361112,"width":0.013281226,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"bounds":{"left":0.12382813,"top":0.17777778,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.13867188,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"\"podcast_audio_url\"","depth":4,"bounds":{"left":0.1515625,"top":0.17708333,"width":0.12617187,"height":0.013888889},"value":"\"podcast_audio_url\"","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.28828126,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.3,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.31015626,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.3203125,"top":0.17708333,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"0 results","depth":4,"bounds":{"left":0.33632812,"top":0.17638889,"width":0.030078124,"height":0.015277778},"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.36640626,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"bounds":{"left":0.3765625,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"bounds":{"left":0.38671875,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"bounds":{"left":0.396875,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.53046876,"top":0.17569445,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"32","depth":4,"bounds":{"left":0.48945314,"top":0.20277777,"width":0.012109375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.50390625,"top":0.20277777,"width":0.009375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"19","depth":4,"bounds":{"left":0.515625,"top":0.20277777,"width":0.011328125,"height":0.013194445},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.5289062,"top":0.2013889,"width":0.00859375,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
6428210454485697557
|
-8817761621092738226
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
32
2
19
Previous Highlighted Error
PhpStormFileFV faVsco.jsProject vEdit> D Redisv D ServiceTraits€ OpportunitySy& SyncCrmEntiti© SyncFieldsTra© WriteCrmTrait.→IUTIS•Weohook© BatchSyncCollect© BatchSyncRedisS(c) Client.php© ClosedDealStage6 DealFieldsService© DecorateActivity.© FieldDefinitions.p© FieldTypeConveri© HubspotClientInte© HubspotTokenMa© PayloadBuilder.pt© RemoteCrmObjec(C) ResponseNormali© Service.php© SyncFieldAction.f© SyncRelatedActiv© WebhookSyncBa1v D IntegrationApp> D Accessors~ D Api© ActionUrl.php• EnumUrllnterfa© FlowUrl.php© PageResult.ph© ProxyUrl.php(c) recuestsuloeLa kequestcxecu• RequestExecuSystemEvents© SystemUrl.phpC TokenBuilder.f• TokenBuilderlr© UrlBuilder.php> D Config> DDTO> MFilters>MJobs› _ ProspectSearchS> D ServiceTraits© DataClient.php© DecorateActivity.© LocalSearch.php© LocalSearchlntert© RemoteSearch.pr© Service.phpustenersM Metadata[ MigrationPipedriveD SalesforceD TraitsViewNavigateCodeLaravelRefactor( #11894 on JY-18909-automated-reports-ask-jiminny k v© AutomatedReportsService.php© TeamSetupController.phppnp apl.onp© AutomatedReportsCommandTest.php© TrackProviderInstalledEvent.phpC AutomatedReportsCallbackService.php+ OpportunitySyncTrait.phpToolsWindowHelp© SendReportJob.php© SendReportMailJob.php© ReportController.php© TokenBuilder.php• Filesystem.phpAutomatedReportsCommand.phpAskJiminnykeporscontroller.ono© AutomatedReportsSendCommand.php© Team.php© CreateActivityLoggedEvent.php© UserPilotActivityListener.phpActivityLogged.phpC RequestGenerateAskJiminnyReportJob.phpC RequestGenerateReportJob.phpsyncopoortunity.ono© AutomatedReportResult.php"podcast aualo unl© AutomatedReport.phpx § ccw.*O resultstrait OpportunitySyncTrait75275375475575675779479579679779879980080180280380480580680780881181281381481581681781881982085/oJd839840841842843844845846847848849/*** Create new opportunitylusageprivate function createOpportunity(string $crmId, array $properties, array $associations): ?Opportunity{…..}/*** Update existing opportunity1 usageprivate function uodateOpportunitv(string Scrmid. array Sproperties. arrav Sassociations): Opportunity$accountId = $this->resolveAccountId(Sassociations);$businessProcess = $this->resolveBusinessProcess($properties['pipeline'] ?? null);$stage = $businessProcess ? $this->resolveStage($businessProcess, $properties['dealstage'] ?? null) : null;$data = $this->build0pportunityData($properties, $accountId, $businessProcess, $stage);$attributes = ['crm_configuration_id' => $this->config->getId(),•crn_provider_1d => фcrmiа,$values = array_merge(Sattributes, $data);$opportunity = $this->crmEntityRepository->upsert0pportunity($attributes, $values);$this->importExternalFieldData($properties, $opportunity->getId());$this->update0pportunityAssociations(Sopportunity, $associations);return Sopportunity;2 usagesprivate function resolveAccountId(array $associations): ?int{..}Z usagesprivate function build0pportunityData(array $properties,Pint $accountId,?BusinessProcess $businessProcess,PStage $stage): array {$ownerId = null;$profile = null;if (! empty(Sproperties['hubspot_owner_id'])) €$ownerId = $properties['hubspot_owner_id'];$profile = $this->crmEntityRepository->findProfileByExternalId($this->config,scriney sownerta,Helper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (today 8:59)CreateHeldActivityEvent.php= custom.logC° scratch_1.json= laravel.logV connect.vueA HS_local jiminny@localhost]fi crm_configurations [EU]A SF ljiminny@localhost]V Onboard.vueA console [EU] x|Al console [PROD]& console SlAGiNG1542HSZMRMI9 [IBAN]=1547-15481549=155015511552— 1555-15941555155615571558-1559=156015611562156315641565=15661567156815691570157115721573157415751577157815791580—15811590Ix. Aulo vfajiminny~oElee* rrom crm026 Д9 A21 23 2102SELECT * FROM crm_layout_entities WHERE crm_layoutSELECT * FROM teams WHERE id = 575;select * from opportunities where team_id = 575;=SELECT * FROM activities WHERE uvid_to_bin('96b126select * from contacts cwhere c.crm_configuration_id = 370 order by c.updaSELECT * FROM participants where activity_id = 39gSELECT * FROM participants where activity_id = 39SELECT * FROM activity_summary_logs where activitySELECT * FROM activities WHERE uvid_to_bin('c7d99FSELECT * FROM activities WHERE uuid_to_bin('2e6ff4select * from crm_profiles where crm_configurationselect * from opportunities where crm_configuratieselect * from accounts where crm_configuration_idselect * from contacts where crm_configuration_id# owner 13236 525785080# contact 116779180 665587441856 - activity - AL# contact 21724/565 742725547700 - asnosupporcro# company 4176133 47150650569# deal 7100953 410150124747SELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THENu.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams t 1.n<->1: on t.id = u.team_idWHERE u.team_id = 400 and sa.provider = 'hubspot:select * from features;select * from team_features where feature_id = 40,select * from teams where id = 556; # owner: 18101select * from crm_configurations where id = 477;SELECT * FROM users WHERE id = 18101;SELECTCONCAT(u.id, LASE WHEN u.id = t.owner_id THENu.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJUlN Tealll'sTl.lk">l.on t.10 = U.Ceall_1dWHERE u.team_id = 556 and sa.provider = 'integratiselect * from opportunities where id = 7594349;Backend Chapter • 39 m leftL AutomatedReportsCommandTestv100% C•8 • Fri 17 Apr 10:51:07CascadeAutomated Report RetrHubSpot Opportunityrevewi in hubspot when do we populate opportunity_stagesw€6 Fast Context populate opportunity_stages HubSpot sync in 3.61sExploree upportunitysynciraltone ane searcnee eoeportunity stageHere's a complete picture of when stage_id is populated on HubSpot opportunities:Two Distinct Paths1. Opportunity Sync (Batch/Webhook sync)OpportunitySyncTrait - used during all opportunity imports/updates:createOpportunity( OpportunitySyncTrait.php:769-772 - stage is required: if resolveStage)returns null, the opportunity is skipped entirely (returns null).updateOpportunity() OpportunitySyncTrait.php:802 — stage is optional for updates; stage_id isonly set in buildOpportunityData() if the stage resolves.• buildOpportunityData() OpportunitySyncTrait.php:893-895 — conditionally sets stage_id only ifSstage is non-null.Stage resolution (resolveStage()):1. Checks $this-›cachedStages (in-memory cache per sync run)2. Queries DB via CrmEntityRepository::qetPipelineStageByConditions() matching crm_provider id+3. If not found in DB → calls importStages (null, $stageId) to pull from HubSpot API4. If still null → logs a warning: stage remains unset2. Findonnortunities!callled when matchino durino calltactivitv tlowilService.php: 733-748 — uses importStages() on-demand if the business process/stage is missing fromDb, then bullas the recora with the stace for disolay — does not persist stage 1d, It ust rerurns the stagecata inline3. importStages() - populates the stages tableservice.php:414-482 — called to sync the master stage list trom Hubspot pipellnes APl. Upserts Stagerecords with probability, sequence, label, etc. This is the prerequisite for stage resolution to work.SummaryWhenWherebatch weonook opponunityupporcunlcysyncllalt..du1laupposyncNew opportunity (createcreateOpportunity()pathExisting opportunityupdateOpportunity()updare patnEffectwrites stade 1a to opporcunltlesstace missing from DoresolveStage() → importStagestableStage required — no stage =opportunity skippedStage optional — no stage =stage_ideft unchangedTriggers on-demand stage import fromHUOSpOL AFlÖ althe issue is with stage_id being imported very often but it doesn't show any webhooks being received.+ <> CodeClaude Sonnet 4.6winasun leams8/0:44uir-o( 4 spaces...
|
NULL
|
|
42965
|
NULL
|
0
|
2026-04-17T07:45:52.579939+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776411952579_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ITerm2ShellEditViewSessionScriptsProfilesWindowHel ITerm2ShellEditViewSessionScriptsProfilesWindowHelp• Backend Chapter • 45 m leftmeet.google.com/gjc-ikxu-wxu?authuser=lukas.kovalik%40jiminny.comNikolay Nikolov (Presenting, annotating)→Platform Sprint 2 Q2 - Platform Tea[SRD-6793] Les Mills activity typeProblem loading pageSymfony|Component|Debug\ExcepCloudWatch | us-east-2Configure SSH access to multiple eConsole Home | Console Home | elNew TabMeet - Backend Chapter+ New TabF6 17 Aor 1045%, 0uy tesderoon[ Debug crm-sync.worwertoatnsooc RetienD SentryJy 20541 remove crm contract method #11980Ns to mher2e 41 Goesieto saster wom J-dStterelort Cro contrect-eethouQ Fiter files....v S acclv # Contracts/Services/Crm|• Si Provider® Salesforceintertagg, php© ImportsBusinessProcessesint.B Serviceinterface pho© SyncOrmMetadatainterface.php~ $ Http/Controllers/API# CrmController.php~ fm Jobs/Crm8) SyncActivity.phoSyncTeamMetadata.phpv = Listeners/Crm© ResolveOwner.phpv # Services/Crm~ Sh Bulihorn® BulthornService.php• Ei Close|ini Service nhol• fi Copper|® Service pho• Si Dummysрp/Cootracts/Services/Cen/Provider/Salesforcelnterface.ph :00 -4,0 46.8 00- use Jiaiary ViodeIs VActivity:andataosctstenotoo anosrroceor- use JisianyVlodelr1Cra(RecerdType:/ax00 -40,19 *33,14:00 pubtac fonction getTassoyfittertarray Sasditionalfields = 112s Parrav:lpublic fuoctaon anportlecordTypef televalues(ReceedType SrecerdTypel: vold:mhs tenetaor cenrero eeiaterrer sienos drey8800.0709000010 U1403150000%W0T PTCE30publie function querylstring squerytoRun, array Sparaneters • 11):Overylterator:/es. Hettoos defined in Serviceinterlace, but ssable ooty an salesfarce »/eн STODC: Clescup all ather groviders of the fellowing netrods »/puelic function anportbusinessProcesses(hs vosd;Pt VunOn TOECENOLOTOnpalic functios gattrents(ste5 LearnDD N Chapter00I70 vewe+2-10 abo0eViewedwe Jtaitey/ContractslServices\CrmlServicelnterface:array saootttonatftelesa2: tarray:188 01000000060V44906CD0DEICOU0attogether opüblie function queryfstring squeryToßun, array Sparaneters • [I):ieehots deiinteinerieeeteeketu.e onyts sestorerpublie function inpertPecordTypesflr woid:Рискао Кинськой оетсмельзивЕс ноновтне,-зисав 1о еск1о, 1510:45 AM |Backend Chapter100% C8 • Fri 17 Apr 10:45:523NikolayLukas Kovalik...
|
NULL
|
1413963943091750757
|
NULL
|
visual_change
|
ocr
|
NULL
|
ITerm2ShellEditViewSessionScriptsProfilesWindowHel ITerm2ShellEditViewSessionScriptsProfilesWindowHelp• Backend Chapter • 45 m leftmeet.google.com/gjc-ikxu-wxu?authuser=lukas.kovalik%40jiminny.comNikolay Nikolov (Presenting, annotating)→Platform Sprint 2 Q2 - Platform Tea[SRD-6793] Les Mills activity typeProblem loading pageSymfony|Component|Debug\ExcepCloudWatch | us-east-2Configure SSH access to multiple eConsole Home | Console Home | elNew TabMeet - Backend Chapter+ New TabF6 17 Aor 1045%, 0uy tesderoon[ Debug crm-sync.worwertoatnsooc RetienD SentryJy 20541 remove crm contract method #11980Ns to mher2e 41 Goesieto saster wom J-dStterelort Cro contrect-eethouQ Fiter files....v S acclv # Contracts/Services/Crm|• Si Provider® Salesforceintertagg, php© ImportsBusinessProcessesint.B Serviceinterface pho© SyncOrmMetadatainterface.php~ $ Http/Controllers/API# CrmController.php~ fm Jobs/Crm8) SyncActivity.phoSyncTeamMetadata.phpv = Listeners/Crm© ResolveOwner.phpv # Services/Crm~ Sh Bulihorn® BulthornService.php• Ei Close|ini Service nhol• fi Copper|® Service pho• Si Dummysрp/Cootracts/Services/Cen/Provider/Salesforcelnterface.ph :00 -4,0 46.8 00- use Jiaiary ViodeIs VActivity:andataosctstenotoo anosrroceor- use JisianyVlodelr1Cra(RecerdType:/ax00 -40,19 *33,14:00 pubtac fonction getTassoyfittertarray Sasditionalfields = 112s Parrav:lpublic fuoctaon anportlecordTypef televalues(ReceedType SrecerdTypel: vold:mhs tenetaor cenrero eeiaterrer sienos drey8800.0709000010 U1403150000%W0T PTCE30publie function querylstring squerytoRun, array Sparaneters • 11):Overylterator:/es. Hettoos defined in Serviceinterlace, but ssable ooty an salesfarce »/eн STODC: Clescup all ather groviders of the fellowing netrods »/puelic function anportbusinessProcesses(hs vosd;Pt VunOn TOECENOLOTOnpalic functios gattrents(ste5 LearnDD N Chapter00I70 vewe+2-10 abo0eViewedwe Jtaitey/ContractslServices\CrmlServicelnterface:array saootttonatftelesa2: tarray:188 01000000060V44906CD0DEICOU0attogether opüblie function queryfstring squeryToßun, array Sparaneters • [I):ieehots deiinteinerieeeteeketu.e onyts sestorerpublie function inpertPecordTypesflr woid:Рискао Кинськой оетсмельзивЕс ноновтне,-зисав 1о еск1о, 1510:45 AM |Backend Chapter100% C8 • Fri 17 Apr 10:45:523NikolayLukas Kovalik...
|
NULL
|
|
42964
|
NULL
|
0
|
2026-04-17T07:45:52.326644+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776411952326_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileFV faVsco.jsProject vEditViewNavigateC PhpStormFileFV faVsco.jsProject vEditViewNavigateCodeLaravelRefactorToolsWindowHelp#11894 on JY-18909-automated-reports-ask-jiminny k ~© AutomatedReportsService.php© SendReportJob.php© SendReportMailJob.php©ReportController.phpC TokenBuilder.php> D Redis© AskJiminnyReportsController.phpC AutomatedReportsCommandTest.phpAutomatedReportsSendCommand.php© Team.phpv D ServiceTraits€ OpportunitySy© CreateActivityLoggedEvent.php© UserPilotActivityListener.php© ActivityLogged.php© AutomatedReportsCallbackService.php& SyncCrmEntiti€ OpportunitySyncTrait.php x© AutomatedReportResult.php© AutomatedReport.php© SyncFieldsTratrait OpportunitySyncTrait© WriteCrmTrait.838private function build0pportunityData(→IUTIS848$profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);→Weshook© BatchSyncCollect849850© BatchSyncRedisS851$name = 'Unknown';(c) Client.php852if (isset($properties['dealname'])) {© ClosedDealStage853$name = mb_strimwidth(Spropertiesl'dealname'],start:0, width: 128);6 DealFieldsService854© DecorateActivity.893© FieldDefinitions.p850$amount = $this->resolveAmount($properties);© FieldTypeConveri857$currency = $properties['deal_currency_code'] ?? null;© HubspotClientInte858© HubspotTokenMa859$closeDate = null;© PayloadBuilder.pt860if (! empty($properties[ 'closedate'])) {© RemoteCrmObjec861$closeDate = Carbon: :parse($properties[ 'closedate'])->format( format: 'Y-m-d');(C) ResponseNormali862© Service.php© SyncFieldAction.f863864$remotelyCreatedAt = null;© SyncRelatedActiv865if (! empty($properties['greatedate']) && strtotime($propertiesl' greatedate'])) {© WebhookSyncBa1800$date = $this->parseCleanDatetime($propertiesl 'sreatedate']);v D IntegrationApp80/> D Accessors868$remotelyCreatedAt = $date?->format( format:) "Y-m-d H:i:s');~ D Api869© ActionUrl.php0 /0• EnumUrllnterfe© FlowUrl.php$closedStages = $this->getClosedDealStages();$isWon = in_array($properties['dealstage'], $closedStages['won']);$isLost = in_array($properties[ 'dealstage'], $closedStages[ 'lost']);© PageResult.ph© ProxyUrl.php(c) recuestsuloeLa kequestcxecu872873874875876• RequestExecuSystemEvents© SystemUrl.phpC TokenBuilder.f• TokenBuilderlr© UrlBuilder.php> D Config> DDTO> MFilters> MJobs› _ ProspectSearchS> D ServiceTraits© DataClient.php© DecorateActivity.© LocalSearch.php© LocalSearchlntert878879880881882883884885886887888887870OY1014$data = ['team_id'= puhis->ceam->gecta.'user 101→ Eerefileinderotile userichinul,"owner 101=> SownerId."nalle "=> $name,'value'=> ! empty($amount) ? $amount : null,' currency_code'=> CurrencyFormatter::formatCode($currency),'close_date'=> $cLoseDate,'is_closed'=> $isWon || $isLost,'is_won'=> $isWon,'remotely_created_at'=> $remotelyCreatedAt,'probability''forecast_category'=> $this->resolveDealProbability($properties['hs_deal_stage_probability']).=> $this-›resolveForecastCategory($propertiesl'hs_manual_forecast_category']),if ($accountId) {$data['account_id'] = $accountId;© RemoteSearch.prif ($stage) {© Service.php$data['stage_id'] = $stage->id;_ ListenersMeradara[ MigrationPipedriveD Salesforce895896897898894D Traitsif ($businessProcess) {фrecoralype = schis->crmencltykepos1cory->getbusinessprocesskecordlype(sbusinessprocess):if ($recordType) {noata'recoro tvoe no = srecorol voe-o lorHelper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (today 8:59)© TeamSetupController.phpphp api.phpAutomatedReportsRepository.php© RequestGenerateAskJiminnyReportJob.phpFilesystem.phpCreateHeldActivityEvent.php© RequestGenerateReportJob.php© AutomatedReportsCommand.phpTrackProviderInstalledEvent.php© SyncOpportunity.php432 ×2 ×19 ^Backend Chanter . 45 m left100% C8•Fri 17 Apr 10:45:52AutomatedReportsCommandTest= custom.logV connect.vue= laravel.logV Onboard.vuecrm_configurations [EU]15411542154315441545A SF [jiminny@localhost]( scratch_1.json4 HS_local [jiminny@localhost]A console [EU] xA console [STAGING]X:Auto vPlavaroundvMa lminnv vSELECT * FROM Crm_LayoUts WHERE Crm.conf i026 A9 A21 X3 X102 ^SELECT * FROM crm_layout_entities WHERE crm_layout_id = 1678;SELECT * FROM teams WHERE id = 575;select * from opportunities where team_id = 575;SELECT * FROM activities WHERE uvid_to_bin('96b1261f-2357-49f9-ab38-23ce1select * from contacts cwhere c.crm_configuration_id = 370 order by c.updated_at desc;SELECT * FROM participants where activity_id = 38833541;SELECT * FROM participants where activity_ id = 39216301;SELECT * FROM activity_summary_logs where activity_id = 39216301;SELECT * FROM activities WHERE uuid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bSELECT * FROMactivities WHERE uvid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acdeselect * fromcrnoronles were crii conmouramon o = oly dno crillorowselect x trolopportunities where crm_configuration_id = 319 and crm_prev15621563156415651568157115721574157615781579158015811582158315881590SELECTu.email,sa.*,JOIN teams t 1..n<->1: on t.id = u.team_idselect * from features;select * from team_features where feature_id = 40;select * from teamsSELECTu.email,sa.*,Nol teams tselect * from opportunities where id = 7594349;4 spaces...
|
NULL
|
4808048660806802685
|
NULL
|
idle
|
ocr
|
NULL
|
PhpStormFileFV faVsco.jsProject vEditViewNavigateC PhpStormFileFV faVsco.jsProject vEditViewNavigateCodeLaravelRefactorToolsWindowHelp#11894 on JY-18909-automated-reports-ask-jiminny k ~© AutomatedReportsService.php© SendReportJob.php© SendReportMailJob.php©ReportController.phpC TokenBuilder.php> D Redis© AskJiminnyReportsController.phpC AutomatedReportsCommandTest.phpAutomatedReportsSendCommand.php© Team.phpv D ServiceTraits€ OpportunitySy© CreateActivityLoggedEvent.php© UserPilotActivityListener.php© ActivityLogged.php© AutomatedReportsCallbackService.php& SyncCrmEntiti€ OpportunitySyncTrait.php x© AutomatedReportResult.php© AutomatedReport.php© SyncFieldsTratrait OpportunitySyncTrait© WriteCrmTrait.838private function build0pportunityData(→IUTIS848$profile = $this->crmEntityRepository->findProfileByExternalId($this->config, (string) $ownerId);→Weshook© BatchSyncCollect849850© BatchSyncRedisS851$name = 'Unknown';(c) Client.php852if (isset($properties['dealname'])) {© ClosedDealStage853$name = mb_strimwidth(Spropertiesl'dealname'],start:0, width: 128);6 DealFieldsService854© DecorateActivity.893© FieldDefinitions.p850$amount = $this->resolveAmount($properties);© FieldTypeConveri857$currency = $properties['deal_currency_code'] ?? null;© HubspotClientInte858© HubspotTokenMa859$closeDate = null;© PayloadBuilder.pt860if (! empty($properties[ 'closedate'])) {© RemoteCrmObjec861$closeDate = Carbon: :parse($properties[ 'closedate'])->format( format: 'Y-m-d');(C) ResponseNormali862© Service.php© SyncFieldAction.f863864$remotelyCreatedAt = null;© SyncRelatedActiv865if (! empty($properties['greatedate']) && strtotime($propertiesl' greatedate'])) {© WebhookSyncBa1800$date = $this->parseCleanDatetime($propertiesl 'sreatedate']);v D IntegrationApp80/> D Accessors868$remotelyCreatedAt = $date?->format( format:) "Y-m-d H:i:s');~ D Api869© ActionUrl.php0 /0• EnumUrllnterfe© FlowUrl.php$closedStages = $this->getClosedDealStages();$isWon = in_array($properties['dealstage'], $closedStages['won']);$isLost = in_array($properties[ 'dealstage'], $closedStages[ 'lost']);© PageResult.ph© ProxyUrl.php(c) recuestsuloeLa kequestcxecu872873874875876• RequestExecuSystemEvents© SystemUrl.phpC TokenBuilder.f• TokenBuilderlr© UrlBuilder.php> D Config> DDTO> MFilters> MJobs› _ ProspectSearchS> D ServiceTraits© DataClient.php© DecorateActivity.© LocalSearch.php© LocalSearchlntert878879880881882883884885886887888887870OY1014$data = ['team_id'= puhis->ceam->gecta.'user 101→ Eerefileinderotile userichinul,"owner 101=> SownerId."nalle "=> $name,'value'=> ! empty($amount) ? $amount : null,' currency_code'=> CurrencyFormatter::formatCode($currency),'close_date'=> $cLoseDate,'is_closed'=> $isWon || $isLost,'is_won'=> $isWon,'remotely_created_at'=> $remotelyCreatedAt,'probability''forecast_category'=> $this->resolveDealProbability($properties['hs_deal_stage_probability']).=> $this-›resolveForecastCategory($propertiesl'hs_manual_forecast_category']),if ($accountId) {$data['account_id'] = $accountId;© RemoteSearch.prif ($stage) {© Service.php$data['stage_id'] = $stage->id;_ ListenersMeradara[ MigrationPipedriveD Salesforce895896897898894D Traitsif ($businessProcess) {фrecoralype = schis->crmencltykepos1cory->getbusinessprocesskecordlype(sbusinessprocess):if ($recordType) {noata'recoro tvoe no = srecorol voe-o lorHelper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (today 8:59)© TeamSetupController.phpphp api.phpAutomatedReportsRepository.php© RequestGenerateAskJiminnyReportJob.phpFilesystem.phpCreateHeldActivityEvent.php© RequestGenerateReportJob.php© AutomatedReportsCommand.phpTrackProviderInstalledEvent.php© SyncOpportunity.php432 ×2 ×19 ^Backend Chanter . 45 m left100% C8•Fri 17 Apr 10:45:52AutomatedReportsCommandTest= custom.logV connect.vue= laravel.logV Onboard.vuecrm_configurations [EU]15411542154315441545A SF [jiminny@localhost]( scratch_1.json4 HS_local [jiminny@localhost]A console [EU] xA console [STAGING]X:Auto vPlavaroundvMa lminnv vSELECT * FROM Crm_LayoUts WHERE Crm.conf i026 A9 A21 X3 X102 ^SELECT * FROM crm_layout_entities WHERE crm_layout_id = 1678;SELECT * FROM teams WHERE id = 575;select * from opportunities where team_id = 575;SELECT * FROM activities WHERE uvid_to_bin('96b1261f-2357-49f9-ab38-23ce1select * from contacts cwhere c.crm_configuration_id = 370 order by c.updated_at desc;SELECT * FROM participants where activity_id = 38833541;SELECT * FROM participants where activity_ id = 39216301;SELECT * FROM activity_summary_logs where activity_id = 39216301;SELECT * FROM activities WHERE uuid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bSELECT * FROMactivities WHERE uvid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acdeselect * fromcrnoronles were crii conmouramon o = oly dno crillorowselect x trolopportunities where crm_configuration_id = 319 and crm_prev15621563156415651568157115721574157615781579158015811582158315881590SELECTu.email,sa.*,JOIN teams t 1..n<->1: on t.id = u.team_idselect * from features;select * from team_features where feature_id = 40;select * from teamsSELECTu.email,sa.*,Nol teams tselect * from opportunities where id = 7594349;4 spaces...
|
NULL
|
|
42849
|
NULL
|
0
|
2026-04-17T07:40:38.534765+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776411638534_m2.jpg...
|
Slack
|
engineering (Channel) - Jiminny Inc - Slack
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
Nikolay Nikolov
Stoyan Tanev
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
Ves
Steliyan Georgiev
Jira Cloud
Toast
Google Calendar
Messages
Messages
Canvas
Canvas
Files
Files
Bookmarks
Bookmarks
Open Positions
Open Positions
Benefits
Benefits
Pins
Pins
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Nikolay Yankov
Mar 31st at 3:49:10 PM
3:49 PM
It looks like we've hit the Fontawesome monthly limit for downloads...
CircleCI front-end build fail, as it cannot install the packages.
image.png
Toggle file
image.png
21 replies
Last reply 17 days ago
View thread
Nikolay Yankov
Mar 31st at 3:49:39 PM
3:49 PM
Does it reset tomorrow?
Jump to date
Stefka Stoyanova
Apr 1st at 11:25:17 AM
11:25 AM
please do not release to revert
Ves
Apr 1st at 12:12:16 PM
12:12 PM
The release prior to the user cache deploy is live since 11:44
Ves
Apr 1st at 12:12:50 PM
12:12 PM
Don’t deploy further changes as new deploys will reapply the faulty build
4 replies
Last reply 16 days ago
View thread
A huddle happened
Apr 1st at 12:14:28 PM
12:14 PM
started in a thread:
Don’t deploy further changes as new deploys will reapply the faulty build
View newer replies
Vasil Vasilev
Apr 1st at 12:25:50 PM
12:25 PM
@here
do not deploy within the next one hour. The revert deploy must be validated first. Wait for confirmation before deploying
Desislav Damyanov
Apr 1st at 12:58:03 PM
12:58 PM
Revert is up, can be validated
2 replies
Last reply 16 days ago
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
Nikolay Ivanov
Apr 1st at 1:19:38 PM
1:19 PM
you can proceed with deploying
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Jiminny Inc","depth":12,"bounds":{"left":0.00546875,"top":0.05486111,"width":0.0125,"height":0.022222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Jiminny (Staging)","depth":12,"bounds":{"left":0.00546875,"top":0.09097222,"width":0.0125,"height":0.022222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add workspaces","depth":12,"bounds":{"left":0.00546875,"top":0.12708333,"width":0.0125,"height":0.022222223},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"bounds":{"left":0.026953125,"top":0.048611112,"width":0.020703126,"height":0.047222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"bounds":{"left":0.03125,"top":0.08125,"width":0.012109375,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.026953125,"top":0.09583333,"width":0.020703126,"height":0.047222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"bounds":{"left":0.032421876,"top":0.12847222,"width":0.009765625,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.026953125,"top":0.14305556,"width":0.020703126,"height":0.047222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"bounds":{"left":0.0296875,"top":0.17569445,"width":0.015234375,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.026953125,"top":0.19027779,"width":0.020703126,"height":0.047222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"bounds":{"left":0.0328125,"top":0.22291666,"width":0.008984375,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.026953125,"top":0.2375,"width":0.020703126,"height":0.047222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"bounds":{"left":0.03203125,"top":0.2701389,"width":0.010546875,"height":0.009027778},"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.026953125,"top":0.2847222,"width":0.020703126,"height":0.047222223},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"bounds":{"left":0.03203125,"top":0.31736112,"width":0.010546875,"height":0.009027778},"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.06679688,"top":0.0875,"width":0.021484375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.06679688,"top":0.10694444,"width":0.020703126,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.06679688,"top":0.12638889,"width":0.021484375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.06679688,"top":0.14583333,"width":0.034375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.06679688,"top":0.16527778,"width":0.028515626,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.07304688,"top":0.24722221,"width":0.0515625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.07304688,"top":0.26666668,"width":0.05234375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.07304688,"top":0.3125,"width":0.026171874,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.07304688,"top":0.33194444,"width":0.014453125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.07304688,"top":0.3513889,"width":0.021484375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.07304688,"top":0.37083334,"width":0.040625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.07304688,"top":0.39027777,"width":0.032421876,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.07304688,"top":0.4097222,"width":0.03046875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"frontend","depth":23,"bounds":{"left":0.07304688,"top":0.42916667,"width":0.02265625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"bounds":{"left":0.07304688,"top":0.4486111,"width":0.019140625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"infra-changes","depth":23,"bounds":{"left":0.07304688,"top":0.46805555,"width":0.034765624,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"bounds":{"left":0.07304688,"top":0.4875,"width":0.02734375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"bounds":{"left":0.07304688,"top":0.5069444,"width":0.041015625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"bounds":{"left":0.07304688,"top":0.5263889,"width":0.0453125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"bounds":{"left":0.07304688,"top":0.54583335,"width":0.019921875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"bounds":{"left":0.07304688,"top":0.56527776,"width":0.020703126,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"bounds":{"left":0.07304688,"top":0.5847222,"width":0.02890625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"bounds":{"left":0.07304688,"top":0.6041667,"width":0.0203125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"bounds":{"left":0.07304688,"top":0.6236111,"width":0.02890625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"bounds":{"left":0.07304688,"top":0.64305556,"width":0.053125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"bounds":{"left":0.07304688,"top":0.6888889,"width":0.044140626,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"bounds":{"left":0.11679687,"top":0.6888889,"width":0.0078125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"bounds":{"left":0.11992188,"top":0.6888889,"width":0.016796876,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"bounds":{"left":0.13632813,"top":0.70416665,"width":0.000390625,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"bounds":{"left":0.13632813,"top":0.70416665,"width":0.000390625,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"bounds":{"left":0.07304688,"top":0.7083333,"width":0.04140625,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":23,"bounds":{"left":0.07304688,"top":0.7277778,"width":0.040234376,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"bounds":{"left":0.07304688,"top":0.74722224,"width":0.033984374,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"bounds":{"left":0.07304688,"top":0.76666665,"width":0.03125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"bounds":{"left":0.07304688,"top":0.7861111,"width":0.037890624,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"bounds":{"left":0.07304688,"top":0.8055556,"width":0.044140626,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Ves","depth":23,"bounds":{"left":0.07304688,"top":0.825,"width":0.009375,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"bounds":{"left":0.07304688,"top":0.84444445,"width":0.044921875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"bounds":{"left":0.07304688,"top":0.8902778,"width":0.02578125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"bounds":{"left":0.07304688,"top":0.9097222,"width":0.013671875,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":23,"bounds":{"left":0.07304688,"top":0.9291667,"width":0.0359375,"height":0.0125},"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"bounds":{"left":0.14335938,"top":0.07986111,"width":0.036328126,"height":0.02638889},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"bounds":{"left":0.15429688,"top":0.0875,"width":0.022265624,"height":0.011111111},"role_description":"text"},{"role":"AXRadioButton","text":"Canvas","depth":17,"bounds":{"left":0.18085937,"top":0.07986111,"width":0.03046875,"height":0.02638889},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":19,"bounds":{"left":0.19179687,"top":0.0875,"width":0.01640625,"height":0.011111111},"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"bounds":{"left":0.2125,"top":0.07986111,"width":0.025,"height":0.02638889},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"bounds":{"left":0.2234375,"top":0.0875,"width":0.0109375,"height":0.011111111},"role_description":"text"},{"role":"AXRadioButton","text":"Bookmarks","depth":17,"bounds":{"left":0.23867187,"top":0.07986111,"width":0.03984375,"height":0.02638889},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Bookmarks","depth":19,"bounds":{"left":0.24960938,"top":0.0875,"width":0.02578125,"height":0.011111111},"role_description":"text"},{"role":"AXRadioButton","text":"Open Positions","depth":17,"bounds":{"left":0.2796875,"top":0.07986111,"width":0.04921875,"height":0.02638889},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Open Positions","depth":19,"bounds":{"left":0.290625,"top":0.0875,"width":0.03515625,"height":0.011111111},"role_description":"text"},{"role":"AXRadioButton","text":"Benefits","depth":17,"bounds":{"left":0.33007812,"top":0.07986111,"width":0.033203125,"height":0.02638889},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Benefits","depth":19,"bounds":{"left":0.34101564,"top":0.0875,"width":0.019140625,"height":0.011111111},"role_description":"text"},{"role":"AXRadioButton","text":"Pins","depth":17,"bounds":{"left":0.36445314,"top":0.07986111,"width":0.023828125,"height":0.02638889},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Pins","depth":19,"bounds":{"left":0.37539062,"top":0.0875,"width":0.009765625,"height":0.011111111},"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"bounds":{"left":0.3894531,"top":0.07986111,"width":0.012890625,"height":0.02638889},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"bounds":{"left":0.13671875,"top":0.045138888,"width":0.01875,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"bounds":{"left":0.13671875,"top":0.045138888,"width":0.009375,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"bounds":{"left":0.13671875,"top":0.045138888,"width":0.01640625,"height":0.00069444446},"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"bounds":{"left":0.28632814,"top":0.10069445,"width":0.0625,"height":0.00069444446},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Nikolay Yankov","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.040625,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.20234375,"top":0.10069445,"width":0.003515625,"height":0.00069444446},"role_description":"text"},{"role":"AXLink","text":"Mar 31st at 3:49:10 PM","depth":24,"bounds":{"left":0.20546874,"top":0.10069445,"width":0.01796875,"height":0.00069444446},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3:49 PM","depth":25,"bounds":{"left":0.20546874,"top":0.10069445,"width":0.01796875,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"It looks like we've hit the Fontawesome monthly limit for downloads...","depth":25,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.17851563,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"CircleCI front-end build fail, as it cannot install the packages.","depth":25,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.15507813,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"image.png","depth":25,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.023046875,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.18476562,"top":0.10069445,"width":0.001953125,"height":0.00069444446},"role_description":"text"},{"role":"AXButton","text":"Toggle file","depth":25,"bounds":{"left":0.18632813,"top":0.10069445,"width":0.008203125,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXLink","text":"image.png","depth":27,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.140625,"height":0.00069444446},"role_description":"Unlabelled image","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"21 replies","depth":24,"bounds":{"left":0.19609375,"top":0.10069445,"width":0.022265624,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Last reply 17 days ago","depth":25,"bounds":{"left":0.22109374,"top":0.10069445,"width":0.049609374,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":25,"bounds":{"left":0.22109374,"top":0.10069445,"width":0.02734375,"height":0.00069444446},"role_description":"text"},{"role":"AXButton","text":"Nikolay Yankov","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.040625,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.20234375,"top":0.10069445,"width":0.003515625,"height":0.00069444446},"role_description":"text"},{"role":"AXLink","text":"Mar 31st at 3:49:39 PM","depth":24,"bounds":{"left":0.20546874,"top":0.10069445,"width":0.01796875,"height":0.00069444446},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3:49 PM","depth":25,"bounds":{"left":0.20546874,"top":0.10069445,"width":0.01796875,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"Does it reset tomorrow?","depth":25,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.0625,"height":0.00069444446},"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"bounds":{"left":0.28554687,"top":0.110416666,"width":0.0640625,"height":0.019444445},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Stefka Stoyanova","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.04609375,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.2078125,"top":0.10069445,"width":0.003125,"height":0.00069444446},"role_description":"text"},{"role":"AXLink","text":"Apr 1st at 11:25:17 AM","depth":24,"bounds":{"left":0.21054688,"top":0.10069445,"width":0.02109375,"height":0.00069444446},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:25 AM","depth":25,"bounds":{"left":0.21054688,"top":0.10069445,"width":0.02109375,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"please do not release to revert","depth":25,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.078125,"height":0.00069444446},"role_description":"text"},{"role":"AXButton","text":"Ves","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.009765625,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.17148438,"top":0.10069445,"width":0.003125,"height":0.00069444446},"role_description":"text"},{"role":"AXLink","text":"Apr 1st at 12:12:16 PM","depth":24,"bounds":{"left":0.17421874,"top":0.10069445,"width":0.02109375,"height":0.00069444446},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:12 PM","depth":25,"bounds":{"left":0.17421874,"top":0.10069445,"width":0.02109375,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"The release prior to the user cache deploy is live since 11:44","depth":25,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.15429688,"height":0.00069444446},"role_description":"text"},{"role":"AXButton","text":"Ves","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.009765625,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.17148438,"top":0.10069445,"width":0.003125,"height":0.00069444446},"role_description":"text"},{"role":"AXLink","text":"Apr 1st at 12:12:50 PM","depth":24,"bounds":{"left":0.17421874,"top":0.10069445,"width":0.02109375,"height":0.00069444446},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:12 PM","depth":25,"bounds":{"left":0.17421874,"top":0.10069445,"width":0.02109375,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"Don’t deploy further changes as new deploys will reapply the faulty build","depth":25,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.1859375,"height":0.00069444446},"role_description":"text"},{"role":"AXButton","text":"4 replies","depth":24,"bounds":{"left":0.18515626,"top":0.10069445,"width":0.019140625,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Last reply 16 days ago","depth":25,"bounds":{"left":0.20703125,"top":0.10069445,"width":0.05,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":25,"bounds":{"left":0.20703125,"top":0.10069445,"width":0.02734375,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"A huddle happened","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.051171876,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.21289062,"top":0.10069445,"width":0.003125,"height":0.00069444446},"role_description":"text"},{"role":"AXLink","text":"Apr 1st at 12:14:28 PM","depth":24,"bounds":{"left":0.21601562,"top":0.10069445,"width":0.020703126,"height":0.00069444446},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:14 PM","depth":25,"bounds":{"left":0.21601562,"top":0.10069445,"width":0.020703126,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"started in a thread:","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.0484375,"height":0.00069444446},"role_description":"text"},{"role":"AXButton","text":"Don’t deploy further changes as new deploys will reapply the faulty build","depth":24,"bounds":{"left":0.21171875,"top":0.10069445,"width":0.18867187,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View newer replies","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.03984375,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Vasil Vasilev","depth":24,"bounds":{"left":0.16210938,"top":0.10069445,"width":0.032421876,"height":0.0048611113},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.20195313,"top":0.10069445,"width":0.003515625,"height":0.0034722222},"role_description":"text"},{"role":"AXLink","text":"Apr 1st at 12:25:50 PM","depth":24,"bounds":{"left":0.20507812,"top":0.10069445,"width":0.020703126,"height":0.0034722222},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:25 PM","depth":25,"bounds":{"left":0.20507812,"top":0.10069445,"width":0.020703126,"height":0.0034722222},"role_description":"text"},{"role":"AXStaticText","text":"@here","depth":25,"bounds":{"left":0.16289063,"top":0.10694444,"width":0.016796876,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"do not deploy within the next one hour. The revert deploy must be validated first. Wait for confirmation before deploying","depth":25,"bounds":{"left":0.16210938,"top":0.10694444,"width":0.30234376,"height":0.027777778},"role_description":"text"},{"role":"AXButton","text":"Desislav Damyanov","depth":24,"bounds":{"left":0.16210938,"top":0.14166667,"width":0.0515625,"height":0.015277778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.21328124,"top":0.14305556,"width":0.003515625,"height":0.0125},"role_description":"text"},{"role":"AXLink","text":"Apr 1st at 12:58:03 PM","depth":24,"bounds":{"left":0.21640626,"top":0.14513889,"width":0.020703126,"height":0.010416667},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:58 PM","depth":25,"bounds":{"left":0.21640626,"top":0.14513889,"width":0.020703126,"height":0.010416667},"role_description":"text"},{"role":"AXStaticText","text":"Revert is up, can be validated","depth":25,"bounds":{"left":0.16210938,"top":0.15833333,"width":0.07460938,"height":0.0125},"role_description":"text"},{"role":"AXButton","text":"2 replies","depth":24,"bounds":{"left":0.18515626,"top":0.17708333,"width":0.019140625,"height":0.013888889},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Last reply 16 days ago","depth":25,"bounds":{"left":0.20703125,"top":0.17777778,"width":0.05,"height":0.011805556},"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":25,"bounds":{"left":0.20703125,"top":0.17777778,"width":0.02734375,"height":0.011805556},"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply to thread","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Summarize thread","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"bounds":{"left":0.49140626,"top":0.12986112,"width":0.000390625,"height":0.022222223},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Nikolay Ivanov","depth":24,"bounds":{"left":0.16210938,"top":0.2013889,"width":0.039453126,"height":0.015277778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.20117188,"top":0.20277777,"width":0.003125,"height":0.0125},"role_description":"text"},{"role":"AXLink","text":"Apr 1st at 1:19:38 PM","depth":24,"bounds":{"left":0.20390625,"top":0.2048611,"width":0.018359374,"height":0.010416667},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:19 PM","depth":25,"bounds":{"left":0.20390625,"top":0.2048611,"width":0.018359374,"height":0.010416667},"role_description":"text"},{"role":"AXStaticText","text":"you can proceed with deploying","depth":25,"bounds":{"left":0.16210938,"top":0.21805556,"width":0.08164062,"height":0.0125},"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"bounds":{"left":0.49140626,"top":0.18958333,"width":0.000390625,"height":0.022222223},"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"bounds":{"left":0.49140626,"top":0.18958333,"width":0.000390625,"height":0.022222223},"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"bounds":{"left":0.49140626,"top":0.18958333,"width":0.000390625,"height":0.022222223},"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"bounds":{"left":0.49140626,"top":0.18958333,"width":0.000390625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"bounds":{"left":0.49140626,"top":0.18958333,"width":0.000390625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"bounds":{"left":0.49140626,"top":0.18958333,"width":0.000390625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7550939622789420166
|
-6901286523887444983
|
visual_change
|
hybrid
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
Nikolay Nikolov
Stoyan Tanev
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
Ves
Steliyan Georgiev
Jira Cloud
Toast
Google Calendar
Messages
Messages
Canvas
Canvas
Files
Files
Bookmarks
Bookmarks
Open Positions
Open Positions
Benefits
Benefits
Pins
Pins
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Nikolay Yankov
Mar 31st at 3:49:10 PM
3:49 PM
It looks like we've hit the Fontawesome monthly limit for downloads...
CircleCI front-end build fail, as it cannot install the packages.
image.png
Toggle file
image.png
21 replies
Last reply 17 days ago
View thread
Nikolay Yankov
Mar 31st at 3:49:39 PM
3:49 PM
Does it reset tomorrow?
Jump to date
Stefka Stoyanova
Apr 1st at 11:25:17 AM
11:25 AM
please do not release to revert
Ves
Apr 1st at 12:12:16 PM
12:12 PM
The release prior to the user cache deploy is live since 11:44
Ves
Apr 1st at 12:12:50 PM
12:12 PM
Don’t deploy further changes as new deploys will reapply the faulty build
4 replies
Last reply 16 days ago
View thread
A huddle happened
Apr 1st at 12:14:28 PM
12:14 PM
started in a thread:
Don’t deploy further changes as new deploys will reapply the faulty build
View newer replies
Vasil Vasilev
Apr 1st at 12:25:50 PM
12:25 PM
@here
do not deploy within the next one hour. The revert deploy must be validated first. Wait for confirmation before deploying
Desislav Damyanov
Apr 1st at 12:58:03 PM
12:58 PM
Revert is up, can be validated
2 replies
Last reply 16 days ago
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
Nikolay Ivanov
Apr 1st at 1:19:38 PM
1:19 PM
you can proceed with deploying
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
SackFileEditViewJiminny ...DMs= Unreads@ Threads6 HuddlesDrafts & sent8 DirectoriesAchivityEh External connectionsFiles# Starred8 jiminny-x-integrati...platform-inner-teamMore# Channels# ai-chapter# alerts# backendconflicion-clnid# curiosity lab# engineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_launchesac random# releases# sofia-office# support# thank-yous# the people of iimi..0 Direct messages(3 Aneliya Angelova, ...®. Galya Dimitrova0. Nikolay Nikolov ED. Stoyan Tanev€. Vasil Vasilev8. Nikolay IvanovP. Aneliya AngelovaP Ves&. Steliyan Georgiev#: AppsJira CloudoastGoogle Cale..HistoryWindowHelpQ Search Jiminny Inc# engineering8 24Q• MessagesCanvasC Files• BookmarksOpen PositionsBenefitsPins@here do not deploy within the next one hour. TWednesday, April 1st • 'e validated frst. Wait for confirmation beforedeployingDesislav Damyanov 12:58 PMRevert is up, can be validated0 2 replies Last reply 16 days agoNikolay Ivanov 1:19 PMyou can proceed with deployingMonday, April 6th~lliyana Netseva 10:30 AMwas added to #engineering by Mira.Yesterday~CircleCI APP 9:02 AM2 PRs with vulnerability fixes are ready for reviewPlease take a look at the code and confirm that everything works properly on your local machine or on a planet environment &Pull requests (jiminny/app)• #11975 fix(security): npm dependency updates - 2026-04-16 ( secfix/npm-20260416 )• #11970 fix(security): composer dependency updates - 2026-04-15 ( secfix/composer -20260415 )View workflow runStefka Stoyanova 11:20 AMHi team, thanks to @Nikolay Yankov when dependabot finds security vulnerabilities, PRs are open like the aboveI suggest that developers on SRD from both teams review and test them, so that they can be merged timely A#1Vasil Vasilev 12:01 PMPlease do not merge for a few minutes, there's a hotfix in the pipeline fixing a wrong class pathVasil Vasilev 12:43 PMyou can now merge againj Backend Chapter • 50 m leftA100% CS•8 • Fri 17 Apr 10:40:38o- LJC) meet.google.com/gic-ikxu-wxu?Today~ure ec APP 8.52 AMI2 PRs with vulnerability fixes are ready for review &Please take a look at the code and confirm that everything works properly on your local machine or on a planet environment &~*Pull requests (jiminny/app)• #11975 fix(security): npm dependency updates - 2026-04-16 (secfix/npm-20260416)• #11970 fix(security): composer dependency updates - 2026-04-15 (secfix/composer -20260415)Vew worktlow runWan Kyuchukov 10:28 AMWe have a broken loop of svncing Stage changes for two clients. which results in non-stop requests to Prophet (which costsmonevHas there been any changes to the logic?opportunity_stagesODPOrUnllNY 8=974547nas 10201ec0rsMessage #engineeringAaNikolay Nikolov10:40 AM | Backend Chapter...
|
NULL
|
|
42847
|
NULL
|
0
|
2026-04-17T07:40:28.437601+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776411628437_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelpBackend Chapter • 50 m left100% C47 8• Fri 17 Apr 10:40:28ec2-user@ip-10-20-6-111:~X41₴81DOCKER• ₴1DEV (-zsh)882APP (-zsh)|X3-zsh• ₴5* Review screenp...• X6ec2-user@ip-10-30-...$7Days Active: 3/3Daily Average: 265.33root@67e84f80b9d1:/home/jiminny# php artisan crm:hubspot-webhook metrics -T 459 --from 2026-04-15 -DINFOManaging webhookmetrics for date range.Date RangeConfig IDIll Range SummaryDate RangeTotal DaysOldest Data AgeTotal WebhooksDaily AverageActive Companiesiz Daily Breakdown2026-04-15:335,647 webhooks, 88 companies active2026-04-16: 671,679 webhooks, 88 companies active2026-04-17: 58,351 webhooks, 68 companies active| Company Details2026-04-15 to2026-04-173672026-04-15 to 2026-04-1732.0 days ago1,065,677355,225.6789Company 367 (Sensat - 459)Total Webhooks: 796Days Active: 3/3Daily Average: 265.33company (114 total, avg: 38)association_change: 92 total, avg: 46, active: 2 dayscreation: 3 total, avg: 1.5, active: 2 daysproperty_change: 19 total, avg: 9.5, active: 2 daysUnique properties: 4Top properties: hubspot_owner_id(12), domain(3), name(3), phone(1)deal (164 total, avg: 54.67)property_change: 164 total, avg: 54.67, active: 3 daysUnique properties: 8Top properties: notes_last_updated(134), closedate(7), dealstage(5), hs_deal_stage_probability(5), hs_manual_forecast_category(5)contact (518 total, avg: 172.67)property_change:390 total, avg: 130, active: 3 daysUnique properties: 9Top properties: hubspot_owner_id(186), firstname(35), email(35),associatedcompanyid(33), country(33)creation: 36 total, avg: 18, active: 2 daysassociation_change: 92 total, avg: 46, active: 2 daysroote67e84f80b9d1:/home/jiminny# |ec2-user@ip-10-20-...88...
|
NULL
|
-2612174904207321225
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelpBackend Chapter • 50 m left100% C47 8• Fri 17 Apr 10:40:28ec2-user@ip-10-20-6-111:~X41₴81DOCKER• ₴1DEV (-zsh)882APP (-zsh)|X3-zsh• ₴5* Review screenp...• X6ec2-user@ip-10-30-...$7Days Active: 3/3Daily Average: 265.33root@67e84f80b9d1:/home/jiminny# php artisan crm:hubspot-webhook metrics -T 459 --from 2026-04-15 -DINFOManaging webhookmetrics for date range.Date RangeConfig IDIll Range SummaryDate RangeTotal DaysOldest Data AgeTotal WebhooksDaily AverageActive Companiesiz Daily Breakdown2026-04-15:335,647 webhooks, 88 companies active2026-04-16: 671,679 webhooks, 88 companies active2026-04-17: 58,351 webhooks, 68 companies active| Company Details2026-04-15 to2026-04-173672026-04-15 to 2026-04-1732.0 days ago1,065,677355,225.6789Company 367 (Sensat - 459)Total Webhooks: 796Days Active: 3/3Daily Average: 265.33company (114 total, avg: 38)association_change: 92 total, avg: 46, active: 2 dayscreation: 3 total, avg: 1.5, active: 2 daysproperty_change: 19 total, avg: 9.5, active: 2 daysUnique properties: 4Top properties: hubspot_owner_id(12), domain(3), name(3), phone(1)deal (164 total, avg: 54.67)property_change: 164 total, avg: 54.67, active: 3 daysUnique properties: 8Top properties: notes_last_updated(134), closedate(7), dealstage(5), hs_deal_stage_probability(5), hs_manual_forecast_category(5)contact (518 total, avg: 172.67)property_change:390 total, avg: 130, active: 3 daysUnique properties: 9Top properties: hubspot_owner_id(186), firstname(35), email(35),associatedcompanyid(33), country(33)creation: 36 total, avg: 18, active: 2 daysassociation_change: 92 total, avg: 46, active: 2 daysroote67e84f80b9d1:/home/jiminny# |ec2-user@ip-10-20-...88...
|
42845
|
|
42745
|
NULL
|
0
|
2026-04-17T07:35:14.723513+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776411314723_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2•DOCKERUWPICO 5.09ShellEditViewSessionScript iTerm2•DOCKERUWPICO 5.09ShellEditViewSessionScriptsProfilesWindowHelplaala Backend Chapter • now100% <47*8• Fri 17 Apr 10:35:14nanoT81• 881DEV (-zsh)882APP (-zsh)-zsh-zsh• 885File: /Users/lukas/.zprofile* Review screenp... • X6ec2-user@ip-10-30-...X7nano*8eval "S(/opt/homebrew/bin/brew shellenv)"export NVM_DIR="$HOME/.nvm"[ -s "SNVM_DIR/nvm.sh" ] && \."SNVM_DIR/nvm.sh" # This loads nvmexport GITHUB_PACKAGES_REGISTRY_READ_PAT=[GITHUB_TOKEN] [ENV_SECRET] 11="ls -la --color=tty"alias kar="cp -f ~/DEV/settings/goku-karabiner-settings/karabiner.edn ~/.config/karabiner.edn && goku"aliasapp="cd ~/jiminny/app"alias ext="nvm use 20 && cd ~/jiminny/extension-app && yarn build:dev && yarn preview"alias zp="nano ~/.zprofile"izprofile" Sumtnny extension-app dee yarn our laidey ded yarn previewaliashhh="history"alias hhs="history @ I grep"alias sp-stop="pkill -fscreenpipe && echo 'screenpipe stopped""alias sp-start="npx screenpipe®latest record --disable-audio --ignored-windows "Boosteroid"aliassp-status='curl -s [URL_WITH_CREDENTIALS] ssh ubuntu@[IP_ADDRESS]"#aliasstage_virt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@[IP_ADDRESS]"#aliasstgvirt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@"alias co="git checkout"alias gs="git status"aliasgcb="git branch--show-current I pbcopy"aliasgbr="git branch--sort=-committerdate"aliascsfix="make cs-fix"aliascov="./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage"^GGet HelpExitWriteOutJustifyA Reede tleWhere isPrev PgNext PgAK Cut TextAUUnCut TextA ToSpes[ To Spell...
|
NULL
|
-4504875448814796216
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2•DOCKERUWPICO 5.09ShellEditViewSessionScript iTerm2•DOCKERUWPICO 5.09ShellEditViewSessionScriptsProfilesWindowHelplaala Backend Chapter • now100% <47*8• Fri 17 Apr 10:35:14nanoT81• 881DEV (-zsh)882APP (-zsh)-zsh-zsh• 885File: /Users/lukas/.zprofile* Review screenp... • X6ec2-user@ip-10-30-...X7nano*8eval "S(/opt/homebrew/bin/brew shellenv)"export NVM_DIR="$HOME/.nvm"[ -s "SNVM_DIR/nvm.sh" ] && \."SNVM_DIR/nvm.sh" # This loads nvmexport GITHUB_PACKAGES_REGISTRY_READ_PAT=[GITHUB_TOKEN] [ENV_SECRET] 11="ls -la --color=tty"alias kar="cp -f ~/DEV/settings/goku-karabiner-settings/karabiner.edn ~/.config/karabiner.edn && goku"aliasapp="cd ~/jiminny/app"alias ext="nvm use 20 && cd ~/jiminny/extension-app && yarn build:dev && yarn preview"alias zp="nano ~/.zprofile"izprofile" Sumtnny extension-app dee yarn our laidey ded yarn previewaliashhh="history"alias hhs="history @ I grep"alias sp-stop="pkill -fscreenpipe && echo 'screenpipe stopped""alias sp-start="npx screenpipe®latest record --disable-audio --ignored-windows "Boosteroid"aliassp-status='curl -s [URL_WITH_CREDENTIALS] ssh ubuntu@[IP_ADDRESS]"#aliasstage_virt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@[IP_ADDRESS]"#aliasstgvirt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@"alias co="git checkout"alias gs="git status"aliasgcb="git branch--show-current I pbcopy"aliasgbr="git branch--sort=-committerdate"aliascsfix="make cs-fix"aliascov="./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage"^GGet HelpExitWriteOutJustifyA Reede tleWhere isPrev PgNext PgAK Cut TextAUUnCut TextA ToSpes[ To Spell...
|
NULL
|
|
42744
|
NULL
|
0
|
2026-04-17T07:35:14.731042+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776411314731_m2.jpg...
|
iTerm2
|
nano
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
UW PICO 5.09 UW PICO 5.09 New Buffer
[ Read 137 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: /Users/lukas/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
export GITHUB_PACKAGES_REGISTRY_READ_PAT=[GITHUB_TOKEN]
export [ENV_SECRET]
alias ll="ls -la --color=tty"
alias kar="cp -f ~/DEV/settings/goku-karabiner-settings/karabiner.edn ~/.config/karabiner.edn && goku"
alias app="cd ~/jiminny/app"
alias ext="nvm use 20 && cd ~/jiminny/extension-app && yarn build:dev && yarn preview"
alias zp="nano ~/.zprofile"
alias hhh="history"
alias hhs="history 0 | grep "
alias sp-stop="pkill -f screenpipe && echo 'screenpipe stopped'"
alias sp-start="npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"
alias sp-status='curl -s [URL_WITH_CREDENTIALS] ssh ubuntu@[IP_ADDRESS]"
#alias stage_virt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@[IP_ADDRESS]"
#alias stgvirt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@"
alias co="git checkout"
alias gs="git status"
alias gcb="git branch --show-current | pbcopy"
alias gbr="git branch --sort=-committerdate"
alias csfix="make cs-fix"
alias cov="./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage"
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Review screenpipe usage and Boosteroid integration (claude)
Close Tab
ec2-user@ip-10-30-159-186:~ (nc)
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 137 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: /Users/lukas/.zprofile \n\neval \"$(/opt/homebrew/bin/brew shellenv)\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n\nexport GITHUB_PACKAGES_REGISTRY_READ_PAT=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\nexport FONTAWESOME_NPM_AUTH_TOKEN=3ED3A214-C92A-4C04-880B-9615784E2493\n\nalias ll=\"ls -la --color=tty\"\n\nalias kar=\"cp -f ~/DEV/settings/goku-karabiner-settings/karabiner.edn ~/.config/karabiner.edn && goku\"\nalias app=\"cd ~/jiminny/app\"\nalias ext=\"nvm use 20 && cd ~/jiminny/extension-app && yarn build:dev && yarn preview\"\nalias zp=\"nano ~/.zprofile\"\nalias hhh=\"history\"\nalias hhs=\"history 0 | grep \"\n\nalias sp-stop=\"pkill -f screenpipe && echo 'screenpipe stopped'\"\nalias sp-start=\"npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nalias sp-status='curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeli$\nalias sp-db=\"sqlite3 ~/.screenpipe/db.sqlite \"\n\nalias rmbc=\"rm -rf bootstrap/cache/*.php\"\n\nalias addssh=\"ssh-add ~/.ssh/*\"\n\nalias install_nano=\"apt-get update & apt-get install nano\"\n\n#alias prod_virt=\"ssh -t -A lukas@jiminny-prod-bastion ssh ubuntu@10.30.80.238\"\n#alias stage_virt=\"ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@10.30.142.112\"\n#alias stgvirt=\"ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@\"\n\nalias co=\"git checkout\"\nalias gs=\"git status\"\nalias gcb=\"git branch --show-current | pbcopy\"\nalias gbr=\"git branch --sort=-committerdate\"\n\nalias csfix=\"make cs-fix\"\nalias cov=\"./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage\"\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"bounds":{"left":0.23320313,"top":0.4923611,"width":0.5566406,"height":0.50763893},"value":"UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 137 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: /Users/lukas/.zprofile \n\neval \"$(/opt/homebrew/bin/brew shellenv)\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n\nexport GITHUB_PACKAGES_REGISTRY_READ_PAT=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\nexport FONTAWESOME_NPM_AUTH_TOKEN=3ED3A214-C92A-4C04-880B-9615784E2493\n\nalias ll=\"ls -la --color=tty\"\n\nalias kar=\"cp -f ~/DEV/settings/goku-karabiner-settings/karabiner.edn ~/.config/karabiner.edn && goku\"\nalias app=\"cd ~/jiminny/app\"\nalias ext=\"nvm use 20 && cd ~/jiminny/extension-app && yarn build:dev && yarn preview\"\nalias zp=\"nano ~/.zprofile\"\nalias hhh=\"history\"\nalias hhs=\"history 0 | grep \"\n\nalias sp-stop=\"pkill -f screenpipe && echo 'screenpipe stopped'\"\nalias sp-start=\"npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nalias sp-status='curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeli$\nalias sp-db=\"sqlite3 ~/.screenpipe/db.sqlite \"\n\nalias rmbc=\"rm -rf bootstrap/cache/*.php\"\n\nalias addssh=\"ssh-add ~/.ssh/*\"\n\nalias install_nano=\"apt-get update & apt-get install nano\"\n\n#alias prod_virt=\"ssh -t -A lukas@jiminny-prod-bastion ssh ubuntu@10.30.80.238\"\n#alias stage_virt=\"ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@10.30.142.112\"\n#alias stgvirt=\"ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@\"\n\nalias co=\"git checkout\"\nalias gs=\"git status\"\nalias gcb=\"git branch --show-current | pbcopy\"\nalias gbr=\"git branch --sort=-committerdate\"\n\nalias csfix=\"make cs-fix\"\nalias cov=\"./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage\"\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.23320313,"top":1.0,"width":0.06914063,"height":-0.03680551},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.23554687,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.30234376,"top":1.0,"width":0.06914063,"height":-0.03680551},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3046875,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.37148437,"top":1.0,"width":0.06914063,"height":-0.03680551},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3738281,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.440625,"top":1.0,"width":0.06914063,"height":-0.03680551},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.44296876,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5097656,"top":1.0,"width":0.06914063,"height":-0.03680551},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5121094,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Review screenpipe usage and Boosteroid integration (claude)","depth":2,"bounds":{"left":0.57890624,"top":1.0,"width":0.06914063,"height":-0.03680551},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58125,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (nc)","depth":2,"bounds":{"left":0.64804685,"top":1.0,"width":0.06914063,"height":-0.03680551},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6503906,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"nano","depth":2,"bounds":{"left":0.7171875,"top":1.0,"width":0.06914063,"height":-0.03680551},"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.71953124,"top":1.0,"width":0.00625,"height":-0.039583325},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7703125,"top":1.0,"width":0.021875,"height":-0.02013886},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"nano","depth":1,"bounds":{"left":0.50742185,"top":1.0,"width":0.0140625,"height":-0.020833373},"role_description":"text"}]...
|
-5103317275457041692
|
-8752573275614687259
|
click
|
accessibility
|
NULL
|
UW PICO 5.09 UW PICO 5.09 New Buffer
[ Read 137 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: /Users/lukas/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
export GITHUB_PACKAGES_REGISTRY_READ_PAT=[GITHUB_TOKEN]
export [ENV_SECRET]
alias ll="ls -la --color=tty"
alias kar="cp -f ~/DEV/settings/goku-karabiner-settings/karabiner.edn ~/.config/karabiner.edn && goku"
alias app="cd ~/jiminny/app"
alias ext="nvm use 20 && cd ~/jiminny/extension-app && yarn build:dev && yarn preview"
alias zp="nano ~/.zprofile"
alias hhh="history"
alias hhs="history 0 | grep "
alias sp-stop="pkill -f screenpipe && echo 'screenpipe stopped'"
alias sp-start="npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"
alias sp-status='curl -s [URL_WITH_CREDENTIALS] ssh ubuntu@[IP_ADDRESS]"
#alias stage_virt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@[IP_ADDRESS]"
#alias stgvirt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@"
alias co="git checkout"
alias gs="git status"
alias gcb="git branch --show-current | pbcopy"
alias gbr="git branch --sort=-committerdate"
alias csfix="make cs-fix"
alias cov="./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage"
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Review screenpipe usage and Boosteroid integration (claude)
Close Tab
ec2-user@ip-10-30-159-186:~ (nc)
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
42741
|
|
42600
|
NULL
|
0
|
2026-04-17T07:29:59.793343+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776410999793_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileFditViewNavigateCodeLaravelPetactorToo PhpStormFileFditViewNavigateCodeLaravelPetactorToolsWindowHelpFVtavsco.sv#11894 on JY-18909-automated-reports-ask-iminny kProject v= test.py<> Untitled Diagram.xmlisvetur.config.jsM+ WEBHOOK FILTERING IMPLEih External Libraries=Scratches and Consolesv _ Database ConsolesV LEU¿ console EUlL DEAL RISKS EUIL DI EUIdEuleUvd jiminny@localhostd console yiminny @localr4 DI fiiminny@localhostlc =oocamnnvolocal4 SF liminny@localhostls cono dev minny aloccV & PROD« console (PROD]d console_1 PROD& DI PRODIselvicesv M DatabaseV L EUc consoe 5sC AutomatedReportsService.phpC) SendReportJob.phpC SendReportMailJob.php(©) ReportController.phpTokenBuilder.phpC TeamSetupController.phppnp apl.ono1 Filesystem.pnpC AutomatedReportsCommand.pnp© AsKJiminnyReportsController.phpC AutomatedReportsCommandTest.php© AutomatedReportsSendCommand.phpC Team.php(C AutomatedReportsRepository.php© CreateHeldActivityEvent.php©) TrackProviderInstalledEvent.phpC CreateActivityLoggedEvent.php© UserPilotActivityListener.phpActivityLoagea.onp)AutomatedRenortscallbackservice.onv© RequestGenerateAskJiminnyReportJob.php© RequestGenerateReportJob.php xC AutomatedReportResult.php(C AutomatedReport.phpclass RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique176private function createResultso1931Y4172handle multiple media types1Y0// create PDF as primary result197sthis->reportResult = Sreportservice->createReportResult(automatedReport: sautomatedReport,199data: l"media_type" => Automatedkeporusservice:.nEULA_TYPE_PUr.2026-04-17 10:29:53 Connected12026-04-17 10:29:53 J1m1nny> use J1m1nny12026-04-17 10:29:55 completed 1n 78 msfii crm_confiaurations 1 s 504 ms12026-04-17 10:29:55J J1m1nny> SELECT t.*v L iminny@localhost4 SFFron jiminny.crm_contigurattonstWHERF id = 367L HS localLIMSOdV L PROD[2026-04-17 10:29:54] 1 row retrieved starting from 1 in 657 ms (execution: 76 ms, fetching: 581 ms)a console 1 s 806 msV & STAGINGd console,, Docker: Backend Chapter • in 1 mA100% 145Fri 17 Apr 10:29:59AutomatedRenortsCommandTestB2AY= custom.log= laravel.loge SF (iminny@localhostU scratch_1.isonV connect.vueV Onboard.vueHs local liminnyalocalnost< console LUiiii crm configurations [EU] X¿ console IPRODIe console [STAGINGrow vX:Auto vY- WHERE id = 367E- ORDER BY367Ivuid UUID with time-low and time-high swapped) ÷fa0cf643-d30e-43b8-ab3d-1fe18254oe team_1d459Lonotifiable_user_id<null>providerhubspotI• editionChULLW 1nstance<null>! is_sandboxI versionD installed_app_version<hULl_sync_metadata• sync objectsCascadeAutomated Renort RetThere are 3 places total:searched staUS. FAILED and perormed 1 other queryFocusina onlv on AutomatedReportResult status transitions.STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14gitsrenort-sstatus le= AutomaredRenortResult.STATS SENITcache:: lock("report-status-i$this->reportUuid, 5)->block(2, function () use (Sreport) ‹satus → Auconaredreportkesulciiolalus sawir"sent_at = nowl),show me exactyl where do we set result as sent or failedW1 file +16)Ask anything (&+L)+ <> Code Claude Sonnet 4.6Reject allAccept allHide the active lool windowSUM: Not enouch valueswinasun leams...
|
NULL
|
2031254539331505944
|
NULL
|
click
|
ocr
|
NULL
|
PhpStormFileFditViewNavigateCodeLaravelPetactorToo PhpStormFileFditViewNavigateCodeLaravelPetactorToolsWindowHelpFVtavsco.sv#11894 on JY-18909-automated-reports-ask-iminny kProject v= test.py<> Untitled Diagram.xmlisvetur.config.jsM+ WEBHOOK FILTERING IMPLEih External Libraries=Scratches and Consolesv _ Database ConsolesV LEU¿ console EUlL DEAL RISKS EUIL DI EUIdEuleUvd jiminny@localhostd console yiminny @localr4 DI fiiminny@localhostlc =oocamnnvolocal4 SF liminny@localhostls cono dev minny aloccV & PROD« console (PROD]d console_1 PROD& DI PRODIselvicesv M DatabaseV L EUc consoe 5sC AutomatedReportsService.phpC) SendReportJob.phpC SendReportMailJob.php(©) ReportController.phpTokenBuilder.phpC TeamSetupController.phppnp apl.ono1 Filesystem.pnpC AutomatedReportsCommand.pnp© AsKJiminnyReportsController.phpC AutomatedReportsCommandTest.php© AutomatedReportsSendCommand.phpC Team.php(C AutomatedReportsRepository.php© CreateHeldActivityEvent.php©) TrackProviderInstalledEvent.phpC CreateActivityLoggedEvent.php© UserPilotActivityListener.phpActivityLoagea.onp)AutomatedRenortscallbackservice.onv© RequestGenerateAskJiminnyReportJob.php© RequestGenerateReportJob.php xC AutomatedReportResult.php(C AutomatedReport.phpclass RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique176private function createResultso1931Y4172handle multiple media types1Y0// create PDF as primary result197sthis->reportResult = Sreportservice->createReportResult(automatedReport: sautomatedReport,199data: l"media_type" => Automatedkeporusservice:.nEULA_TYPE_PUr.2026-04-17 10:29:53 Connected12026-04-17 10:29:53 J1m1nny> use J1m1nny12026-04-17 10:29:55 completed 1n 78 msfii crm_confiaurations 1 s 504 ms12026-04-17 10:29:55J J1m1nny> SELECT t.*v L iminny@localhost4 SFFron jiminny.crm_contigurattonstWHERF id = 367L HS localLIMSOdV L PROD[2026-04-17 10:29:54] 1 row retrieved starting from 1 in 657 ms (execution: 76 ms, fetching: 581 ms)a console 1 s 806 msV & STAGINGd console,, Docker: Backend Chapter • in 1 mA100% 145Fri 17 Apr 10:29:59AutomatedRenortsCommandTestB2AY= custom.log= laravel.loge SF (iminny@localhostU scratch_1.isonV connect.vueV Onboard.vueHs local liminnyalocalnost< console LUiiii crm configurations [EU] X¿ console IPRODIe console [STAGINGrow vX:Auto vY- WHERE id = 367E- ORDER BY367Ivuid UUID with time-low and time-high swapped) ÷fa0cf643-d30e-43b8-ab3d-1fe18254oe team_1d459Lonotifiable_user_id<null>providerhubspotI• editionChULLW 1nstance<null>! is_sandboxI versionD installed_app_version<hULl_sync_metadata• sync objectsCascadeAutomated Renort RetThere are 3 places total:searched staUS. FAILED and perormed 1 other queryFocusina onlv on AutomatedReportResult status transitions.STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14gitsrenort-sstatus le= AutomaredRenortResult.STATS SENITcache:: lock("report-status-i$this->reportUuid, 5)->block(2, function () use (Sreport) ‹satus → Auconaredreportkesulciiolalus sawir"sent_at = nowl),show me exactyl where do we set result as sent or failedW1 file +16)Ask anything (&+L)+ <> Code Claude Sonnet 4.6Reject allAccept allHide the active lool windowSUM: Not enouch valueswinasun leams...
|
NULL
|
|
42599
|
NULL
|
0
|
2026-04-17T07:29:59.798730+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776410999798_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+SlackFileEditViewEDHomeDMsActivityFilesLater..•Mo +SlackFileEditViewEDHomeDMsActivityFilesLater..•More+Jiminny ...= UnreadsThreadsHuddlesDrafts & sentDirectoriesExternal connections Starredjiminny-x-integrati...& platform-inner-teamChannels# ai-chapter# alerts# backend# confusion-clinic# curiosity_lab# engineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product _launches# random# releases# sofia-office# supportGoHistoryWindowHelp→Search Jiminny Incsos# engineering8246 0Messages7 CanvasO FilesMore ~+Today ~CircleCl APP8:52 AM2 PRs with vulnerability fixes are ready forreviewPlease take a look at the code and confirmthat everything works properly on yourlocal machine or on a planet environmentPull requests (jiminny/app)• #11975 fix(security): npm dependencyupdates - 2026-04-16 ( secfix/npm-20260416)• #11970 fix(security): composerdependency updates - 2026-04-15(secfix/composer-20260415 )View workflow runIlian Kyuchukov 10:28 AMWe have a broken loop of syncing Stagechanges for two clients, which results innon-stop requests to Prophet (which costsmoney).Has there been any changes to the logic?opportunity_stagesopportunity_id = 7594349 has 10267recordsMessage #engineering+AaBackend Chapter • in 1 m100% |8Fri 17 Apr 10:29:59<er-compose)84-zsh®PROD (ssh)Run 'do-release-upgrade' to upBackend Chapterin 1m - 10:30-11:30[URL_WITH_CREDENTIALS] UX L3 EU (ssh)New release '24.04.4 LTS' available.Run 'do-release-upgrade' to upgrade to it.*** System restart required ***Last login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$ |X T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsX T6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX Y7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|U...
|
NULL
|
-2129631236680576368
|
NULL
|
click
|
ocr
|
NULL
|
+SlackFileEditViewEDHomeDMsActivityFilesLater..•Mo +SlackFileEditViewEDHomeDMsActivityFilesLater..•More+Jiminny ...= UnreadsThreadsHuddlesDrafts & sentDirectoriesExternal connections Starredjiminny-x-integrati...& platform-inner-teamChannels# ai-chapter# alerts# backend# confusion-clinic# curiosity_lab# engineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product _launches# random# releases# sofia-office# supportGoHistoryWindowHelp→Search Jiminny Incsos# engineering8246 0Messages7 CanvasO FilesMore ~+Today ~CircleCl APP8:52 AM2 PRs with vulnerability fixes are ready forreviewPlease take a look at the code and confirmthat everything works properly on yourlocal machine or on a planet environmentPull requests (jiminny/app)• #11975 fix(security): npm dependencyupdates - 2026-04-16 ( secfix/npm-20260416)• #11970 fix(security): composerdependency updates - 2026-04-15(secfix/composer-20260415 )View workflow runIlian Kyuchukov 10:28 AMWe have a broken loop of syncing Stagechanges for two clients, which results innon-stop requests to Prophet (which costsmoney).Has there been any changes to the logic?opportunity_stagesopportunity_id = 7594349 has 10267recordsMessage #engineering+AaBackend Chapter • in 1 m100% |8Fri 17 Apr 10:29:59<er-compose)84-zsh®PROD (ssh)Run 'do-release-upgrade' to upBackend Chapterin 1m - 10:30-11:30[URL_WITH_CREDENTIALS] UX L3 EU (ssh)New release '24.04.4 LTS' available.Run 'do-release-upgrade' to upgrade to it.*** System restart required ***Last login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$ |X T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsX T6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX Y7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|U...
|
NULL
|
|
42484
|
NULL
|
0
|
2026-04-17T07:24:28.296229+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776410668296_m1.jpg...
|
Finder
|
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+FinderFileEditViewELHomeDMsActivityFilesLater..•M +FinderFileEditViewELHomeDMsActivityFilesLater..•More+Go→Jiminny ...= UnreadsThreadsHuddlesDrafts & sentDirectoriesExternal connections Starredjiminny-x-integrati...& platform-inner-teamChannels# ai-chapter# alerts# backend# confusion-clinic# curiosity_lab# engineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product _launches# random# releases# sofia-office# supportWindowHelpSearch Jiminny IncThread A jiminny-x-integration...compatibility)What happened:On April 3, 2026, we updated the platformto useconnected as the primary fieldinstead of disconnected for better codereadability. However, to ensure backwardcompatibility, the APl automatically derivesand includes the disconnected field in allresponses (disconnected = ! connected ).What this means for you:• Your existing code using disconnectedwill continue to work• No immediate code changes arerequired• You can migrate to using connectedwhenever convenient• The disconnected field is marked asdeprecated but there's no removaltimeline announcedWhen you do migrate, remember the logicis inverted:•disconnected: false= connected:true (connection is active)• disconnected: true= connected:false (connection needs re-authentication)10 external people are from MembraneReply...Also send to A jiminny-x-integration-app+Aa•*•Backend Chapter • in 6 m100% C428Fri 17 Apr 10:24:28ssh)18184-zsh®• ₴5* Review screenpipe u...• *6-zshT2PROD (ssh)Run 'do-release-upgrade' to upgrade to it.PROD*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X L3 EU (ssh)New release '24.04.4 LTS' available.Run 'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXIT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX W7 ExT(-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|U...
|
NULL
|
2493537849393252857
|
NULL
|
idle
|
ocr
|
NULL
|
+FinderFileEditViewELHomeDMsActivityFilesLater..•M +FinderFileEditViewELHomeDMsActivityFilesLater..•More+Go→Jiminny ...= UnreadsThreadsHuddlesDrafts & sentDirectoriesExternal connections Starredjiminny-x-integrati...& platform-inner-teamChannels# ai-chapter# alerts# backend# confusion-clinic# curiosity_lab# engineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product _launches# random# releases# sofia-office# supportWindowHelpSearch Jiminny IncThread A jiminny-x-integration...compatibility)What happened:On April 3, 2026, we updated the platformto useconnected as the primary fieldinstead of disconnected for better codereadability. However, to ensure backwardcompatibility, the APl automatically derivesand includes the disconnected field in allresponses (disconnected = ! connected ).What this means for you:• Your existing code using disconnectedwill continue to work• No immediate code changes arerequired• You can migrate to using connectedwhenever convenient• The disconnected field is marked asdeprecated but there's no removaltimeline announcedWhen you do migrate, remember the logicis inverted:•disconnected: false= connected:true (connection is active)• disconnected: true= connected:false (connection needs re-authentication)10 external people are from MembraneReply...Also send to A jiminny-x-integration-app+Aa•*•Backend Chapter • in 6 m100% C428Fri 17 Apr 10:24:28ssh)18184-zsh®• ₴5* Review screenpipe u...• *6-zshT2PROD (ssh)Run 'do-release-upgrade' to upgrade to it.PROD*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X L3 EU (ssh)New release '24.04.4 LTS' available.Run 'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXIT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX W7 ExT(-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|U...
|
NULL
|
|
42483
|
NULL
|
0
|
2026-04-17T07:24:26.771175+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776410666771_m2.jpg...
|
Finder
|
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FinderFileEditViewWindowHelpscreenlplbe• dataco.sc FinderFileEditViewWindowHelpscreenlplbe• dataco.scllTescreenpipe.2026-04-16.0.1og• screenpipe.2026-04-15.0.log• screenpipe.2026-04-14.0.10gscreenpipe.2026-04-09.0.log• screenpipe.2026-04-11.0.logL screenpipe.2026-04-12.0.10gDi screenpipe.2026-04-13.0.logco scllte-Shmscreenpipe.2026-04-17.0.logolpesscreenpipe_sync.shconfig.jsondb.scllle-walj Backend Chapter • in 6 m100% CSFri 17 Apr 10:24:26=llminny® AirDrop•) RecentsA Applications|9 Documents• Desktop( DownloadsA lukasiCloudiCloud Drive283 Sync folderLocations• DXP4800PLUS-B5... ⅔ge NerworeTagsDCKMI• Orange• Red• Yellow• Green• Blue• Purple@ All Tags..Date Modified15 Apr 2026 at 14:53Today at 10:21Yesterday at 20:3315 Apr 2026 at 18:5514 Apr 2026 at 19:319 Apr 2026 at 21:2711 Apr 2026 at 23:1412 Apr 2026 at 23:5513 Apr 2026 at 19:50Today at 9:12Today at 10:1915 Apr 2026 at 14:53Yesterday at 19:43Yesterday at 16:49Today at 10:214,24 GB3.00 G-197 KBWOND162 KB133 KBgokbFolderDocu mentLog FileLoe rlleLog FileLog FileLog FileLog File72 KBLog FileDocu ment33 KB13 KB666 bytes358 bytesLero bylesLog FileFoldererminal scriotsJSONDocument=llminny® AirDrop•) RecentsA Applications|9 Documents• Desktop( DownloadsA lukasIcloudiCloud Drive283 Sync folderLocations| DXP4800PLUS-B5... €Ga NetworkTagsDCKMI• Orange• Redl• Yellow• Green• Blue• Purple• All Tags..Som 4551,lb GbWorkKecentsNameV 2026mi Daily 2026-04-17.mp4W DaIV 2020-04- o.m94ax Planning 2026-04-15.mp4E Retro 2026-04-14.mp4I DaIV 2020-04- 4194- User pilot (Adi) 2026-04-09.mp4• Daily 2026-04-09.mp4• Dalv 2026-04-08.mo4aa Daily 2026-04-07.mp4* Refinement 2026-04-06.mp4& Dally 2026-04-06.mp4- Daily 2026-04-03.mp4es Planning 2026-04-01 & task split.mp4Retro 2026-03-31.mp4Dally 4040-05=51.m04- Refinement 2026-03-30.mp4Daily 2026-03-30.mp4= Daily 2026-03-27.mp4= Daily 2026-03-26.mp4= Daily 2026-03-24.mp4w rerinement2020-03-23.m04= Daily 2026-03-23.mp4BE chapter 2026-03-20.mp4= Dalv 2026-03-20.mo4am Planing 2026-03-18-converted.mp4- Refinement 2026-02-09-converted.mp4aR Dally 2026-03-19.mp4- Review 2026-03-18.mp4• Panlno 2040-03-16.m04F* Retro 2026-03-17.mp4- Daily 2026-03-17.mp4- Refinement 2026-03-16.mp4- Daily 2026-03-16.mp4im Daily 2026-03-13.mp4mi 1-1 2026-03-12.mp4Daily 2026-03-12.mp4ia Daily 2026-03-11.mp4- Daily 2026-03-10.mp4: Refinement 2026-03-09.mp4nm Dalv 2026-03-09.mo4Daily 2026-03-06.mp4•. Planning 2026-03-04.mp4= Daily 2026-03-02.mp4- Daily 2026-02-27.mp4Dally 2020-02-2o.mov* Daily 2026-02-25.mov- Opportunity-Contacts 2026-02-24.mp4Dally 2026-02-24.mp4Refinement 2026-02-23.mov= Daily 2026-02-20 & Ani.mp4- Daily 2026-02-19.mp4Review 2026-02-18.mp4n Pannino 2020-04-16.m04- Retro 2026-02-17.mp4- Refinement & P1 debugging 2026-02-16.mp4• SvncObiectss 2026-02-16.mo4*: SyncObjects2 2026-02-16.mp4•= SyncObjects1 2026-02-16.mp4= Daily 2026-02-16.mp4- Daily 2026-02-13.mp4Al chapter 2026-02-11.mp4All hands 2026-02-11.mp4• Dialv 2026-02-11.mn488Lukas Kovalik's MacBook Pro..Date ModitiedToday at 10:23Today at 10:16Yesterday at 10:0015 Apr 2026 at 11:1414 Apr 2026 at 17:3714 Apr 2026 at 10:099 Apr 2026 at 14:479 Apr 2026 at 10:078 Aor 2026 at 10.137 Apr 2026 at 10:016 Apr 2026 at 17:20oAor 2076 a1 10:0%3 Apr 2026 at 10:21AorZ020 al1:4031 Mar 2026 at 18:2031 Mar 2026 at 10:1030 Mar 2026 at 17.1230 Mar 2026 at 10:05Mar 0zo all0.09Xo Mar 2026 ar 9:6924 Mar 2026 at 10:00# Mar Z02o arirros23 Mar 2026 at 10:0020 Mar 2026 at 11:4620 Mar 2026 at 10:0619 Mar 2026 at 12:0119 Mar 2026 at 11:3519 Mar 7076 ar 9:6/18 Mar 2026 at 16:20o Mar 207o au:417 Mar 2026 at 17:4017 Mar 2026 at 10:1816 Mar 2026 at 16:5516 Mar 2026 at 10:0213 Mar 2026 at 10:1212 Mar 7026 at 18.2612 Mar 2026 at 10:10iMar Z02o ar0:0010 Mar 2026 at 9:579 Mar 2026 at 17:049 Mar 2026 at 9:666 Mar 2026 at 9:574 Mar 2026 at 11:09Mar 202o at 10:027 Feb 2026 at 10:02Zo reo 20zo aryios25 Feb 2026 aт 9:5924 Feb 2026 at 12:0324 -eo 2026 at 10:0223 Feb 2026 at 16:3120 Feb 2026 at 10:5319 Fе0 2026 ar 9:94.18 Feb 2026 at 16:2518 Feb 2026 at 10:5717 Feb 2026 at 17:3816 Feb 2026 at 17:3616 -eo 2026 at 15.1016 Feb 2026 at 11:5816 Feb 2026 at 11:2916 Feb 2026 at 10:1413 Feb 2026 at 10:11i reo 2020al7:3411 Feb 2026 at 11:46M1 CAh 2026 6+ 10:02v SIZeFolder1,16 GB93,4Mb2,75 GB1,44 GB9244 MB362,6 MB748,8 MB1.04 GB575,5 MB4,34 GB720,5 MB1,02 GB4.08Gb3,4 GB923,6 MB2,77 GB641,8 MB884,3 MB476,6 MB550,8 MB3,44 Gb438,9 MB1rooob430.4 MB2,38 GBMPEG-4 movieMPEG-4 movieMP-G-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPEG-4 movieMP-G-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPEG-4 movieMP-G-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movle386,3 MBMPEG-4 movie705,8 MBMPEG-4 movie2,78 GBMP-C-4 movle1,53 GBMPEG-4 movie1,2 GBMPCO-4 movie4,19 GBMP-G-4 movie592,2 MBMPEG-4 movieOrGbMPEG-4 movie637,6 MBMPEG-4 movie978,7 MBMPEG-4 movievorMb MP-C-4 movle404,6 MBMPEG-4 movie4,16 GBMPEG-4 movie319.MBMP-G-4 movie291,7 MBMPEG-4 movie2,62 GBMPEG-4 movie768,5 MBMPEG-4 movie546,8 MBMPEG-4 movie96,6 MBCmovie503,5 MBQT movie791,7 MBMPCO-4 movie520./MBMP-G-4 movie2 GBQT movie2,52 GBMP-C-4 movle234,2 MBMPEG-4 movie925,1 MBMPEG-4 movie404 GbMP-C-4 movle1,31 GBMPEG-4 movie4,53 GBMPEG-4 movie1.42 GBMP-G-4 movie1,04 GBMPEG-4 movie548,1 MBMP-C-4 movle731,7 MBMPEG-4 movie796,1 MBMPEG-4 movieMP-C-4 movle1,71 GBR02 MDMPEG-4 movieMoeeAm1 of 15 selected, 35,53 GB available...
|
NULL
|
2086623253973756363
|
NULL
|
idle
|
ocr
|
NULL
|
FinderFileEditViewWindowHelpscreenlplbe• dataco.sc FinderFileEditViewWindowHelpscreenlplbe• dataco.scllTescreenpipe.2026-04-16.0.1og• screenpipe.2026-04-15.0.log• screenpipe.2026-04-14.0.10gscreenpipe.2026-04-09.0.log• screenpipe.2026-04-11.0.logL screenpipe.2026-04-12.0.10gDi screenpipe.2026-04-13.0.logco scllte-Shmscreenpipe.2026-04-17.0.logolpesscreenpipe_sync.shconfig.jsondb.scllle-walj Backend Chapter • in 6 m100% CSFri 17 Apr 10:24:26=llminny® AirDrop•) RecentsA Applications|9 Documents• Desktop( DownloadsA lukasiCloudiCloud Drive283 Sync folderLocations• DXP4800PLUS-B5... ⅔ge NerworeTagsDCKMI• Orange• Red• Yellow• Green• Blue• Purple@ All Tags..Date Modified15 Apr 2026 at 14:53Today at 10:21Yesterday at 20:3315 Apr 2026 at 18:5514 Apr 2026 at 19:319 Apr 2026 at 21:2711 Apr 2026 at 23:1412 Apr 2026 at 23:5513 Apr 2026 at 19:50Today at 9:12Today at 10:1915 Apr 2026 at 14:53Yesterday at 19:43Yesterday at 16:49Today at 10:214,24 GB3.00 G-197 KBWOND162 KB133 KBgokbFolderDocu mentLog FileLoe rlleLog FileLog FileLog FileLog File72 KBLog FileDocu ment33 KB13 KB666 bytes358 bytesLero bylesLog FileFoldererminal scriotsJSONDocument=llminny® AirDrop•) RecentsA Applications|9 Documents• Desktop( DownloadsA lukasIcloudiCloud Drive283 Sync folderLocations| DXP4800PLUS-B5... €Ga NetworkTagsDCKMI• Orange• Redl• Yellow• Green• Blue• Purple• All Tags..Som 4551,lb GbWorkKecentsNameV 2026mi Daily 2026-04-17.mp4W DaIV 2020-04- o.m94ax Planning 2026-04-15.mp4E Retro 2026-04-14.mp4I DaIV 2020-04- 4194- User pilot (Adi) 2026-04-09.mp4• Daily 2026-04-09.mp4• Dalv 2026-04-08.mo4aa Daily 2026-04-07.mp4* Refinement 2026-04-06.mp4& Dally 2026-04-06.mp4- Daily 2026-04-03.mp4es Planning 2026-04-01 & task split.mp4Retro 2026-03-31.mp4Dally 4040-05=51.m04- Refinement 2026-03-30.mp4Daily 2026-03-30.mp4= Daily 2026-03-27.mp4= Daily 2026-03-26.mp4= Daily 2026-03-24.mp4w rerinement2020-03-23.m04= Daily 2026-03-23.mp4BE chapter 2026-03-20.mp4= Dalv 2026-03-20.mo4am Planing 2026-03-18-converted.mp4- Refinement 2026-02-09-converted.mp4aR Dally 2026-03-19.mp4- Review 2026-03-18.mp4• Panlno 2040-03-16.m04F* Retro 2026-03-17.mp4- Daily 2026-03-17.mp4- Refinement 2026-03-16.mp4- Daily 2026-03-16.mp4im Daily 2026-03-13.mp4mi 1-1 2026-03-12.mp4Daily 2026-03-12.mp4ia Daily 2026-03-11.mp4- Daily 2026-03-10.mp4: Refinement 2026-03-09.mp4nm Dalv 2026-03-09.mo4Daily 2026-03-06.mp4•. Planning 2026-03-04.mp4= Daily 2026-03-02.mp4- Daily 2026-02-27.mp4Dally 2020-02-2o.mov* Daily 2026-02-25.mov- Opportunity-Contacts 2026-02-24.mp4Dally 2026-02-24.mp4Refinement 2026-02-23.mov= Daily 2026-02-20 & Ani.mp4- Daily 2026-02-19.mp4Review 2026-02-18.mp4n Pannino 2020-04-16.m04- Retro 2026-02-17.mp4- Refinement & P1 debugging 2026-02-16.mp4• SvncObiectss 2026-02-16.mo4*: SyncObjects2 2026-02-16.mp4•= SyncObjects1 2026-02-16.mp4= Daily 2026-02-16.mp4- Daily 2026-02-13.mp4Al chapter 2026-02-11.mp4All hands 2026-02-11.mp4• Dialv 2026-02-11.mn488Lukas Kovalik's MacBook Pro..Date ModitiedToday at 10:23Today at 10:16Yesterday at 10:0015 Apr 2026 at 11:1414 Apr 2026 at 17:3714 Apr 2026 at 10:099 Apr 2026 at 14:479 Apr 2026 at 10:078 Aor 2026 at 10.137 Apr 2026 at 10:016 Apr 2026 at 17:20oAor 2076 a1 10:0%3 Apr 2026 at 10:21AorZ020 al1:4031 Mar 2026 at 18:2031 Mar 2026 at 10:1030 Mar 2026 at 17.1230 Mar 2026 at 10:05Mar 0zo all0.09Xo Mar 2026 ar 9:6924 Mar 2026 at 10:00# Mar Z02o arirros23 Mar 2026 at 10:0020 Mar 2026 at 11:4620 Mar 2026 at 10:0619 Mar 2026 at 12:0119 Mar 2026 at 11:3519 Mar 7076 ar 9:6/18 Mar 2026 at 16:20o Mar 207o au:417 Mar 2026 at 17:4017 Mar 2026 at 10:1816 Mar 2026 at 16:5516 Mar 2026 at 10:0213 Mar 2026 at 10:1212 Mar 7026 at 18.2612 Mar 2026 at 10:10iMar Z02o ar0:0010 Mar 2026 at 9:579 Mar 2026 at 17:049 Mar 2026 at 9:666 Mar 2026 at 9:574 Mar 2026 at 11:09Mar 202o at 10:027 Feb 2026 at 10:02Zo reo 20zo aryios25 Feb 2026 aт 9:5924 Feb 2026 at 12:0324 -eo 2026 at 10:0223 Feb 2026 at 16:3120 Feb 2026 at 10:5319 Fе0 2026 ar 9:94.18 Feb 2026 at 16:2518 Feb 2026 at 10:5717 Feb 2026 at 17:3816 Feb 2026 at 17:3616 -eo 2026 at 15.1016 Feb 2026 at 11:5816 Feb 2026 at 11:2916 Feb 2026 at 10:1413 Feb 2026 at 10:11i reo 2020al7:3411 Feb 2026 at 11:46M1 CAh 2026 6+ 10:02v SIZeFolder1,16 GB93,4Mb2,75 GB1,44 GB9244 MB362,6 MB748,8 MB1.04 GB575,5 MB4,34 GB720,5 MB1,02 GB4.08Gb3,4 GB923,6 MB2,77 GB641,8 MB884,3 MB476,6 MB550,8 MB3,44 Gb438,9 MB1rooob430.4 MB2,38 GBMPEG-4 movieMPEG-4 movieMP-G-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPEG-4 movieMP-G-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPEG-4 movieMP-G-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movle386,3 MBMPEG-4 movie705,8 MBMPEG-4 movie2,78 GBMP-C-4 movle1,53 GBMPEG-4 movie1,2 GBMPCO-4 movie4,19 GBMP-G-4 movie592,2 MBMPEG-4 movieOrGbMPEG-4 movie637,6 MBMPEG-4 movie978,7 MBMPEG-4 movievorMb MP-C-4 movle404,6 MBMPEG-4 movie4,16 GBMPEG-4 movie319.MBMP-G-4 movie291,7 MBMPEG-4 movie2,62 GBMPEG-4 movie768,5 MBMPEG-4 movie546,8 MBMPEG-4 movie96,6 MBCmovie503,5 MBQT movie791,7 MBMPCO-4 movie520./MBMP-G-4 movie2 GBQT movie2,52 GBMP-C-4 movle234,2 MBMPEG-4 movie925,1 MBMPEG-4 movie404 GbMP-C-4 movle1,31 GBMPEG-4 movie4,53 GBMPEG-4 movie1.42 GBMP-G-4 movie1,04 GBMPEG-4 movie548,1 MBMP-C-4 movle731,7 MBMPEG-4 movie796,1 MBMPEG-4 movieMP-C-4 movle1,71 GBR02 MDMPEG-4 movieMoeeAm1 of 15 selected, 35,53 GB available...
|
NULL
|
|
42459
|
NULL
|
0
|
2026-04-17T07:19:31.715259+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776410371715_m2.jpg...
|
Slack
|
jiminny-x-integration-app (Channel) - Jiminny Inc jiminny-x-integration-app (Channel) - Jiminny Inc - Slack...
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
Nikolay Nikolov
Stoyan Tanev
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
Ves
Steliyan Georgiev
Jira Cloud
Toast
Google Calendar
Membrane AI Assistant
APP
Yesterday at 1:49:27 PM
Yesterday at 1:49 PM
Ah, I see now! You're referring to the connection object field in the API response, not webhook events. You're right - there's been a change from
disconnected
to
connected
in the API response.
Looking at your API response:
Old field:
"disconnected": false
New field:
"connected": true
This is a breaking change that affects the logic you built around checking connection status. The boolean logic is also inverted (
disconnected: false
= connection is active, while
connected: true
= connection is active).
Let me escalate this to the team to confirm when this change was introduced and whether both fields are temporarily supported during a transition period, or if you need to update your code immediately to use the
connected
field instead of
disconnected
.
Yesterday at 1:50:02 PM
1:50
I've escalated this to our engineering team to get clarification on the API change. They'll get back to you shortly with details about when this change was introduced and guidance on how to handle it in your code.
Membrane AI Assistant
APP
Yesterday at 2:26:57 PM
Yesterday at 2:26 PM
Good news! I've investigated the API change and here's what I found:
Both fields are still returned - no breaking change!
The API response now includes both:
connected: true
(new canonical field)
disconnected: false
(deprecated but still returned for backward compatibility)
What happened:
On April 3, 2026, we updated the platform to use
connected
as the primary field instead of
disconnected
for better code readability. However, to ensure backward compatibility, the API automatically derives and includes the
disconnected
field in all responses (
disconnected = !connected
).
What this means for you:
Your existing code using
disconnected
will continue to work
No immediate code changes are required
You can migrate to using
connected
whenever convenient
The
disconnected
field is marked as deprecated but there's no removal timeline announced
When you do migrate, remember the logic is inverted:
disconnected: false
=
connected: true
(connection is active)
disconnected: true
=
connected: false
(connection needs re-authentication)
10 external people
are from
Membrane
Also send to
jiminny-x-integration-app
Also send to jiminny-x-integration-app
Channel jiminny-x-integration-app...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Jiminny Inc","depth":12,"bounds":{"left":0.23867187,"top":1.0,"width":0.0125,"height":-0.05486107},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Jiminny (Staging)","depth":12,"bounds":{"left":0.23867187,"top":1.0,"width":0.0125,"height":-0.090972185},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add workspaces","depth":12,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"bounds":{"left":0.26054686,"top":1.0,"width":0.0203125,"height":-0.048611164},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"bounds":{"left":0.26484376,"top":1.0,"width":0.01171875,"height":-0.08124995},"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.26054686,"top":1.0,"width":0.0203125,"height":-0.0958333},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.3,"top":1.0,"width":0.022265624,"height":-0.087499976},"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"frontend","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"infra-changes","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Ves","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":23,"role_description":"text"},{"role":"AXButton","text":"Membrane AI Assistant","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.06171875,"height":-0.079861164},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"bounds":{"left":0.45820314,"top":1.0,"width":0.0078125,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.4671875,"top":1.0,"width":0.003125,"height":-0.079861164},"role_description":"text"},{"role":"AXLink","text":"Yesterday at 1:49:27 PM","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.11171875,"height":-0.079861164},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Yesterday at 1:49 PM","depth":24,"bounds":{"left":0.39414063,"top":1.0,"width":0.11171875,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"Ah, I see now! You're referring to the connection object field in the API response, not webhook events. You're right - there's been a change from","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.11171875,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":24,"bounds":{"left":0.44804686,"top":1.0,"width":0.033984374,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"to","depth":23,"bounds":{"left":0.4832031,"top":1.0,"width":0.00703125,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"connected","depth":24,"bounds":{"left":0.39570314,"top":1.0,"width":0.025390625,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"in the API response.","depth":23,"bounds":{"left":0.42265624,"top":1.0,"width":0.052734375,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"Looking at your API response:","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.076171875,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.39570314,"top":1.0,"width":0.005859375,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"Old field:","depth":25,"bounds":{"left":0.4050781,"top":1.0,"width":0.025,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"\"disconnected\": false","depth":26,"bounds":{"left":0.43164062,"top":1.0,"width":0.058984376,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.39570314,"top":1.0,"width":0.005859375,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"New field:","depth":25,"bounds":{"left":0.4050781,"top":1.0,"width":0.027734375,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"\"connected\": true","depth":26,"bounds":{"left":0.43398437,"top":1.0,"width":0.048046876,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"This is a breaking change that affects the logic you built around checking connection status. The boolean logic is also inverted (","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.10976563,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"disconnected: false","depth":24,"bounds":{"left":0.3972656,"top":1.0,"width":0.053515624,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"= connection is active, while","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.09882812,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"connected: true","depth":24,"bounds":{"left":0.42890626,"top":1.0,"width":0.042578124,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"= connection is active).","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.08359375,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"Let me escalate this to the team to confirm when this change was introduced and whether both fields are temporarily supported during a transition period, or if you need to update your code immediately to use the","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.10976563,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"connected","depth":24,"bounds":{"left":0.4230469,"top":1.0,"width":0.025390625,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"field instead of","depth":23,"bounds":{"left":0.45,"top":1.0,"width":0.039453126,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":24,"bounds":{"left":0.39570314,"top":1.0,"width":0.033984374,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"bounds":{"left":0.4308594,"top":1.0,"width":0.0015625,"height":-0.079861164},"role_description":"text"},{"role":"AXLink","text":"Yesterday at 1:50:02 PM","depth":24,"bounds":{"left":0.3816406,"top":1.0,"width":0.009375,"height":-0.079861164},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:50","depth":25,"bounds":{"left":0.3816406,"top":1.0,"width":0.009375,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"I've escalated this to our engineering team to get clarification on the API change. They'll get back to you shortly with details about when this change was introduced and guidance on how to handle it in your code.","depth":24,"bounds":{"left":0.39414063,"top":1.0,"width":0.10859375,"height":-0.079861164},"role_description":"text"},{"role":"AXButton","text":"Membrane AI Assistant","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.06171875,"height":-0.079861164},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"bounds":{"left":0.45820314,"top":1.0,"width":0.0078125,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.4671875,"top":1.0,"width":0.003125,"height":-0.079861164},"role_description":"text"},{"role":"AXLink","text":"Yesterday at 2:26:57 PM","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.11171875,"height":-0.079861164},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Yesterday at 2:26 PM","depth":24,"bounds":{"left":0.39414063,"top":1.0,"width":0.11171875,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"Good news! I've investigated the API change and here's what I found:","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.09414063,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"Both fields are still returned - no breaking change!","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.10820313,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"The API response now includes both:","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.09492187,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.39570314,"top":1.0,"width":0.005859375,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"connected: true","depth":26,"bounds":{"left":0.40664062,"top":1.0,"width":0.042578124,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"(new canonical field)","depth":25,"bounds":{"left":0.45039064,"top":1.0,"width":0.05390625,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.39570314,"top":1.0,"width":0.005859375,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"disconnected: false","depth":26,"bounds":{"left":0.40664062,"top":1.0,"width":0.053515624,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"(deprecated but still returned for backward compatibility)","depth":25,"bounds":{"left":0.4050781,"top":1.0,"width":0.09882812,"height":-0.079861164},"role_description":"text"},{"role":"AXStaticText","text":"What happened:","depth":23,"bounds":{"left":0.39414063,"top":1.0,"width":0.043359376,"height":-0.09930551},"role_description":"text"},{"role":"AXStaticText","text":"On April 3, 2026, we updated the platform to use","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"connected","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"as the primary field instead of","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"for better code readability. However, to ensure backward compatibility, the API automatically derives and includes the","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"field in all responses (","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"disconnected = !connected","depth":24,"role_description":"text"},{"role":"AXStaticText","text":").","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"What this means for you:","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"Your existing code using","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"will continue to work","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"No immediate code changes are required","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"You can migrate to using","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"connected","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"whenever convenient","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"field is marked as deprecated but there's no removal timeline announced","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"When you do migrate, remember the logic is inverted:","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"disconnected: false","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"connected: true","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"(connection is active)","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"disconnected: true","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"connected: false","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"(connection needs re-authentication)","depth":25,"role_description":"text"},{"role":"AXButton","text":"10 external people","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"are from","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Membrane","depth":24,"role_description":"text"},{"role":"AXTextArea","text":"","depth":26,"value":"","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Also send to","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":25,"role_description":"text"},{"role":"AXCheckBox","text":"Also send to jiminny-x-integration-app","depth":25,"role_description":"Tick box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Channel jiminny-x-integration-app","depth":11,"role_description":"text"}]...
|
-1778773806486532657
|
-4135650320705708209
|
idle
|
hybrid
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
Nikolay Nikolov
Stoyan Tanev
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
Ves
Steliyan Georgiev
Jira Cloud
Toast
Google Calendar
Membrane AI Assistant
APP
Yesterday at 1:49:27 PM
Yesterday at 1:49 PM
Ah, I see now! You're referring to the connection object field in the API response, not webhook events. You're right - there's been a change from
disconnected
to
connected
in the API response.
Looking at your API response:
Old field:
"disconnected": false
New field:
"connected": true
This is a breaking change that affects the logic you built around checking connection status. The boolean logic is also inverted (
disconnected: false
= connection is active, while
connected: true
= connection is active).
Let me escalate this to the team to confirm when this change was introduced and whether both fields are temporarily supported during a transition period, or if you need to update your code immediately to use the
connected
field instead of
disconnected
.
Yesterday at 1:50:02 PM
1:50
I've escalated this to our engineering team to get clarification on the API change. They'll get back to you shortly with details about when this change was introduced and guidance on how to handle it in your code.
Membrane AI Assistant
APP
Yesterday at 2:26:57 PM
Yesterday at 2:26 PM
Good news! I've investigated the API change and here's what I found:
Both fields are still returned - no breaking change!
The API response now includes both:
connected: true
(new canonical field)
disconnected: false
(deprecated but still returned for backward compatibility)
What happened:
On April 3, 2026, we updated the platform to use
connected
as the primary field instead of
disconnected
for better code readability. However, to ensure backward compatibility, the API automatically derives and includes the
disconnected
field in all responses (
disconnected = !connected
).
What this means for you:
Your existing code using
disconnected
will continue to work
No immediate code changes are required
You can migrate to using
connected
whenever convenient
The
disconnected
field is marked as deprecated but there's no removal timeline announced
When you do migrate, remember the logic is inverted:
disconnected: false
=
connected: true
(connection is active)
disconnected: true
=
connected: false
(connection needs re-authentication)
10 external people
are from
Membrane
Also send to
jiminny-x-integration-app
Also send to jiminny-x-integration-app
Channel jiminny-x-integration-app
SackFileEditViewHistoryWindowHelpscreenlplbe=llminny® AirDrop•) RecentsA Applications|9 Documents• Desktop( DownloadsA lukasiCloudiCloud Drive283 Sync folder>dataco scllle1 db.sglite-wal• screenpipe.2026-04-16.0.log• screenpipe.2026-04-15.0.10gscreenpipe.2026-04-14.0.log• screenpipe.2026-04-09.0.1oglà screenpipe.2026-04-11.0.logscreenpipe.2026-04-12.0.log• screenpipe.2026-04-13.0.logdb.sqlite-shm• screenpipe.2026-04-17.0.logpipes• screenpipe_sync.sh• config.jsonLocations• DXP4800PLUS-B5... ⅔ge NerworeTagsDCKMI• Orange• Red• Yellow• Green• Blue• Purple@ All Tags..Backend Chapter • in 11 mFri 17 Apr 10:19:31Date Modified15 Apr 2026 at 14:53Today at 10:18Today at 10:18Y5 Apr 2026 21 1386514 Apr 2026 at 19:319 Apr 2026 at 21:2711 Aor 7026 a1/x:412 Apr 2026 at 23:5513 Apr 2026 at 19:50Today at 9:12Today at 10:1815 Apr 2026 at 14:53Yesterday at 19:43Yesterday at 16:494,24 GBrolder3.00 G-Docu ment16,7 MBDocumentISINDLoe rile1/6 KBLog File162 KBLog File135 KbLog File95 KBLog File72 KBLog FileLog File66 KBSSNb13 KB666 bytes358 bytesDocumentLoe rlleFoldenTerminal scriptsJSON=llminny® AirDrop•) RecentsA Applications|9 Documents• Desktop( DownloadsA lukasIcloudiCloud Drive283 Sync folderLocations|J DXP4800PLUS-B5... €Ga NetworkTagsDCKMI• Orange• Redl• Yellow• Green• Blue• Purple• All Tags..Som 4551,lb GbWorkKecentsLukas Kovalik's MacBook Pro..NameV 2026mai CleanShot 2026-04-17 at 09.45.51.mp4Wa Daily 2026-04-16.mp4ax Planning 2026-04-15.mp4E Retro 2026-04-14.mp4I DaIV 2020-04- 4194- User pilot (Adi) 2026-04-09.mp4• Daily 2026-04-09.mp4• Dalv 2026-04-08.mo4aa Daily 2026-04-07.mp4** Refinement 2026-04-06.mp4& Dally 2026-04-06.mp4- Daily 2026-04-03.mp4es Planning 2026-04-01 & task split.mp4Retro 2026-03-31.mp4Dally 4040-05=51.m04- Refinement 2026-03-30.mp4Daily 2026-03-30.mp4= Daily 2026-03-27.mp4• Daily 2026-03-26.mp4= Daily 2026-03-24.mp4w rerinement2020-03-23.m04= Daily 2026-03-23.mp4BE chapter 2026-03-20.mp4= Dalv 2026-03-20.mo4am Planing 2026-03-18-converted.mp4- Refinement 2026-02-09-converted.mp4aR Dally 2026-03-19.mp4- Review 2026-03-18.mp4• Panlno 2040-03-16.m04F* Retro 2026-03-17.mp4- Daily 2026-03-17.mp4- Refinement 2026-03-16.mp4- Daily 2026-03-16.mp4im Daily 2026-03-13.mp4mi 1-1 2026-03-12.mp4Daily 2026-03-12.mp4ia Daily 2026-03-11.mp4- Daily 2026-03-10.mp4: Refinement 2026-03-09.mp4nm Dalv 2026-03-09.mo4Daily 2026-03-06.mp4•. Planning 2026-03-04.mp4= Daily 2026-03-02.mp4- Daily 2026-02-27.mp4Dally 2020-02-2o.mov* Daily 2026-02-25.mov- Opportunity-Contacts 2026-02-24.mp4Dally 2026-02-24.mp4Refinement 2026-02-23.mov= Daily 2026-02-20 & Ani.mp4- Daily 2026-02-19.mp4Review 2026-02-18.mp4n Pannino 2020-04-16.m04- Retro 2026-02-17.mp4- Refinement & P1 debugging 2026-02-16.mp4• SvncObiectss 2026-02-16.mo4*: SyncObjects2 2026-02-16.mp4•= SyncObjects1 2026-02-16.mp4= Daily 2026-02-16.mp4- Daily 2026-02-13.mp4Al chapter 2026-02-11.mp4All hands 2026-02-11.mp4• Dialv 2026-02-11.mn488Date ModitiedToday at 10:18Today at 10:16Yesterday at 10:0015 Apr 2026 at 11:1414 Apr 2026 at 17:3714 Apr 2026 at 10:099 Apr 2026 at 14:479 Apr 2026 at 10:078 Aor 2026 at 10.137 Apr 2026 at 10:016 Apr 2026 at 17:20oAor 2076 a1 10:0%3 Apr 2026 at 10:21AorZ020 al1:4031 Mar 2026 at 18:2031 Mar 2026 at 10:1030 Mar 2026 at 17.1230 Mar 2026 at 10:0527 Mar 2026 at 10:092o Mar 2026 ar 9:5024 Mar 2026 at 10:00# Mar Z02o arros23 Mar 2026 at 10:0020 Mar 2026 at 11:4620 Mar 2026 at 10:0619 Mar 2026 at 12:0119 Mar 2026 at 11:3519 Mar 7076 ar 9:6/18 Mar 2026 at 16:20o Mar 207o au:417 Mar 2026 at 17:4017 Mar 2026 at 10:1816 Mar 2026 at 16:5516 Mar 2026 at 10:0213 Mar 2026 at 10:1212 Mar 7026 at 18.2612 Mar 2026 at 10:10iMar Z02o ar0:0010 Mar 2026 at 9:579 Mar 2026 at 17:049 Mar 2026 at 9:666 Mar 2026 at 9:574 Mar 2026 at 11:09Mar 202o at 10:027 Feb 2026 at 10:02Zo reo 20zo aryios25 Feb 2026 aт 9:5924 Feb 2026 at 12:0324 -eo 2026 at 10:0223 Feb 2026 at 16:3120 Feb 2026 at 10:5319 Fе0 2026 ar 9:94.18 Feb 2026 at 16:2518 Feb 2026 at 10:5717 Feb 2026 at 17:3816 Feb 2026 at 17:3616 -eo 2026 at 15.1016 Feb 2026 at 11:5816 Feb 2026 at 11:2916 Feb 2026 at 10:1413 Feb 2026 at 10:11i reo 2020al7:3411 Feb 2026 at 11:46M1 CAh 2026 6+ 10:02v SIZe1,16 GB513,4 MB2,75 GB1,44 GB9244 MB362,6 MB748,8 MB1.04 GB575,5 MB4,34 GB720,5 MB1,02 GB4.08Gb3,4 GB923,6 MB2,77 GB641,8 MB884,3 MB476,6 MB550,8 MB3,44 Gb438,9 MB1rooob430.4 MB2,38 GBMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPEG-4 movieMP-G-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPCO-4 movieMP-G-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movleMPEG-4 movieMPEG-4 movieMPEG-4 movieMPEG-4 movieMP-C-4 movle386,3 MBMPEG-4 movie705,8 MBMPEG-4 movie2,78 GBMP-C-4 movle1,53 GBMPEG-4 movie1,2 GBMPCO-4 movie4,19 GBMP-G-4 movie592,2 MBMPEG-4 movie1,02 GBMPEG-4 movie637,6 MBMPEG-4 movie978,7 MBMPEG-4 movievorMb MP-C-4 movle404,6 MBMPEG-4 movie4,16 GBMPEG-4 movie319.MBMP-G-4 movie291,7 MBMPEG-4 movie2,62 GBMPEG-4 movie768,5 MBMPEG-4 movie546,8 MBMPEG-4 movie96,6 MBCmovie503,5 MBQT movie791,7 MBMPCO-4 movie520./MBMP-G-4 movie2 GBQT movie2,52 GBMP-C-4 movle234,2 MBMPEG-4 movie925,1 MBMPEG-4 movie404 GbMP-C-4 movle1,31 GBMPEG-4 movie4,53 GBMPEG-4 movie1.42 GBMP-G-4 movie1,04 GBMPEG-4 movie548,1 MBMP-C-4 movle731,7 MBMPEG-4 movie796,1 MBMPEG-4 movieMP-C-4 movle1,71 GBR02 MDMPEG-4 movieMoeeAm1 of 15 selected, 35,03 GB available...
|
42457
|
|
42458
|
NULL
|
0
|
2026-04-17T07:19:24.725645+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776410364725_m1.jpg...
|
Slack
|
jiminny-x-integration-app (Channel) - Jiminny Inc jiminny-x-integration-app (Channel) - Jiminny Inc - Slack...
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
Nikolay Nikolov
Stoyan Tanev
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
Ves
Steliyan Georgiev
Jira Cloud
Toast
Google Calendar
Membrane AI Assistant
APP
Yesterday at 1:49:27 PM
Yesterday at 1:49 PM
Ah, I see now! You're referring to the connection object field in the API response, not webhook events. You're right - there's been a change from
disconnected
to
connected
in the API response.
Looking at your API response:
Old field:
"disconnected": false
New field:
"connected": true
This is a breaking change that affects the logic you built around checking connection status. The boolean logic is also inverted (
disconnected: false
= connection is active, while
connected: true
= connection is active).
Let me escalate this to the team to confirm when this change was introduced and whether both fields are temporarily supported during a transition period, or if you need to update your code immediately to use the
connected
field instead of
disconnected
.
Yesterday at 1:50:02 PM
1:50
I've escalated this to our engineering team to get clarification on the API change. They'll get back to you shortly with details about when this change was introduced and guidance on how to handle it in your code.
Membrane AI Assistant
APP
Yesterday at 2:26:57 PM
Yesterday at 2:26 PM
Good news! I've investigated the API change and here's what I found:
Both fields are still returned - no breaking change!
The API response now includes both:
connected: true
(new canonical field)
disconnected: false
(deprecated but still returned for backward compatibility)
What happened:
On April 3, 2026, we updated the platform to use
connected
as the primary field instead of
disconnected
for better code readability. However, to ensure backward compatibility, the API automatically derives and includes the
disconnected
field in all responses (
disconnected = !connected
).
What this means for you:
Your existing code using
disconnected
will continue to work
No immediate code changes are required
You can migrate to using
connected
whenever convenient
The
disconnected
field is marked as deprecated but there's no removal timeline announced
When you do migrate, remember the logic is inverted:
disconnected: false
=
connected: true
(connection is active)
disconnected: true
=
connected: false
(connection needs re-authentication)
10 external people
are from
Membrane
Also send to
jiminny-x-integration-app
Also send to jiminny-x-integration-app
Channel jiminny-x-integration-app...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Jiminny Inc","depth":12,"bounds":{"left":0.009722223,"top":0.08777778,"width":0.022222223,"height":0.035555556},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Jiminny (Staging)","depth":12,"bounds":{"left":0.009722223,"top":0.14555556,"width":0.022222223,"height":0.035555556},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add workspaces","depth":12,"bounds":{"left":0.009722223,"top":0.20333333,"width":0.022222223,"height":0.035555556},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"bounds":{"left":0.048611112,"top":0.07777778,"width":0.036111113,"height":0.075555556},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"bounds":{"left":0.05625,"top":0.13,"width":0.020833334,"height":0.015555556},"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.048611112,"top":0.15333334,"width":0.036111113,"height":0.075555556},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"bounds":{"left":0.058333334,"top":0.20555556,"width":0.016666668,"height":0.015555556},"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.048611112,"top":0.22888888,"width":0.036111113,"height":0.075555556},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"bounds":{"left":0.05277778,"top":0.28111112,"width":0.027083334,"height":0.015555556},"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.048611112,"top":0.30444443,"width":0.036111113,"height":0.075555556},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"bounds":{"left":0.058333334,"top":0.35666665,"width":0.015972223,"height":0.015555556},"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.048611112,"top":0.38,"width":0.036111113,"height":0.075555556},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"bounds":{"left":0.057638887,"top":0.43222222,"width":0.018055556,"height":0.015555556},"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.048611112,"top":0.45555556,"width":0.036111113,"height":0.075555556},"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"bounds":{"left":0.056944445,"top":0.50777775,"width":0.01875,"height":0.015555556},"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.11875,"top":0.14,"width":0.039583333,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.11875,"top":0.1711111,"width":0.036805555,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.11875,"top":0.20222223,"width":0.038194444,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.11875,"top":0.23333333,"width":0.06111111,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.11875,"top":0.26444444,"width":0.050694443,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.12986112,"top":0.39555556,"width":0.09166667,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.12986112,"top":0.42666668,"width":0.093055554,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.12986112,"top":0.5,"width":0.046527777,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.12986112,"top":0.5311111,"width":0.025694445,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.12986112,"top":0.56222224,"width":0.039583333,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.12986112,"top":0.5933333,"width":0.072222225,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.12986112,"top":0.6244444,"width":0.057638887,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.12986112,"top":0.65555555,"width":0.054166667,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"frontend","depth":23,"bounds":{"left":0.12986112,"top":0.68666667,"width":0.04027778,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"bounds":{"left":0.12986112,"top":0.7177778,"width":0.034027778,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"infra-changes","depth":23,"bounds":{"left":0.12986112,"top":0.7488889,"width":0.061805554,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"bounds":{"left":0.12986112,"top":0.78,"width":0.048611112,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"bounds":{"left":0.12986112,"top":0.8111111,"width":0.072916664,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"bounds":{"left":0.12986112,"top":0.8422222,"width":0.08055556,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"bounds":{"left":0.12986112,"top":0.87333333,"width":0.035416666,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"bounds":{"left":0.12986112,"top":0.90444446,"width":0.036805555,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"bounds":{"left":0.12986112,"top":0.9355556,"width":0.05138889,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"bounds":{"left":0.12986112,"top":0.96666664,"width":0.036111113,"height":0.02},"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Ves","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":23,"role_description":"text"},{"role":"AXButton","text":"Membrane AI Assistant","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.10972222,"height":0.0011111111},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"bounds":{"left":0.4,"top":0.12777779,"width":0.013888889,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.41597223,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"role_description":"text"},{"role":"AXLink","text":"Yesterday at 1:49:27 PM","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19861111,"height":0.0011111111},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Yesterday at 1:49 PM","depth":24,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19861111,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"Ah, I see now! You're referring to the connection object field in the API response, not webhook events. You're right - there's been a change from","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19861111,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":24,"bounds":{"left":0.38194445,"top":0.12777779,"width":0.060416665,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"to","depth":23,"bounds":{"left":0.44444445,"top":0.12777779,"width":0.0125,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"connected","depth":24,"bounds":{"left":0.2888889,"top":0.12777779,"width":0.045138888,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"in the API response.","depth":23,"bounds":{"left":0.33680555,"top":0.12777779,"width":0.09375,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"Looking at your API response:","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.13541667,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.12777779,"width":0.010416667,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"Old field:","depth":25,"bounds":{"left":0.30555555,"top":0.12777779,"width":0.044444446,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"\"disconnected\": false","depth":26,"bounds":{"left":0.35277778,"top":0.12777779,"width":0.10486111,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.12777779,"width":0.010416667,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"New field:","depth":25,"bounds":{"left":0.30555555,"top":0.12777779,"width":0.049305554,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"\"connected\": true","depth":26,"bounds":{"left":0.35694444,"top":0.12777779,"width":0.08541667,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"This is a breaking change that affects the logic you built around checking connection status. The boolean logic is also inverted (","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19513889,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"disconnected: false","depth":24,"bounds":{"left":0.29166666,"top":0.12777779,"width":0.09513889,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"= connection is active, while","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.17569445,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"connected: true","depth":24,"bounds":{"left":0.34791666,"top":0.12777779,"width":0.07569444,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"= connection is active).","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.14861111,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"Let me escalate this to the team to confirm when this change was introduced and whether both fields are temporarily supported during a transition period, or if you need to update your code immediately to use the","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19513889,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"connected","depth":24,"bounds":{"left":0.3375,"top":0.12777779,"width":0.045138888,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"field instead of","depth":23,"bounds":{"left":0.38541666,"top":0.12777779,"width":0.07013889,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":24,"bounds":{"left":0.2888889,"top":0.12777779,"width":0.060416665,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"bounds":{"left":0.3513889,"top":0.12777779,"width":0.0027777778,"height":0.0011111111},"role_description":"text"},{"role":"AXLink","text":"Yesterday at 1:50:02 PM","depth":24,"bounds":{"left":0.2638889,"top":0.12777779,"width":0.016666668,"height":0.0011111111},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:50","depth":25,"bounds":{"left":0.2638889,"top":0.12777779,"width":0.016666668,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"I've escalated this to our engineering team to get clarification on the API change. They'll get back to you shortly with details about when this change was introduced and guidance on how to handle it in your code.","depth":24,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19305556,"height":0.0011111111},"role_description":"text"},{"role":"AXButton","text":"Membrane AI Assistant","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.10972222,"height":0.0011111111},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":23,"bounds":{"left":0.4,"top":0.12777779,"width":0.013888889,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.41597223,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"role_description":"text"},{"role":"AXLink","text":"Yesterday at 2:26:57 PM","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19861111,"height":0.0011111111},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Yesterday at 2:26 PM","depth":24,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19861111,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"Good news! I've investigated the API change and here's what I found:","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.16736111,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"Both fields are still returned - no breaking change!","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.19236112,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"The API response now includes both:","depth":23,"bounds":{"left":0.28611112,"top":0.12777779,"width":0.16875,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.12777779,"width":0.010416667,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"connected: true","depth":26,"bounds":{"left":0.30833334,"top":0.12777779,"width":0.07569444,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"(new canonical field)","depth":25,"bounds":{"left":0.3861111,"top":0.12777779,"width":0.09583333,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.12777779,"width":0.010416667,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"disconnected: false","depth":26,"bounds":{"left":0.30833334,"top":0.12777779,"width":0.09513889,"height":0.0011111111},"role_description":"text"},{"role":"AXStaticText","text":"(deprecated but still returned for backward compatibility)","depth":25,"bounds":{"left":0.30555555,"top":0.12777779,"width":0.17569445,"height":0.018888889},"role_description":"text"},{"role":"AXStaticText","text":"What happened:","depth":23,"bounds":{"left":0.28611112,"top":0.15888889,"width":0.077083334,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"On April 3, 2026, we updated the platform to use","depth":23,"bounds":{"left":0.28611112,"top":0.18333334,"width":0.19375,"height":0.045555554},"role_description":"text"},{"role":"AXStaticText","text":"connected","depth":24,"bounds":{"left":0.31944445,"top":0.21111111,"width":0.045833334,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"as the primary field instead of","depth":23,"bounds":{"left":0.28611112,"top":0.20777778,"width":0.17152777,"height":0.045555554},"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":24,"bounds":{"left":0.33680555,"top":0.23555556,"width":0.059722222,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"for better code readability. However, to ensure backward compatibility, the API automatically derives and includes the","depth":23,"bounds":{"left":0.28611112,"top":0.23222223,"width":0.19652778,"height":0.094444446},"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":24,"bounds":{"left":0.36597222,"top":0.30888888,"width":0.060416665,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"field in all responses (","depth":23,"bounds":{"left":0.28611112,"top":0.30555555,"width":0.18958333,"height":0.045555554},"role_description":"text"},{"role":"AXStaticText","text":"disconnected = !connected","depth":24,"bounds":{"left":0.3402778,"top":0.33333334,"width":0.125,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":").","depth":23,"bounds":{"left":0.46805555,"top":0.33,"width":0.0055555557,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"What this means for you:","depth":23,"bounds":{"left":0.28611112,"top":0.36333334,"width":0.11597222,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.39,"width":0.010416667,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"Your existing code using","depth":25,"bounds":{"left":0.30555555,"top":0.38777778,"width":0.11319444,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":26,"bounds":{"left":0.42083332,"top":0.3911111,"width":0.060416665,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"will continue to work","depth":25,"bounds":{"left":0.30555555,"top":0.41222224,"width":0.09652778,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.43888888,"width":0.010416667,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"No immediate code changes are required","depth":25,"bounds":{"left":0.30555555,"top":0.43666667,"width":0.14583333,"height":0.045555554},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.48777777,"width":0.010416667,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"You can migrate to using","depth":25,"bounds":{"left":0.30555555,"top":0.48555556,"width":0.114583336,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"connected","depth":26,"bounds":{"left":0.42291668,"top":0.4888889,"width":0.045138888,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"whenever convenient","depth":25,"bounds":{"left":0.30555555,"top":0.51,"width":0.09861111,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.5366667,"width":0.010416667,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"The","depth":25,"bounds":{"left":0.30555555,"top":0.53444445,"width":0.02013889,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"disconnected","depth":26,"bounds":{"left":0.32847223,"top":0.5377778,"width":0.060416665,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"field is marked as deprecated but there's no removal timeline announced","depth":25,"bounds":{"left":0.30555555,"top":0.53444445,"width":0.16666667,"height":0.07},"role_description":"text"},{"role":"AXStaticText","text":"When you do migrate, remember the logic is inverted:","depth":23,"bounds":{"left":0.28611112,"top":0.6166667,"width":0.19236112,"height":0.045555554},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.6677778,"width":0.010416667,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"disconnected: false","depth":26,"bounds":{"left":0.30833334,"top":0.66888887,"width":0.09513889,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"=","depth":25,"bounds":{"left":0.40625,"top":0.66555554,"width":0.011805556,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"connected: true","depth":26,"bounds":{"left":0.30555555,"top":0.66888887,"width":0.1701389,"height":0.04222222},"role_description":"text"},{"role":"AXStaticText","text":"(connection is active)","depth":25,"bounds":{"left":0.32847223,"top":0.69,"width":0.09861111,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.2888889,"top":0.71666664,"width":0.010416667,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"disconnected: true","depth":26,"bounds":{"left":0.30833334,"top":0.7177778,"width":0.090277776,"height":0.017777778},"role_description":"text"},{"role":"AXStaticText","text":"=","depth":25,"bounds":{"left":0.40138888,"top":0.71444446,"width":0.011805556,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"connected: false","depth":26,"bounds":{"left":0.30555555,"top":0.7177778,"width":0.16527778,"height":0.04222222},"role_description":"text"},{"role":"AXStaticText","text":"(connection needs re-authentication)","depth":25,"bounds":{"left":0.30555555,"top":0.73888886,"width":0.12986112,"height":0.045555554},"role_description":"text"},{"role":"AXButton","text":"10 external people","depth":24,"bounds":{"left":0.28333333,"top":0.81666666,"width":0.07569444,"height":0.02111111},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"are from","depth":24,"bounds":{"left":0.35833332,"top":0.81777775,"width":0.038194444,"height":0.018888889},"role_description":"text"},{"role":"AXStaticText","text":"Membrane","depth":24,"bounds":{"left":0.39652777,"top":0.81777775,"width":0.043055557,"height":0.018888889},"role_description":"text"},{"role":"AXTextArea","text":"","depth":26,"bounds":{"left":0.25625,"top":0.8511111,"width":0.22847222,"height":0.043333333},"value":"","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Also send to","depth":25,"bounds":{"left":0.28333333,"top":0.9033333,"width":0.047222223,"height":0.016666668},"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":25,"bounds":{"left":0.3402778,"top":0.9033333,"width":0.09513889,"height":0.016666668},"role_description":"text"},{"role":"AXCheckBox","text":"Also send to jiminny-x-integration-app","depth":25,"bounds":{"left":0.26597223,"top":0.9033333,"width":0.009027778,"height":0.014444444},"role_description":"Tick box","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Channel jiminny-x-integration-app","depth":11,"role_description":"text"}]...
|
-1778773806486532657
|
-4135650320705708209
|
visual_change
|
hybrid
|
NULL
|
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Jiminny Inc
Jiminny (Staging)
Add workspaces
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
confusion-clinic
curiosity_lab
engineering
frontend
general
infra-changes
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Galya Dimitrova
Nikolay Nikolov
Stoyan Tanev
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
Ves
Steliyan Georgiev
Jira Cloud
Toast
Google Calendar
Membrane AI Assistant
APP
Yesterday at 1:49:27 PM
Yesterday at 1:49 PM
Ah, I see now! You're referring to the connection object field in the API response, not webhook events. You're right - there's been a change from
disconnected
to
connected
in the API response.
Looking at your API response:
Old field:
"disconnected": false
New field:
"connected": true
This is a breaking change that affects the logic you built around checking connection status. The boolean logic is also inverted (
disconnected: false
= connection is active, while
connected: true
= connection is active).
Let me escalate this to the team to confirm when this change was introduced and whether both fields are temporarily supported during a transition period, or if you need to update your code immediately to use the
connected
field instead of
disconnected
.
Yesterday at 1:50:02 PM
1:50
I've escalated this to our engineering team to get clarification on the API change. They'll get back to you shortly with details about when this change was introduced and guidance on how to handle it in your code.
Membrane AI Assistant
APP
Yesterday at 2:26:57 PM
Yesterday at 2:26 PM
Good news! I've investigated the API change and here's what I found:
Both fields are still returned - no breaking change!
The API response now includes both:
connected: true
(new canonical field)
disconnected: false
(deprecated but still returned for backward compatibility)
What happened:
On April 3, 2026, we updated the platform to use
connected
as the primary field instead of
disconnected
for better code readability. However, to ensure backward compatibility, the API automatically derives and includes the
disconnected
field in all responses (
disconnected = !connected
).
What this means for you:
Your existing code using
disconnected
will continue to work
No immediate code changes are required
You can migrate to using
connected
whenever convenient
The
disconnected
field is marked as deprecated but there's no removal timeline announced
When you do migrate, remember the logic is inverted:
disconnected: false
=
connected: true
(connection is active)
disconnected: true
=
connected: false
(connection needs re-authentication)
10 external people
are from
Membrane
Also send to
jiminny-x-integration-app
Also send to jiminny-x-integration-app
Channel jiminny-x-integration-app
+SlackFileEditViewEDHomeDMsActivityFilesLater..•More+Jiminny ...= UnreadsThreadsHuddlesDrafts & sentDirectoriesExternal connections* Starredjiminny-x-integrati...& platform-inner-teamChannels# ai-chapter# alerts# backend# confusion-clinic# curiosity_lab# engineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_ launches# random# releases# sofia-office# supportGoHistoryWindowHelp→Search Jiminny IncsosThread A jiminny-x-integration...compatibility)What happened:On April 3, 2026, we updated the platformto useconnected as the primary fieldinstead of disconnected for better codereadability. However, to ensure backwardcompatibility, the APl automatically derivesand includes the disconnected field in allresponses (disconnected = ! connected ).What this means for you:• Your existing code using disconnectedwill continue to work• No immediate code changes arerequired• You can migrate to using connectedwhenever convenient• The disconnected field is marked asdeprecated but there's no removaltimeline announcedWhen you do migrate, remember the logicis inverted:•disconnected: false= connected:true (connection is active)• disconnected: true= connected:false (connection needs re-authentication)10 external people are from MembraneReply...Also send to A jiminny-x-integration-app+Aa•*•alel§ Backend Chapter • in 11 m100% <7*Fri 17 Apr 10:19:24ssh)L88184-zsh®• ₴5* Review screenpipe U...• *6-zshX.PROD (ssh)Run 'do-release-upgrade' to upgrade to it.PROD*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X T3 EU (ssh)New release '24.04.4 LTS' available.Run 'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX Y7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsLukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|U...
|
42456
|
|
42367
|
NULL
|
0
|
2026-04-17T07:14:27.862725+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776410067862_m2.jpg...
|
Firefox
|
Meet - Daily - Platform — Work
|
True
|
meet.google.com/mie-gawc-dsi?authuser=lukas.kovali meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
People
7
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Nikolov to your main screen
Mute Nikolay Nikolov's microphone
More options for Nikolay Nikolov
Nikolay Nikolov
Pin Steliyan Georgiev to your main screen
You can't unmute someone else
More options for Steliyan Georgiev
Steliyan Georgiev
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
You can't unmute someone else
More options for Nikolay Yankov
Nikolay Yankov
Pin Galya Dimitrova to your main screen
You can't unmute someone else
More options for Galya Dimitrova
Galya Dimitrova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Ivanov to your main screen
You can't unmute someone else
More options for Nikolay Ivanov
Nikolay Ivanov
Pin Aneliya Angelova to your main screen
You can't unmute someone else
More options for Aneliya Angelova
Aneliya Angelova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:14
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Share screen
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Daily - Platform","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.018945312,"height":-0.045138836},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.23398438,"top":1.0,"width":0.005859375,"height":-0.045138836},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.23652343,"top":1.0,"width":0.0125,"height":-0.07500005},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"People","depth":15,"bounds":{"left":0.73222655,"top":1.0,"width":0.022851562,"height":-0.05451393},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.74785155,"top":1.0,"width":0.0025390624,"height":-0.061805606},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Take notes with Gemini","depth":14,"bounds":{"left":0.75820315,"top":1.0,"width":0.0140625,"height":-0.05451393},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Take notes with Gemini","depth":17,"bounds":{"left":0.7597656,"top":1.0,"width":0.051171876,"height":-0.061805606},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":17,"bounds":{"left":0.7769531,"top":1.0,"width":0.015820313,"height":-0.061805606},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":17,"bounds":{"left":0.7757813,"top":1.0,"width":0.01328125,"height":-0.055208325},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Nikolov to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Nikolay Nikolov's microphone","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Nikolov","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Steliyan Georgiev to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Steliyan Georgiev","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Yankov to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Yankov","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Galya Dimitrova to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Galya Dimitrova","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Galya Dimitrova","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Ivanov to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Ivanov","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Aneliya Angelova to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Aneliya Angelova","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Aneliya Angelova","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"You’re continuously framed","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Backgrounds and effects","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lukas Kovalik","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Others might see more of your background. Click to view your full video.","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"10:14","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AM","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Daily - Platform","depth":12,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily - Platform","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Audio settings","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off microphone","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Video settings","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off camera","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share screen","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Send a reaction","depth":12,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn on captions","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Raise hand (ctrl + ⌘ + h)","depth":12,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Leave call","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Meeting details","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat with everyone","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Meeting tools","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-3688149237734266671
|
-6570503926848947440
|
click
|
hybrid
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
People
7
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Nikolov to your main screen
Mute Nikolay Nikolov's microphone
More options for Nikolay Nikolov
Nikolay Nikolov
Pin Steliyan Georgiev to your main screen
You can't unmute someone else
More options for Steliyan Georgiev
Steliyan Georgiev
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
You can't unmute someone else
More options for Nikolay Yankov
Nikolay Yankov
Pin Galya Dimitrova to your main screen
You can't unmute someone else
More options for Galya Dimitrova
Galya Dimitrova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Ivanov to your main screen
You can't unmute someone else
More options for Nikolay Ivanov
Nikolay Ivanov
Pin Aneliya Angelova to your main screen
You can't unmute someone else
More options for Aneliya Angelova
Aneliya Angelova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:14
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Share screen
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
SackFileEditHistoryWindowHelpJiminny ...DMs= Unreadse) Threads6 HuddlesDrafts & sent:8 DirectoriesAchivityEh External connectionsFiles* Starred& jiminny-x-integrati...platform-inner-teamMore# Channels# ai-chapter# alerts# backends contlicien-clinia# curiosity lab# engineering# frontendi# general# infra-changes# jiminny-bg# platrorm-uckets# product_launchesac random* releases# sofia-office# support# thank-yous# the people of iimi..Direct messages(3 Aneliya Angelova, ...®. Galya Dimitrova0. Nikolay NikolovEo Stoyan Tanev€. Vasil Vasilev8. Nikolay IvanovP. Aneliya AngelovaP. Ves&. Steliyan Georgiev::: AppsJ Jira CloudoastGoogle Cale..Search Jiminny IncToastMessagesAbout#479 JY-19967: Upgrade all Python libs- part3 by @*Yesterday~(l merged by @Steliyan Georgiev (author) after approval by @Nikolay YankovReview Toast APP 5:52 PMPR review requested by @Nikolay Nikolov#11976 JY-20553 | Improve crm-sync delays by ®Nikolay Nikolov|20 commits • 14 files changedJIRA:JY-40553Deployment notes:• NoneChanges:Show morejiminny/app | Added by Toast for GitHubPR review requested by @Vasil Vasilev#11980 Jy 20541 remove crm contract method by @Vasil Vasilev| 38 commits • 25 files changedJIRA: JY-20541 + Generic sanitationDescription:A cleanup of some CRM functionality that has been pushed as a common basecontract for all CRMs to implement, but is necessary for SF only (usually).Claude Sonnet 4.6 helped a lot.Show morejiminny/app | Added by Toast for GitHubPR review requested by @Vasil Vasilev#11980 Jy 20541 remove crm contract method by @Vasil Vasilev| 38 commits • 25 files changedJIRA: JY-20541 + Generic sanitationDescription:A cleanup of some CRM functionality that has been pushed as a common basecontract for all CRMs to implement, but is necessary for SF only (usually).Claude Sonnet 4.6 helped a lot.Show morelminnvlaodAdded ovloast for Git-ubKeview oast APP 7-51PMPnev ew elesteay astelvan ueorev#482 JY-19967: Update FastAPI init by @Steliyan Georgiev| 1 commit • 1 file changedIminnv/orophet Added oy loast for Githubapproved by nikolaybiaivanovAdded by Toast for githublodav"Toast APP 10:00 AMReviewapp#11980 Jy 20541 remove crm contract methodMessage ToastAa= laravel.logA SF [jiminny@localhost]& Hs local liminnyalocalnost< console LUiC* scratch_1.jsonV connect.vueA console [PROD] xX:AutovPlayground~* from automated_reports where id = 36;ar. frequency, r.*, ar.* from automated_report_resultsrtomated_reports ar on r.cepontoid = ar.igar. frequeney != 'one_off';Ma liminnv v034 41 A33 X61 As.* from activity searches s ioin users u 1..n<->1: ON s.user id = u.id whe* from nudges n where n.activity_search_id* from teams where created_at > '2026-03-09';* FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065* FROM crm_layout_entities WHERE crm_layout_id = 3617;* from users where team_id = 1 and name like'%Lukas%'; # 7160* FRUM Teams WHERE 10 = 5/5:* tron 0pportunumes where tean 10 = 575.* FROM teams WHERE name LIKE '%Integrum ES6%'; # 1126, 1065,* TNO1Ioooortunimes wiere teall 10 = 1140%* FROM teams WHERE name LIKE "%Base%'; # 1125, 1063,* from opportunities where team_id = 1125;* from contacts c;.team_id = 882;* FROM actIVItIes VHERE 10 = 168229671* FROM crm_profiles WHERE user_id = 15440;* -rur con ororlles whrkecrm_configuration_id = 555;* rkur crn contlourarlons Wioke 1o = 555.* FROM users WHERE id = 15440; # team. 581, gr.15440, pl. 3911, act.ICAT(u.id, CASE WHEN U.id = t.owner_id THEN(owner)' ELSE"' END) AS usermail,wner_id FROM social_accounts sasers u on u.id = sa.sociable_idsams t 1..n<->1: on t.id = u.team_id1.team_id = 581 and sa.provider = 'salesforce':* FRoM aucomaced_report_resulus order by 1a desc,* Trol Tearures.* from team_features where feature id = 40:* from teams where id = 556;* from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b* FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248* from automated_report_results order by id desc;* FROM automated_report_results WHERE id = 1919;* from automated_report_results WHERE ceRontaid = 54;Backend Chapter • in 16 m100% C28 • Fri 17 Apr 10:14:27L AutomatedReportsCommandTest~CascadeAutomated Report Retrshow me exactyl where do we set result as sent or failedThere are 3 places total:Searched |statUS. FAILED and perormed 1 other queryFocusing only on AutomatedReportResult status transitions:STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14gitsrenort-sstatus le= AutomaredRenortResult.STATS SENITCache: : lock("report-status-{$this→>reportUuid}", 5)->block(2, function () use ($report) ‹prevort-ruvualerlsatus → Auconaredreportkesulciiolalus sawin"sent_at = nowl),STATUS_FAILED - set in 3 places:1. SendReportJob::failed() - when the dispatch/pre-send phase fails terminally (null path, S3missug, ele."SendReportJob.php:175-179public function failed(Throwable $exception): voidAutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuidl)→updatell status → AutomatedneporcResuLCi.SlAlUSFALLeOIe2. RequestGenerateReportJob - when report generation fails (before it even reaches sending):• RequestGenerateReportJob.php:252-264$this->reportResult->update(["status = Automatedkeportkesult::sIAlUs_FALLEb,"reason' => Sreason.1);Requestcenerateask.aminnvkevorto — same, Tor ASk Jiminny variant• RequestGenerateAskJiminnyReportJob.php:203-207sunus-> reportresursuodarel"status' => AutomatedRevortResult:STATUS FATLED.'reason" = $reason,1);Ö 1l -1 file +16›Ask anything (24L)+ ‹> CodeClaude Sonnet 4.6Winasun leamsReject allAccept all( 4 spaces...
|
NULL
|
|
42366
|
NULL
|
0
|
2026-04-17T07:14:27.828980+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776410067828_m1.jpg...
|
Firefox
|
Meet - Daily - Platform — Work
|
True
|
meet.google.com/mie-gawc-dsi?authuser=lukas.kovali meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
People
7
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Nikolov to your main screen
Mute Nikolay Nikolov's microphone
More options for Nikolay Nikolov
Nikolay Nikolov
Pin Steliyan Georgiev to your main screen
You can't unmute someone else
More options for Steliyan Georgiev
Steliyan Georgiev
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
You can't unmute someone else
More options for Nikolay Yankov
Nikolay Yankov
Pin Galya Dimitrova to your main screen
You can't unmute someone else
More options for Galya Dimitrova
Galya Dimitrova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Ivanov to your main screen
You can't unmute someone else
More options for Nikolay Ivanov
Nikolay Ivanov
Pin Aneliya Angelova to your main screen
You can't unmute someone else
More options for Aneliya Angelova
Aneliya Angelova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:14
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Share screen
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Daily - Platform","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.033680554,"height":0.045555554},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0013888889,"top":0.072222225,"width":0.010416667,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.0,"top":0.7977778,"width":0.033680554,"height":0.043333333},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.0,"top":0.8411111,"width":0.033680554,"height":0.038333334},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0,"top":0.8794444,"width":0.033680554,"height":0.03888889},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.0,"top":0.91833335,"width":0.033680554,"height":0.038333334},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0,"top":0.95666665,"width":0.033680554,"height":0.043333333},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"People","depth":15,"bounds":{"left":0.8871528,"top":0.08722222,"width":0.040625,"height":0.04},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.9149306,"top":0.09888889,"width":0.004513889,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Take notes with Gemini","depth":14,"bounds":{"left":0.93333334,"top":0.08722222,"width":0.025,"height":0.04},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Take notes with Gemini","depth":17,"bounds":{"left":0.9361111,"top":0.09888889,"width":0.06388891,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":17,"bounds":{"left":0.96666664,"top":0.09888889,"width":0.028125,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":17,"bounds":{"left":0.96458334,"top":0.08833333,"width":0.023611112,"height":0.037777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.25416666,"top":0.3638889,"width":0.14652778,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.3982639,"top":0.37888888,"width":0.07569444,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.37604168,"top":0.37444445,"width":0.11736111,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Nikolov to your main screen","depth":13,"bounds":{"left":0.15729167,"top":0.3122222,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Nikolay Nikolov's microphone","depth":13,"bounds":{"left":0.18506944,"top":0.31,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Nikolov","depth":13,"bounds":{"left":0.215625,"top":0.3122222,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":17,"bounds":{"left":0.057291668,"top":0.48277777,"width":0.07847222,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Steliyan Georgiev to your main screen","depth":13,"bounds":{"left":0.47430557,"top":0.3122222,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.50208336,"top":0.31,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Steliyan Georgiev","depth":13,"bounds":{"left":0.5326389,"top":0.3122222,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":17,"bounds":{"left":0.37395832,"top":0.48277777,"width":0.090625,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.88819444,"top":0.3638889,"width":0.11180556,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":1.0,"top":0.37888888,"width":-0.03229165,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":1.0,"top":0.37444445,"width":-0.0100694895,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Yankov to your main screen","depth":13,"bounds":{"left":0.79131943,"top":0.3122222,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.8190972,"top":0.31,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"bounds":{"left":0.84965277,"top":0.3122222,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Yankov","depth":17,"bounds":{"left":0.69131947,"top":0.48277777,"width":0.07673611,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Galya Dimitrova to your main screen","depth":13,"bounds":{"left":0.11736111,"top":0.70111114,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.14513889,"top":0.6988889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Galya Dimitrova","depth":13,"bounds":{"left":0.17569445,"top":0.70111114,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Galya Dimitrova","depth":17,"bounds":{"left":0.05659722,"top":0.87166667,"width":0.08194444,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.45208332,"top":0.75277776,"width":0.14652778,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.59618056,"top":0.7677778,"width":0.07569444,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.57395834,"top":0.7633333,"width":0.11736111,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Ivanov to your main screen","depth":13,"bounds":{"left":0.35520834,"top":0.70111114,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.3829861,"top":0.6988889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Ivanov","depth":13,"bounds":{"left":0.41354167,"top":0.70111114,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":17,"bounds":{"left":0.29479167,"top":0.87166667,"width":0.07395833,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Aneliya Angelova to your main screen","depth":13,"bounds":{"left":0.59305555,"top":0.70111114,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.62083334,"top":0.6988889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Aneliya Angelova","depth":13,"bounds":{"left":0.6513889,"top":0.70111114,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Aneliya Angelova","depth":17,"bounds":{"left":0.53229165,"top":0.87166667,"width":0.088541664,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.5277778,"top":0.75277776,"width":0.14652778,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.45451388,"top":0.7677778,"width":0.07569444,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.43506944,"top":0.7633333,"width":0.11736111,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"You’re continuously framed","depth":13,"bounds":{"left":0.8295139,"top":0.6988889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Backgrounds and effects","depth":13,"bounds":{"left":0.86006945,"top":0.6988889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lukas Kovalik","depth":13,"bounds":{"left":0.890625,"top":0.70111114,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.7704861,"top":0.87166667,"width":0.06875,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Others might see more of your background. Click to view your full video.","depth":14,"bounds":{"left":0.9607639,"top":0.86722225,"width":0.019444445,"height":0.031111112},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"10:14","depth":12,"bounds":{"left":0.050347224,"top":0.9444444,"width":0.027083334,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AM","depth":12,"bounds":{"left":0.08090278,"top":0.9444444,"width":0.017708333,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Daily - Platform","depth":12,"bounds":{"left":0.11597222,"top":0.9111111,"width":0.08090278,"height":0.08888888},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily - Platform","depth":15,"bounds":{"left":0.11597222,"top":0.9444444,"width":0.08090278,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Audio settings","depth":13,"bounds":{"left":0.32118055,"top":0.9288889,"width":0.06111111,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off microphone","depth":13,"bounds":{"left":0.34895834,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Video settings","depth":13,"bounds":{"left":0.38784721,"top":0.9288889,"width":0.06111111,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off camera","depth":13,"bounds":{"left":0.415625,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share screen","depth":12,"bounds":{"left":0.45451388,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Send a reaction","depth":12,"bounds":{"left":0.49895832,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn on captions","depth":13,"bounds":{"left":0.5434028,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Raise hand (ctrl + ⌘ + h)","depth":12,"bounds":{"left":0.58784723,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options","depth":12,"bounds":{"left":0.6322917,"top":0.9288889,"width":0.025,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Leave call","depth":12,"bounds":{"left":0.6628472,"top":0.9288889,"width":0.05,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Meeting details","depth":12,"bounds":{"left":0.89166665,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat with everyone","depth":12,"bounds":{"left":0.925,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Meeting tools","depth":12,"bounds":{"left":0.9583333,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-3688149237734266671
|
-6570503926848947440
|
click
|
hybrid
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
People
7
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Nikolov to your main screen
Mute Nikolay Nikolov's microphone
More options for Nikolay Nikolov
Nikolay Nikolov
Pin Steliyan Georgiev to your main screen
You can't unmute someone else
More options for Steliyan Georgiev
Steliyan Georgiev
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
You can't unmute someone else
More options for Nikolay Yankov
Nikolay Yankov
Pin Galya Dimitrova to your main screen
You can't unmute someone else
More options for Galya Dimitrova
Galya Dimitrova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Ivanov to your main screen
You can't unmute someone else
More options for Nikolay Ivanov
Nikolay Ivanov
Pin Aneliya Angelova to your main screen
You can't unmute someone else
More options for Aneliya Angelova
Aneliya Angelova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:14
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Share screen
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
FirefoxFileEditViewHistoryBookmarksProfiles→CToolsWindowHelpIaalmeet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com§ Backend Chapter • in 16 m100% <78 • Fri 17 Apr 10:14:27N*Nikolay NikolovSteliyan GeorgievNikolay YankovGalya DimitrovaNikolay IvanovAneliya Angelova-Lukas Kovalik10:14 AM | Daily - Platform• 28:35....
|
42365
|
|
42339
|
NULL
|
0
|
2026-04-17T07:09:05.179991+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776409745179_m1.jpg...
|
Firefox
|
Meet - Daily - Platform — Work
|
True
|
meet.google.com/mie-gawc-dsi?authuser=lukas.kovali meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Nikolay Yankov (Presenting, annotating)
Nikolay Yankov (Presenting, annotating)
People
8
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Unpin Nikolay Yankov's presentation from your main screen
You can't unmute someone else's presentation
More options for Nikolay Yankov
Zoom in
Open in new window
Enter Full Screen
Pin Steliyan Georgiev to your main screen
You can't unmute someone else
More options for Steliyan Georgiev
Steliyan Georgiev
Pin Galya Dimitrova to your main screen
You can't unmute someone else
More options for Galya Dimitrova
Galya Dimitrova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
Mute Nikolay Yankov's microphone
More options for Nikolay Yankov
Nikolay Yankov
3 others
3 others
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:09
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Nikolay Yankov is presenting
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
Your microphone is on....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Daily - Platform","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.033680554,"height":0.045555554},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0013888889,"top":0.072222225,"width":0.010416667,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.0,"top":0.7977778,"width":0.033680554,"height":0.043333333},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.0,"top":0.8411111,"width":0.033680554,"height":0.038333334},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0,"top":0.8794444,"width":0.033680554,"height":0.03888889},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.0,"top":0.91833335,"width":0.033680554,"height":0.038333334},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0,"top":0.95666665,"width":0.033680554,"height":0.043333333},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Nikolay Yankov (Presenting, annotating)","depth":12,"bounds":{"left":0.07534722,"top":0.101111114,"width":0.17777778,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nikolay Yankov (Presenting, annotating)","depth":13,"bounds":{"left":0.07534722,"top":0.10222222,"width":0.17777778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"People","depth":15,"bounds":{"left":0.88680553,"top":0.08944444,"width":0.04097222,"height":0.04},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"8","depth":22,"bounds":{"left":0.9145833,"top":0.101111114,"width":0.0048611113,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Take notes with Gemini","depth":14,"bounds":{"left":0.93333334,"top":0.08944444,"width":0.025,"height":0.04},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Take notes with Gemini","depth":17,"bounds":{"left":0.9361111,"top":0.101111114,"width":0.06388891,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":17,"bounds":{"left":0.96666664,"top":0.101111114,"width":0.028125,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":17,"bounds":{"left":0.96458334,"top":0.090555556,"width":0.023611112,"height":0.037777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.5798611,"top":0.62833333,"width":0.14652778,"height":0.08888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.7239583,"top":0.6427778,"width":0.08090278,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.7017361,"top":0.6388889,"width":0.11076389,"height":0.05666667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Unpin Nikolay Yankov's presentation from your main screen","depth":13,"bounds":{"left":0.346875,"top":0.5083333,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else's presentation","depth":13,"bounds":{"left":0.37465277,"top":0.5061111,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"bounds":{"left":0.40520832,"top":0.5083333,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Zoom in","depth":13,"bounds":{"left":0.6315972,"top":0.83111113,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open in new window","depth":13,"bounds":{"left":0.6649306,"top":0.83111113,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Enter Full Screen","depth":13,"bounds":{"left":0.6982639,"top":0.83111113,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pin Steliyan Georgiev to your main screen","depth":13,"bounds":{"left":0.76180553,"top":0.25111112,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.7895833,"top":0.2488889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Steliyan Georgiev","depth":13,"bounds":{"left":0.8201389,"top":0.25111112,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":17,"bounds":{"left":0.75451386,"top":0.36277777,"width":0.090625,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Galya Dimitrova to your main screen","depth":13,"bounds":{"left":0.8875,"top":0.25111112,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.9152778,"top":0.2488889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Galya Dimitrova","depth":13,"bounds":{"left":0.9458333,"top":0.25111112,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Galya Dimitrova","depth":17,"bounds":{"left":0.8802083,"top":0.36277777,"width":0.08194444,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.7861111,"top":0.5338889,"width":0.14652778,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.9302083,"top":0.54888886,"width":0.069791675,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.9079861,"top":0.54444444,"width":0.092013896,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Yankov to your main screen","depth":13,"bounds":{"left":0.76180553,"top":0.5088889,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Nikolay Yankov's microphone","depth":13,"bounds":{"left":0.7895833,"top":0.50666666,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"bounds":{"left":0.8201389,"top":0.5088889,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Yankov","depth":17,"bounds":{"left":0.75451386,"top":0.6205556,"width":0.07673611,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"3 others","depth":11,"bounds":{"left":0.871875,"top":0.40888888,"width":0.11736111,"height":0.24444444},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"3 others","depth":13,"bounds":{"left":0.9097222,"top":0.5566667,"width":0.041666668,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.8840278,"top":0.7916667,"width":0.11597222,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.8107639,"top":0.8066667,"width":0.07569444,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.79131943,"top":0.80222225,"width":0.11736111,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"You’re continuously framed","depth":13,"bounds":{"left":0.8229167,"top":0.7644445,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Backgrounds and effects","depth":13,"bounds":{"left":0.85347223,"top":0.7644445,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lukas Kovalik","depth":13,"bounds":{"left":0.8840278,"top":0.76666665,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.75381947,"top":0.87833333,"width":0.06875,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Others might see more of your background. Click to view your full video.","depth":14,"bounds":{"left":0.96631944,"top":0.875,"width":0.018055556,"height":0.028888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"10:09","depth":12,"bounds":{"left":0.050347224,"top":0.9444444,"width":0.029166667,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AM","depth":12,"bounds":{"left":0.08298611,"top":0.9444444,"width":0.017708333,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Daily - Platform","depth":12,"bounds":{"left":0.11805555,"top":0.9111111,"width":0.08055556,"height":0.08888888},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily - Platform","depth":15,"bounds":{"left":0.11805555,"top":0.9444444,"width":0.08055556,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Audio settings","depth":13,"bounds":{"left":0.32118055,"top":0.9288889,"width":0.06111111,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off microphone","depth":13,"bounds":{"left":0.34895834,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"Video settings","depth":13,"bounds":{"left":0.38784721,"top":0.9288889,"width":0.06111111,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off camera","depth":13,"bounds":{"left":0.415625,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Nikolay Yankov is presenting","depth":12,"bounds":{"left":0.45451388,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Send a reaction","depth":12,"bounds":{"left":0.49895832,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn on captions","depth":13,"bounds":{"left":0.5434028,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Raise hand (ctrl + ⌘ + h)","depth":12,"bounds":{"left":0.58784723,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options","depth":12,"bounds":{"left":0.6322917,"top":0.9288889,"width":0.025,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Leave call","depth":12,"bounds":{"left":0.6628472,"top":0.9288889,"width":0.05,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Meeting details","depth":12,"bounds":{"left":0.89166665,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat with everyone","depth":12,"bounds":{"left":0.925,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Meeting tools","depth":12,"bounds":{"left":0.9583333,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Your microphone is on.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-969826836420038562
|
-6570218053780702416
|
visual_change
|
hybrid
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Nikolay Yankov (Presenting, annotating)
Nikolay Yankov (Presenting, annotating)
People
8
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Unpin Nikolay Yankov's presentation from your main screen
You can't unmute someone else's presentation
More options for Nikolay Yankov
Zoom in
Open in new window
Enter Full Screen
Pin Steliyan Georgiev to your main screen
You can't unmute someone else
More options for Steliyan Georgiev
Steliyan Georgiev
Pin Galya Dimitrova to your main screen
You can't unmute someone else
More options for Galya Dimitrova
Galya Dimitrova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
Mute Nikolay Yankov's microphone
More options for Nikolay Yankov
Nikolay Yankov
3 others
3 others
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:09
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Nikolay Yankov is presenting
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
Your microphone is on.
FirefoxProfilesToolsWindowI46lBackend Chapter • in 21 m100% C8• Fri 17 Apr 10:09:04FileEditViewHistoryBookmarksHelp→meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.comNikolay Yankov (Presenting, annotating)ChromeFileEditViewHistoryWindowHelp8• Fri 17 Apr 10:09•$ProfilesQIntPla XFont AilCostIcProject( Fix DerK [JY-97T Project|Jiminedev.ap• dev.apdev.aphttps://jiminny.atlassian.net/jira/servicedesk/projects/SRD/queues/custom/3788-PTOCSAWS* SSH|• Home | SalesforceE Datadog* ClaudeCircleClA SentryAll BookmarksSearch+ Create: Ask Rovo@ For you• Recent|Spaces / Service-Desk / QueuesPlatform team# Starred |8: Apps|0, Spaces:= ListQ Search workRequest typeStatus vAssigneeMore filtersStarred( Service-Desk© QueuesStarredTriage2 work items• тKeySummaryPriority levelSeverity level|ReporterAssigneeStatusP2 MediumS2Stoyan TomovLukas Kovalik ANALYZING10 Platform team> Team Priority= View all queues• Service requestsSRD-6793Les Mills activity types notpulling inIssue with reconnecting ZohoP2 MediumS2Stoyan TanevLukas Kovalik IN PROGRESSA IncidentsLal Reports@ Knowledge Base& CustomersQ Channels|• Email logs|%› Developer escalationsrils Slack integration§ Reporting Center& Archived work itemsmeet.google.comNikolay Yankor (You, prese.-Jiminny (Old)10:09 AM | Daily - Platform...Steliyan GeorgievNikolay YankovLukas Kovalik23:12=Galya Dimitrova3 others...
|
NULL
|
|
42338
|
NULL
|
0
|
2026-04-17T07:09:02.394251+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776409742394_m2.jpg...
|
Firefox
|
Meet - Daily - Platform — Work
|
True
|
meet.google.com/mie-gawc-dsi?authuser=lukas.kovali meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Nikolay Yankov (Presenting, annotating)
Nikolay Yankov (Presenting, annotating)
People
8
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Unpin Nikolay Yankov's presentation from your main screen
You can't unmute someone else's presentation
More options for Nikolay Yankov
Zoom in
Open in new window
Enter Full Screen
Pin Steliyan Georgiev to your main screen
You can't unmute someone else
More options for Steliyan Georgiev
Steliyan Georgiev
Pin Galya Dimitrova to your main screen
You can't unmute someone else
More options for Galya Dimitrova
Galya Dimitrova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
Mute Nikolay Yankov's microphone
More options for Nikolay Yankov
Nikolay Yankov
3 others
3 others
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:09
AM
Daily - Platform
Daily - Platform
Audio settings
Turn on microphone
Video settings
Turn off camera
Nikolay Yankov is presenting
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
Turn on microphone (⌘ + d)
Your microphone is off....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Daily - Platform","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.018945312,"height":-0.045138836},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.23398438,"top":1.0,"width":0.005859375,"height":-0.045138836},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.23652343,"top":1.0,"width":0.0125,"height":-0.07500005},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Nikolay Yankov (Presenting, annotating)","depth":12,"bounds":{"left":0.27558595,"top":1.0,"width":0.1,"height":-0.063194394},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nikolay Yankov (Presenting, annotating)","depth":13,"bounds":{"left":0.27558595,"top":1.0,"width":0.1,"height":-0.06388891},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"People","depth":15,"bounds":{"left":0.7320312,"top":1.0,"width":0.023046875,"height":-0.05590272},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"8","depth":22,"bounds":{"left":0.7476562,"top":1.0,"width":0.002734375,"height":-0.063194394},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Take notes with Gemini","depth":14,"bounds":{"left":0.75820315,"top":1.0,"width":0.0140625,"height":-0.05590272},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Take notes with Gemini","depth":17,"bounds":{"left":0.7597656,"top":1.0,"width":0.051171876,"height":-0.063194394},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":17,"bounds":{"left":0.7769531,"top":1.0,"width":0.015820313,"height":-0.063194394},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":17,"bounds":{"left":0.7757813,"top":1.0,"width":0.01328125,"height":-0.056597233},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Unpin Nikolay Yankov's presentation from your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else's presentation","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Zoom in","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open in new window","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Enter Full Screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pin Steliyan Georgiev to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Steliyan Georgiev","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Galya Dimitrova to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Galya Dimitrova","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Galya Dimitrova","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Yankov to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Nikolay Yankov's microphone","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Yankov","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"3 others","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"3 others","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"You’re continuously framed","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Backgrounds and effects","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lukas Kovalik","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Others might see more of your background. Click to view your full video.","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"10:09","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AM","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Daily - Platform","depth":12,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily - Platform","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Audio settings","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn on microphone","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"Video settings","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off camera","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Nikolay Yankov is presenting","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Send a reaction","depth":12,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn on captions","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Raise hand (ctrl + ⌘ + h)","depth":12,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Leave call","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Meeting details","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat with everyone","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Meeting tools","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Turn on microphone (⌘ + d)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Your microphone is off.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
6592352385635699690
|
-6570218053680039120
|
click
|
hybrid
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Nikolay Yankov (Presenting, annotating)
Nikolay Yankov (Presenting, annotating)
People
8
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Unpin Nikolay Yankov's presentation from your main screen
You can't unmute someone else's presentation
More options for Nikolay Yankov
Zoom in
Open in new window
Enter Full Screen
Pin Steliyan Georgiev to your main screen
You can't unmute someone else
More options for Steliyan Georgiev
Steliyan Georgiev
Pin Galya Dimitrova to your main screen
You can't unmute someone else
More options for Galya Dimitrova
Galya Dimitrova
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
Mute Nikolay Yankov's microphone
More options for Nikolay Yankov
Nikolay Yankov
3 others
3 others
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:09
AM
Daily - Platform
Daily - Platform
Audio settings
Turn on microphone
Video settings
Turn off camera
Nikolay Yankov is presenting
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
Turn on microphone (⌘ + d)
Your microphone is off.
SackFileEditHistoryWindowJiminny ...DMs= Unreadse) Threads6 HuddlesDrafts & sent:8 DirectoriesAchivityEh External connectionsFiles* Starred& jiminny-x-integrati...platform-inner-teamMore# Channels# ai-chapter# alerts# backends contlicion-clinia# curiosity lab# engineering# frontendi# general# infra-changes# jiminny-bg# platrorm-uckets# product_launchesac random* releases# sofia-office# support# thank-yous# the people of iimi..Direct messages(3 Aneliya Angelova, ...®. Galya Dimitrova0. Nikolay NikolovR. Stoyan Tanev€. Vasil Vasilev8. Nikolay IvanovP. Aneliya AngelovaP. Vese. Steliyan Georgiev::: AppsJ Jira CloudoastGoogle Cale..HelpSearch Jiminny IncToastMessagesAbout#479 JY-19967: Upgrade all Python libs- part3 by @*Yesterday ~(l merged by @Steliyan Georgiev (author) after approval by @Nikolay YankovReview Toast APP 5:52 PMPR review requested by @Nikolay Nikolov#11976 JY-20553 | Improve crm-sync delays by ®Nikolay Nikolov|20 commits • 14 files changedJIRA:JY-40553Deployment notes:• NoneChanges:Show morejiminny/app | Added by Toast for GitHubPR review requested by @Vasil Vasilev#11980 Jy 20541 remove crm contract method by @Vasil Vasilev| 38 commits • 25 files changedJIRA: JY-20541 + Generic sanitationDescription:A cleanup of some CRM functionality that has been pushed as a common basecontract for all CRMs to implement, but is necessary for SF only (usually).Claude Sonnet 4.6 helped a lot.Show morejiminny/app | Added by Toast for GitHubPR review requested by @Vasil Vasilev#11980 Jy 20541 remove crm contract method by @Vasil Vasilev| 38 commits • 25 files changedJIRA: JY-20541 + Generic sanitationDescription:A cleanup of some CRM functionality that has been pushed as a common basecontract for all CRMs to implement, but is necessary for SF only (usually).Claude Sonnet 4.6 helped a lot.Show morelminnvlaodAdded ovloast for Git-ubKeview oast APP 7-51PMPnev ew eluesteay astelvan ueorev#482 JY-19967: Update FastAPI init by @Steliyan Georgiev| 1 commit • 1 file changedIminnv/orophet Added oy loast for Githuoapproved by nikolaybiaivanovAdded by Toast for githublodav"Toast APP 10:00 AMReviewapp#11980 Jy 20541 remove crm contract methodMessage ToastAa= laravel.logA SF [jiminny@localhost]& Hs local liminnyalocalnost< console LUiC* scratch_1.jsonV connect.vueA console [PROD] xX:AutovPlayground ~* from automated_reports where id = 36;ar. frequency, r.*, ar.* from automated_report_resultsrtomated_reports ar on r.cepontoid = ar.igar. frequeney != 'one_off';Ma liminnv v034 41 A33 X61 As.* from activity_searches s join users u 1.n<->1: ON s.user_id = u.id whe* from nudges n where n.activity_search_id* from teams where created_at > '2026-03-09';* FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065* FROM crm_layout_entities WHERE crm_layout_id = 3617;* from users where team_id = 1 and name like'%Lukas%'; # 7160* FRUM Teams WHERE 10 = 5/5:* tron 0pportunumes where team 1o = 575.* FROM teams WHERE name LIKE '%Integrum ES6%'; # 1126, 1065,* TNO1Ioooortunimes wiere teall 10 = 1140%* FROM teams WHERE name LIKE "%Base%'; # 1125, 1063,* from opportunities where team_id = 1125;* from contacts c;.team_id = 882;* FROM actIVItIes VHERE 10 = 168229671* FROM crm_profiles WHERE user_id = 15440;* -rur con ororlles whrkecrm_configuration_id = 555;* rkur cen contlourarlons wiokb 1o = 555.* FROM users WHERE id = 15440; # team. 581, gr.15440, pl. 3911, act.ICAT(u.id, CASE WHEN U.id = t.owner_id THEN(owner)' ELSE"' END) AS usermail,wner_id FROM social_accounts sasers u on u.id = sa.sociable_idsams t 1..n<->1: on t.id = u.team_id1.team_id = 581 and sa.provider = 'salesforce':* FRoM aucomaced_report_results order by la desc;* Trol Tearures.* from team_features where feature id = 40:* from teams where id = 556;* from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b* FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248* from automated_report_results order by id desc;* FROM automated_report_results WHERE id = 1919;* from automated_report_results WHERE ceRontaid = 54;Backend Chapter • in 21 m100% C28 • Fri 17 Apr 10:09:02L AutomatedReportsCommandTest~CascadeAutomated Report Retrshow me exactyl where do we set result as sent or failedThere are 3 places total:Searched |statUS. FAILED and perormed 1 other queryFocusing only on AutomatedReportResult status transitions:STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14gitsrenort-sstatus le= AutomaredRenortResult.STATS SENITCache: : lock("report-status-{$this→>reportUuid}", 5)->block(2, function () use ($report) ‹prevort-ruvualerlsatus → Auconaredreportkesulciiolalus sawir"sent_at = nowl),STATUS_FAILED - set in 3 places:1. SendReportJob::failed() - when the dispatch/pre-send phase fails terminally (null path, S3missug, ele."SendReportJob.php:175-179public function failed(Throwable $exception): voidAutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuidl)→updatell status → AutomatedneporcResuLCi.SlAlUSFALLeOIe2. RequestGenerateReportJob - when report generation fails (before it even reaches sending):• RequestGenerateReportJob.php:252-264$this->reportResult->update(["status = Automatedkeportkesult::sIAlUs_FALLEb,"reason' => Sreason.1);Requestcenerateask.aminnvkevorto — same, Tor ASk Jiminny variant• RequestGenerateAskJiminnyReportJob.php:203-207sunus-> reportresursuodarel"status' => AutomatedRevortResult:STATUS FATLED.'reason" = $reason,1);Ö 1l -1 file +16›Ask anything (24L)+ ‹> CodeClaude Sonnet 4.6Winasun leamsReject allAccept all( 4 spaces...
|
42335
|
|
42316
|
NULL
|
0
|
2026-04-17T07:04:21.952029+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776409461952_m1.jpg...
|
Firefox
|
Meet - Daily - Platform — Work
|
True
|
meet.google.com/mie-gawc-dsi?authuser=lukas.kovali meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Nikolay Yankov (Presenting, annotating)
Nikolay Yankov (Presenting, annotating)
People
8
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Unpin Nikolay Yankov's presentation from your main screen
You can't unmute someone else's presentation
More options for Nikolay Yankov
Zoom in
Open in new window
Enter Full Screen
Pin Steliyan Georgiev to your main screen
Mute Steliyan Georgiev's microphone
More options for Steliyan Georgiev
Steliyan Georgiev
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Nikolov to your main screen
You can't unmute someone else
More options for Nikolay Nikolov
Nikolay Nikolov
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
You can't unmute someone else
More options for Nikolay Yankov
Nikolay Yankov
3 others
3 others
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:04
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Nikolay Yankov is presenting
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
Your microphone is on....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Daily - Platform","depth":4,"bounds":{"left":0.0,"top":0.072222225,"width":0.033680554,"height":0.045555554},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0013888889,"top":0.072222225,"width":0.010416667,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.005902778,"top":0.12,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.0,"top":0.7977778,"width":0.033680554,"height":0.043333333},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.0,"top":0.8411111,"width":0.033680554,"height":0.038333334},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0,"top":0.8794444,"width":0.033680554,"height":0.03888889},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.0,"top":0.91833335,"width":0.033680554,"height":0.038333334},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0,"top":0.95666665,"width":0.033680554,"height":0.043333333},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Nikolay Yankov (Presenting, annotating)","depth":12,"bounds":{"left":0.07534722,"top":0.101111114,"width":0.17777778,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nikolay Yankov (Presenting, annotating)","depth":13,"bounds":{"left":0.07534722,"top":0.10222222,"width":0.17777778,"height":0.020555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"People","depth":15,"bounds":{"left":0.88680553,"top":0.08944444,"width":0.04097222,"height":0.04},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"8","depth":22,"bounds":{"left":0.9145833,"top":0.101111114,"width":0.0048611113,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Take notes with Gemini","depth":14,"bounds":{"left":0.93333334,"top":0.08944444,"width":0.025,"height":0.04},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Take notes with Gemini","depth":17,"bounds":{"left":0.9361111,"top":0.101111114,"width":0.06388891,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":17,"bounds":{"left":0.96666664,"top":0.101111114,"width":0.028125,"height":0.017222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":17,"bounds":{"left":0.96458334,"top":0.090555556,"width":0.023611112,"height":0.037777778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.5798611,"top":0.62833333,"width":0.14652778,"height":0.08888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.7239583,"top":0.6427778,"width":0.08090278,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.7017361,"top":0.6388889,"width":0.11076389,"height":0.05666667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Unpin Nikolay Yankov's presentation from your main screen","depth":13,"bounds":{"left":0.346875,"top":0.5083333,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else's presentation","depth":13,"bounds":{"left":0.37465277,"top":0.5061111,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"bounds":{"left":0.40520832,"top":0.5083333,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Zoom in","depth":13,"bounds":{"left":0.6315972,"top":0.83111113,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open in new window","depth":13,"bounds":{"left":0.6649306,"top":0.83111113,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Enter Full Screen","depth":13,"bounds":{"left":0.6982639,"top":0.83111113,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pin Steliyan Georgiev to your main screen","depth":13,"bounds":{"left":0.76180553,"top":0.25111112,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Steliyan Georgiev's microphone","depth":13,"bounds":{"left":0.7895833,"top":0.2488889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Steliyan Georgiev","depth":13,"bounds":{"left":0.8201389,"top":0.25111112,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":17,"bounds":{"left":0.75451386,"top":0.36277777,"width":0.090625,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.91180557,"top":0.27611113,"width":0.08819443,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":1.0,"top":0.2911111,"width":-0.05590272,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":1.0,"top":0.28666666,"width":-0.03368056,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Nikolov to your main screen","depth":13,"bounds":{"left":0.8875,"top":0.25111112,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.9152778,"top":0.2488889,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Nikolov","depth":13,"bounds":{"left":0.9458333,"top":0.25111112,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":17,"bounds":{"left":0.8802083,"top":0.36277777,"width":0.07847222,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.7861111,"top":0.5338889,"width":0.14652778,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.9302083,"top":0.54888886,"width":0.069791675,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.9079861,"top":0.54444444,"width":0.092013896,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Yankov to your main screen","depth":13,"bounds":{"left":0.76180553,"top":0.5088889,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"bounds":{"left":0.7895833,"top":0.50666666,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"bounds":{"left":0.8201389,"top":0.5088889,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Yankov","depth":17,"bounds":{"left":0.75451386,"top":0.6205556,"width":0.07673611,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"3 others","depth":11,"bounds":{"left":0.871875,"top":0.40888888,"width":0.11736111,"height":0.24444444},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"3 others","depth":13,"bounds":{"left":0.9097222,"top":0.5566667,"width":0.041666668,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"bounds":{"left":0.8840278,"top":0.7916667,"width":0.11597222,"height":0.07722222},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"bounds":{"left":0.8107639,"top":0.8066667,"width":0.07569444,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"bounds":{"left":0.79131943,"top":0.80222225,"width":0.11736111,"height":0.045},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"You’re continuously framed","depth":13,"bounds":{"left":0.8229167,"top":0.7644445,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Backgrounds and effects","depth":13,"bounds":{"left":0.85347223,"top":0.7644445,"width":0.030555556,"height":0.04888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lukas Kovalik","depth":13,"bounds":{"left":0.8840278,"top":0.76666665,"width":0.027777778,"height":0.044444446},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.75381947,"top":0.87833333,"width":0.06875,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Others might see more of your background. Click to view your full video.","depth":14,"bounds":{"left":0.96631944,"top":0.875,"width":0.018055556,"height":0.028888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"10:04","depth":12,"bounds":{"left":0.050347224,"top":0.9444444,"width":0.029513888,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AM","depth":12,"bounds":{"left":0.083333336,"top":0.9444444,"width":0.017708333,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Daily - Platform","depth":12,"bounds":{"left":0.11840278,"top":0.9111111,"width":0.08090278,"height":0.08888888},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily - Platform","depth":15,"bounds":{"left":0.11840278,"top":0.9444444,"width":0.08090278,"height":0.022777777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Audio settings","depth":13,"bounds":{"left":0.32118055,"top":0.9288889,"width":0.06111111,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off microphone","depth":13,"bounds":{"left":0.34895834,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"Video settings","depth":13,"bounds":{"left":0.38784721,"top":0.9288889,"width":0.06111111,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off camera","depth":13,"bounds":{"left":0.415625,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Nikolay Yankov is presenting","depth":12,"bounds":{"left":0.45451388,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Send a reaction","depth":12,"bounds":{"left":0.49895832,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn on captions","depth":13,"bounds":{"left":0.5434028,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Raise hand (ctrl + ⌘ + h)","depth":12,"bounds":{"left":0.58784723,"top":0.9288889,"width":0.03888889,"height":0.053333335},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options","depth":12,"bounds":{"left":0.6322917,"top":0.9288889,"width":0.025,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Leave call","depth":12,"bounds":{"left":0.6628472,"top":0.9288889,"width":0.05,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Meeting details","depth":12,"bounds":{"left":0.89166665,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat with everyone","depth":12,"bounds":{"left":0.925,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Meeting tools","depth":12,"bounds":{"left":0.9583333,"top":0.9288889,"width":0.033333335,"height":0.053333335},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Your microphone is on.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-4771214827233183495
|
-6570503926720038096
|
idle
|
hybrid
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Nikolay Yankov (Presenting, annotating)
Nikolay Yankov (Presenting, annotating)
People
8
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Unpin Nikolay Yankov's presentation from your main screen
You can't unmute someone else's presentation
More options for Nikolay Yankov
Zoom in
Open in new window
Enter Full Screen
Pin Steliyan Georgiev to your main screen
Mute Steliyan Georgiev's microphone
More options for Steliyan Georgiev
Steliyan Georgiev
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Nikolov to your main screen
You can't unmute someone else
More options for Nikolay Nikolov
Nikolay Nikolov
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
You can't unmute someone else
More options for Nikolay Yankov
Nikolay Yankov
3 others
3 others
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:04
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Nikolay Yankov is presenting
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
Your microphone is on.
FirefoxProfilesTools+FileEditViewHistoryBookmarksWindowHelp→meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.comNikolay Yankov (Presenting, annotating)ChromeFileEditViewHistolyHelp*IntPla9 ServiceFont ACostIcF Project• Fix Der|[JY-97F ProjectJiminndev.ap• dev.ap|[URL_WITH_CREDENTIALS] x Shiji - Reconnecting the platformThe Jiminny owner_id: 18101MAINT,Ready fe1 nteam_id: 556The social account is on full refresh, and I noticed that we do not have the provider_refresh_token available.JY-2Could you please assist? I had a discussion with Lukas, and he advised me to raise a ticket as the issue might be with theintegration app.AI Repipage dipromotAJ REPSBacklog6 .cc: @Calum Scott @Oliver Harris @Georgi BayraktarovSubtasksAdd subtask[) JY-2Send email10:04 AM | Daily - PlatformLộ3In Dev v* Improve Service RequestDetails|Assigneee Lukas KovalikAssign to meReporter© Lukas Kovalik2 Quick start developmentLink this work item to your code byincluding kevs when creatino abranch, cmeet.google.combelow. LeDismissNkolay Yankov (You, prese.-DevelopmentQ Open with VS d}J Create branch4 Create commitDaily - Platform • 1 m leftA100% <478• Fri 17 Apr 10:04:21=0 88• Fri 17 Apr 10:04dev.ap0 All Bookmarks**Steliyan GeorgievNikolay Nikolov3 othersNikolay YankovLukas Kovalik18:29...
|
NULL
|
|
42315
|
NULL
|
0
|
2026-04-17T07:04:17.384408+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776409457384_m2.jpg...
|
Firefox
|
Meet - Daily - Platform — Work
|
True
|
meet.google.com/mie-gawc-dsi?authuser=lukas.kovali meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Nikolay Yankov (Presenting, annotating)
Nikolay Yankov (Presenting, annotating)
People
8
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Unpin Nikolay Yankov's presentation from your main screen
You can't unmute someone else's presentation
More options for Nikolay Yankov
Zoom in
Open in new window
Enter Full Screen
Pin Steliyan Georgiev to your main screen
Mute Steliyan Georgiev's microphone
More options for Steliyan Georgiev
Steliyan Georgiev
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Nikolov to your main screen
You can't unmute someone else
More options for Nikolay Nikolov
Nikolay Nikolov
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
You can't unmute someone else
More options for Nikolay Yankov
Nikolay Yankov
3 others
3 others
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:04
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Nikolay Yankov is presenting
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
Your microphone is on....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Meet - Daily - Platform","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.018945312,"height":-0.045138836},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.23398438,"top":1.0,"width":0.005859375,"height":-0.045138836},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.23652343,"top":1.0,"width":0.0125,"height":-0.07500005},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Nikolay Yankov (Presenting, annotating)","depth":12,"bounds":{"left":0.27558595,"top":1.0,"width":0.1,"height":-0.063194394},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Nikolay Yankov (Presenting, annotating)","depth":13,"bounds":{"left":0.27558595,"top":1.0,"width":0.1,"height":-0.06388891},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"People","depth":15,"bounds":{"left":0.7320312,"top":1.0,"width":0.023046875,"height":-0.05590272},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"8","depth":22,"bounds":{"left":0.7476562,"top":1.0,"width":0.002734375,"height":-0.063194394},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Take notes with Gemini","depth":14,"bounds":{"left":0.75820315,"top":1.0,"width":0.0140625,"height":-0.05590272},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Take notes with Gemini","depth":17,"bounds":{"left":0.7597656,"top":1.0,"width":0.051171876,"height":-0.063194394},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini","depth":17,"bounds":{"left":0.7769531,"top":1.0,"width":0.015820313,"height":-0.063194394},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Gemini","depth":17,"bounds":{"left":0.7757813,"top":1.0,"width":0.01328125,"height":-0.056597233},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Unpin Nikolay Yankov's presentation from your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else's presentation","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Zoom in","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open in new window","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Enter Full Screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pin Steliyan Georgiev to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Mute Steliyan Georgiev's microphone","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Steliyan Georgiev","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Nikolov to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Nikolov","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pin Nikolay Yankov to your main screen","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"You can't unmute someone else","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Nikolay Yankov","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Yankov","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"3 others","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"3 others","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pop out this video More screens are more fun. Play this video while you do other things.","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pop out this video","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More screens are more fun. Play this video while you do other things.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"You’re continuously framed","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Backgrounds and effects","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options for Lukas Kovalik","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Others might see more of your background. Click to view your full video.","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"10:04","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AM","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Daily - Platform","depth":12,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily - Platform","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Audio settings","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off microphone","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"Video settings","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off camera","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Nikolay Yankov is presenting","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Send a reaction","depth":12,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn on captions","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Raise hand (ctrl + ⌘ + h)","depth":12,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More options","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Leave call","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Meeting details","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat with everyone","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Meeting tools","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Your microphone is on.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-4771214827233183495
|
-6570503926720038096
|
idle
|
hybrid
|
NULL
|
Meet - Daily - Platform
Close tab
New Tab
Open Goo Meet - Daily - Platform
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Nikolay Yankov (Presenting, annotating)
Nikolay Yankov (Presenting, annotating)
People
8
Take notes with Gemini
Take notes with Gemini
Gemini
Gemini
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Unpin Nikolay Yankov's presentation from your main screen
You can't unmute someone else's presentation
More options for Nikolay Yankov
Zoom in
Open in new window
Enter Full Screen
Pin Steliyan Georgiev to your main screen
Mute Steliyan Georgiev's microphone
More options for Steliyan Georgiev
Steliyan Georgiev
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Nikolov to your main screen
You can't unmute someone else
More options for Nikolay Nikolov
Nikolay Nikolov
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
Pin Nikolay Yankov to your main screen
You can't unmute someone else
More options for Nikolay Yankov
Nikolay Yankov
3 others
3 others
Pop out this video More screens are more fun. Play this video while you do other things.
Pop out this video
More screens are more fun. Play this video while you do other things.
You’re continuously framed
Backgrounds and effects
More options for Lukas Kovalik
Lukas Kovalik
Others might see more of your background. Click to view your full video.
10:04
AM
Daily - Platform
Daily - Platform
Audio settings
Turn off microphone
Video settings
Turn off camera
Nikolay Yankov is presenting
Send a reaction
Turn on captions
Raise hand (ctrl + ⌘ + h)
More options
Leave call
Meeting details
Chat with everyone
Meeting tools
Your microphone is on.
SackFileEditHistoryWindowHelpJiminny ...DMs= Unreadse) Threads6 HuddlesDrafts & sent:8 DirectoriesAchivityEh External connectionsFiles* Starred& jiminny-x-integrati...platform-inner-teamMore# Channels# ai-chapter# alerts# backends contlicien-clinia# curiosity lab# engineering# frontendi# general# infra-changes# jiminny-bg# platrorm-uckets# product_launchesac random* releases# sofia-office# support# thank-yous# the people of iimi..Direct messages(3 Aneliya Angelova, ...®. Galya Dimitrova0. Nikolay Nikolovao Stoyan Tanev€. Vasil Vasilev8. Nikolay IvanovP. Aneliya Angelova DP. Ves&. Steliyan Georgiev::: AppsJ Jira CloudoastGoogle Cale..Search Jiminny IncToastMessagesAbout#479 JY-19967: Upgrade all Python libs- part3 by @*Yesterday~(l merged by @Steliyan Georgiev (author) after approval by @Nikolay YankovReview Toast APP 5:52 PMPR review requested by @Nikolay Nikolov#11976 JY-20553 | Improve crm-sync delays by ®Nikolay Nikolov|20 commits • 14 files changedJIRA:JY-40553Deployment notes:• NoneChanges:Show morejiminny/app | Added by Toast for GitHubPR review requested by @Vasil Vasilev#11980 Jy 20541 remove crm contract method by @Vasil Vasilev| 38 commits • 25 files changedJIRA: JY-20541 + Generic sanitationDescription:A cleanup of some CRM functionality that has been pushed as a common basecontract for all CRMs to implement, but is necessary for SF only (usually).Claude Sonnet 4.6 helped a lot.Show morejiminny/app | Added by Toast for GitHubPR review requested by @Vasil Vasilev#11980 Jy 20541 remove crm contract method by @Vasil Vasilev| 38 commits • 25 files changedJIRA: JY-20541 + Generic sanitationDescription:A cleanup of some CRM functionality that has been pushed as a common basecontract for all CRMs to implement, but is necessary for SF only (usually).Claude Sonnet 4.6 helped a lot.Show morelminnvlaodAdded ovloast for Git-ubKeview oast APP 7-51PMPnev ew elesteay astelvan ueorev#482 JY-19967: Update FastAPI init by @Steliyan Georgiev| 1 commit • 1 file changedIminnv/orophet Added oy loast for Githuoapproved by nikolaybiaivanovAdded by Toast for githublodav"Toast APP 10:00 AMReviewapp#11980 Jy 20541 remove crm contract methodMessage ToastAa= laravel.logA SF [jiminny@localhost]& Hs local liminnyalocalnost< console LUiC* scratch_1.jsonV connect.vueA console [PROD] xX:AutovPlayground* from automated_reports where id = 36;ar. frequency, r.*, ar.* from automated_report_resultsrtomated_reports ar on r.cepontoid = ar.igar. frequeney != 'one_off';Ma liminnv v034 41 A33 X61 As.* from activity_searches s join users u 1.n<->1: ON s.user_id = u.id whe* from nudges n where n.activity_search_id* from teams where created_at > '2026-03-09';* FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065* FROM crm_layout_entities WHERE crm_layout_id = 3617;* from users where team_id = 1 and name like'%Lukas%'; # 7160* FRUM Teams WHERE 10 = 5/5:* tron 0pportunumes where team 1o = 575.* FROM teams WHERE name LIKE '%Integrum ES6%'; # 1126, 1065,* TNO1Ioooortunimes wiere teall 10 = 1140%* FROM teams WHERE name LIKE "%Base%'; # 1125, 1063,* from opportunities where team_id = 1125;* from contacts c:.team_id = 882;* FROM actIVItIes VHERE 10 = 168229671* FROM crm_profiles WHERE user_id = 15440;* -rur con ororlles whrkecrm_configuration_id = 555;* rkur cen contlourarlons wiokb 1o = 555.* FROM users WHERE id = 15440; # team. 581, gr.15440, pl. 3911, act.ICAT(u.id, CASE WHEN U.id = t.owner_id THEN(owner)' ELSE"' END) AS usermail,wner_id FROM social_accounts sasers u on u.id = sa.sociable_idsams t 1..n<->1: on t.id = u.team_id1.team_id = 581 and sa.provider = 'salesforce':* FRoM aucomaced_report_results order by la desc;* Trol Tearures.* from team_features where feature id = 40:* from teams where id = 556;* from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b* FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248* from automated_report_results order by id desc;* FROM automated_report_results WHERE id = 1919;* from automated_report_results WHERE cepontaid = 54;labl| Daily - Platform • 1 m left[A|100% C28 • Fri 17 Apr 10:04:17L AutomatedReportsCommandTest~CascadeAutomated Report Retrshow me exactyl where do we set result as sent or failedThere are 3 places total:Searched |staIS. FAILED and perormed 1 other queryFocusing only on AutomatedReportResult status transitions:STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14gitsrenort-sstatus le= AutomaredRenortResult.STATS SENITCache: : lock("report-status-{$this→>reportUuid}", 5)->block(2, function () use ($report) ‹prevort-ruvualerlsatus → Auconaredreportkesulciiolalus sawir"sent_at = nowl),STATUS_FAILED - set in 3 places:1. SendReportJob::failed() - when the dispatch/pre-send phase fails terminally (null path, S3missing, etc.):SendReportJob.php:175-179public function failed(Throwable $exception): voidAutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuidl)→updatell status → AutomatedneporcResuLCi.SlAlUSFALLeOIe2. RequestGenerateReportJob - when report generation fails (before it even reaches sending):• RequestGenerateReportJob.php:252-264$this->reportResult->update(["status = Automatedkeportkesult::sIAlUs_FALLEb,"reason' => Sreason.1);Requestcenerateask.aminnvkevorto — same, Tor ASk Jiminny variant• RequestGenerateAskJiminnyReportJob.php:203-207sunus-> reportresursuodarel"status' => AutomatedRevortResult:STATUS FATLED.'reason" = $reason,1);Ö 1l -1 file +16›Ask anything (24L)+ ‹> CodeClaude Sonnet 4.6Winasun leamsReject allAccept all( 4 spaces...
|
42313
|
|
42276
|
NULL
|
0
|
2026-04-17T06:59:13.444177+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776409153444_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp> 0.laloDaily - Platform - 6 m left100% 128 • Fri 17 Apr 9:59:13meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com8Nikolay Yankov (Presenting, annotating)ChromeEditViewHistoryProfiesWindowHelpInbS ServiclJ Font AlCost |cF Project• Fix De:|[JY-97F Projecthttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-1996788Home | SalesforceFa Datadog* Claudel© CircleCkPlatform Team88Q Sear$ Jy-12249 / ₴ JY-19967|READY FUpgrade Python and libraries - AprReworkPhase:Nudge!woot-tv DescriptionBacklog5 .0[ JY-2https://github.com/jiminny/prephet/security/dependabotSubtasksInvesticwhy exAdd subtaskMAINTIReady fel1 nLinked work itemsAdd linked work itemBJY-2ActivityAJlComments|HistoryWork log=÷AI Repipage dpromotAJ REPSBacklogAdd a comment...Status update…Thanks…Agree….O JY-2Send email9:59 AM | Daily - PlatformLộ3dev.ap@ dev.ap8• Fri 17 Apr 9:59dev.ap0 All BookmarksSteliyan GeorgievNikolay IvanovIn Dev v4* Improve Technical StoryDetails|Assignee3 Stellyan GeorgievAssign to meReporter& Stefka StoyanovaDevelopment@ Open with V5 branches13 commits4 pull requests4 buildsReleasesA› Production7 See all deploy3 othersNikolay NankoyPop out this videomeet.google.comNkolay Yankor (You, prese.-.Lukas Kovalik13:20...
|
NULL
|
-9108942547882832424
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp> 0.laloDaily - Platform - 6 m left100% 128 • Fri 17 Apr 9:59:13meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.com8Nikolay Yankov (Presenting, annotating)ChromeEditViewHistoryProfiesWindowHelpInbS ServiclJ Font AlCost |cF Project• Fix De:|[JY-97F Projecthttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-1996788Home | SalesforceFa Datadog* Claudel© CircleCkPlatform Team88Q Sear$ Jy-12249 / ₴ JY-19967|READY FUpgrade Python and libraries - AprReworkPhase:Nudge!woot-tv DescriptionBacklog5 .0[ JY-2https://github.com/jiminny/prephet/security/dependabotSubtasksInvesticwhy exAdd subtaskMAINTIReady fel1 nLinked work itemsAdd linked work itemBJY-2ActivityAJlComments|HistoryWork log=÷AI Repipage dpromotAJ REPSBacklogAdd a comment...Status update…Thanks…Agree….O JY-2Send email9:59 AM | Daily - PlatformLộ3dev.ap@ dev.ap8• Fri 17 Apr 9:59dev.ap0 All BookmarksSteliyan GeorgievNikolay IvanovIn Dev v4* Improve Technical StoryDetails|Assignee3 Stellyan GeorgievAssign to meReporter& Stefka StoyanovaDevelopment@ Open with V5 branches13 commits4 pull requests4 buildsReleasesA› Production7 See all deploy3 othersNikolay NankoyPop out this videomeet.google.comNkolay Yankor (You, prese.-.Lukas Kovalik13:20...
|
42275
|
|
42274
|
NULL
|
0
|
2026-04-17T06:59:10.048767+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776409150048_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
SackFileFoitViewHistoryWindowHelpSearch Jiminny In SackFileFoitViewHistoryWindowHelpSearch Jiminny IncJiminny ...& jiminn... & 18= UnreadsMessagesMore ve) ThreadsDMs6d Huddles• Drafts & sent8 DirectoriesAchivityEh External connectionsFiles* Starred@ iminny-x-integrati..platform-inner-teamchannes* ai-chapterMore# alerts# backendcontlicion-clinia# curiosity lab# engineering# frontendi# general# infra-changes#: liminny-bg# platform-tickets#: product launchesac random# releases# soha-ofhce#: supportac thank-vous# the people of iimi..Direct messages3 Aneliva Angelova. ..i% Galya Dimitrova• Nikolay Nikolovno Stoyan TanevVasil VasilevNikolay Ivanov0 Aneliva Angelova5 VeoStelivan GeorgievADDST Jira CloudoastDecember 15th, 2025crosePartners as vart ur vur roundingCohort for Selt-IntegrationsRead more here: [URL_WITH_CREDENTIALS] Jun sra. 2025 View messageĐ10 replies Lascreoly10 external people are fromMemaraneMessage 8jiminny-x-integration-…AaTihread"description": "What is the type of your Zohoaccount you want to connect to?","default": "production"Membrane Al Assistant APP Yesterday at 1:49 PMAh. I see now! You're referring to the connection object field in the API responsenot webhook events. You're right - there's been a change from disconnected toconnected in the APl response.Looking at your APl response:• Old held: "disconnected": false• New held: "connected": trueThis is a breaking change that aftects the logic you built around checkingconnection status. Ine boolean logic is also invertea ( ausconnected: talse =connection is active, wnile connected: true = connection is acuive).Let me escalate this to the team to connirm wnen this change was introduced andwnether both nelas are temporarily supported during a transition period, or ir youneed to update your code immediately to use the connected field instead ofon sconnectediIve escalated unis to our engineering team to get clarincauon on the Arl change.They'l get back to you short y with details about when this change was introducedand guidance on how to handle it in your codeMembrane Al Assistant APP Yesterday at 2:26 PMGood news! I've investigated the APl change and here's what I found:Both fields are still returned - no breaking change!The APl response now includes bothiconnected: true (new canonical field)disconnected: false deprecated but still returned for backwardcompatibility)What happened:On April 3. 2026, we updated the platform to use connected as the primary heldinstead of disconnected for better code readability. However, to ensure backwardcompatibility, the APl automatically derives and includes the disconnected held inall responses (disconnected = ! connected )What this means for you:Your existing code using disconnected will continue to workNo immediate code changes are requiredYou can migrate to using connected whenever convenientIne aisconnected neld is marked as deprecatea but there s no removauimeline announceeWhen vou do migrate remember the logic is inverted:onsconnected. rolse = connectea.true connecnonis acavedisconnected: true = connected: false (connection needs re-authentication)10 external people are from MembraneReply…_ Also send to jiminny-x-integration-app= laravel.loge SF (iminny@localhostrscratch_l..sonV connect.vue& Hs local liminnyalocalnost< console LUiL console (PROD1 XX:AutovPlayground vMa liminnv v034 A1 A33 У.61 ^* from automated_reports where 10 = 36;ar.treguency, r.*, ar.* trom aucomaced_report_results rcomaced_reporus ar on r.report 1d = ar.10ar-trequency !="one_ort";s.* from activity searches s ioin users u 1.n<->1: ON s.user id = u.id whe* from nudges n where n.activity_search_id* from teams where created at > "2026-03-09':* FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065* FROM crm_layout_entitles WHERE crm_layout_1d = 361/7;* From usens where team 1d = 1 and name uike"%LUkaS%; # 7160* FRUM Teams WHERE 10 = 5/5;* tron 0pportunumes where tean 10 = 575.* FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,* TNO1Iopportunities where team id = 1126:* FROM teams WHERE name LIKE "%Base%"; # 1125, 1063,* from opportunities where team_ id = 1125:* from contacts cc.team_1d = 882:* FROM activities WHERE 1d = 76822967:* FRUM crm_prorILes WHERE User_1d = 154401* Fror cen orortles wieke cen cont.ourat.oooo 5994* rkur cen contlourarlons wiokb 1o = 555.* FROM users WHERE id = 15440: # team. 581. ar. 15440. pl. 3911. act.ICAT(u.id, CASE WHEN u.id = t.owner_id THEN'(owner)' ELSE "' END AS userHlllaLl.swner_id FROM social_accounts sasers u on u.ld = sa.soclable_1dsams t l..n‹->l: on t.1d = u.team_1dJ.team_1d = 581 and sa.provider = 'salestorce':* FROM automated report_results order by 10 desc;* Troll Teatu* from team_features where feature id = 40:* from teams where id = 556:* from automated_reports where 1d = 54; # 4fdd41f6-dcf0-30d0-0339-73453810* FROM automated_report_results WHERE vu1d_to_b1n('822fa41b-afd3-43a9-a240* from automated_report_results order by 1d desc;* FRUM aucomaced_report_resulus WHERt 10 = 19171* tron auronated revonresults WHERE report id = 54;libdDaily - Platform • 6m left100% [45)• Fri 17 Apr 9:59:09CascadeAutomated Report Retshow me exactyl where do we set result as sent or failedThere are 3 places total:Searched |staUS. FAILED and perormed 1 other queryFocusina onlv on AutomatedReportResult status transitions.STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14gitsrenort-sstatus le= AutomaredRenortResult.STATS SENITcache:: lock("report-status-i$this->reportUuid,, 5)->block(2, function () use (Sreport) ‹prevort-ruvualerlsatus → Auconaredreportkesulciiolalus sawin"sent_at = nowl),STATUS_FAILED - set in 3 places:1. SendReportJob::failed() - when the dispatch/pre-send phase fails terminally (null path, Ssmissug, ele."SendReportJob.php:175-179public function failed (Throwable Sexception): voidAutomatedReportResult::whereRaw('uuid = uuid to bin(?)'. [$this→>reportUuidl)→updatelL status → AutonatedKeportResuLciiSlAlUS FALLeU,2. RequestGenerateReportJob - when report generation fails (before it even reaches sending):• RequestGenerateReportJob.php:252-264$this->reportResult->update(["status = Automatedkeportkesult::sIAlUs_FALLEb,'reason" = $reason,J9HRequestcenerateask.aminnvkevorto — same, Tor ASk Jiminny variant• RequestGenerateAskJiminnyReportJob.php:203-207sunus-> reportresursuodarel"status' => AutomatedRevortResult:STATUS FATLED.'reason" = $reason,J9HWnal "1 file +16>Ask anything (&+L)+ ‹> CodeClaude Sonnet 4.6Winasun leam:Reject allAccept allCa 4 spaces...
|
NULL
|
2369706588458956556
|
NULL
|
visual_change
|
ocr
|
NULL
|
SackFileFoitViewHistoryWindowHelpSearch Jiminny In SackFileFoitViewHistoryWindowHelpSearch Jiminny IncJiminny ...& jiminn... & 18= UnreadsMessagesMore ve) ThreadsDMs6d Huddles• Drafts & sent8 DirectoriesAchivityEh External connectionsFiles* Starred@ iminny-x-integrati..platform-inner-teamchannes* ai-chapterMore# alerts# backendcontlicion-clinia# curiosity lab# engineering# frontendi# general# infra-changes#: liminny-bg# platform-tickets#: product launchesac random# releases# soha-ofhce#: supportac thank-vous# the people of iimi..Direct messages3 Aneliva Angelova. ..i% Galya Dimitrova• Nikolay Nikolovno Stoyan TanevVasil VasilevNikolay Ivanov0 Aneliva Angelova5 VeoStelivan GeorgievADDST Jira CloudoastDecember 15th, 2025crosePartners as vart ur vur roundingCohort for Selt-IntegrationsRead more here: [URL_WITH_CREDENTIALS] Jun sra. 2025 View messageĐ10 replies Lascreoly10 external people are fromMemaraneMessage 8jiminny-x-integration-…AaTihread"description": "What is the type of your Zohoaccount you want to connect to?","default": "production"Membrane Al Assistant APP Yesterday at 1:49 PMAh. I see now! You're referring to the connection object field in the API responsenot webhook events. You're right - there's been a change from disconnected toconnected in the APl response.Looking at your APl response:• Old held: "disconnected": false• New held: "connected": trueThis is a breaking change that aftects the logic you built around checkingconnection status. Ine boolean logic is also invertea ( ausconnected: talse =connection is active, wnile connected: true = connection is acuive).Let me escalate this to the team to connirm wnen this change was introduced andwnether both nelas are temporarily supported during a transition period, or ir youneed to update your code immediately to use the connected field instead ofon sconnectediIve escalated unis to our engineering team to get clarincauon on the Arl change.They'l get back to you short y with details about when this change was introducedand guidance on how to handle it in your codeMembrane Al Assistant APP Yesterday at 2:26 PMGood news! I've investigated the APl change and here's what I found:Both fields are still returned - no breaking change!The APl response now includes bothiconnected: true (new canonical field)disconnected: false deprecated but still returned for backwardcompatibility)What happened:On April 3. 2026, we updated the platform to use connected as the primary heldinstead of disconnected for better code readability. However, to ensure backwardcompatibility, the APl automatically derives and includes the disconnected held inall responses (disconnected = ! connected )What this means for you:Your existing code using disconnected will continue to workNo immediate code changes are requiredYou can migrate to using connected whenever convenientIne aisconnected neld is marked as deprecatea but there s no removauimeline announceeWhen vou do migrate remember the logic is inverted:onsconnected. rolse = connectea.true connecnonis acavedisconnected: true = connected: false (connection needs re-authentication)10 external people are from MembraneReply…_ Also send to jiminny-x-integration-app= laravel.loge SF (iminny@localhostrscratch_l..sonV connect.vue& Hs local liminnyalocalnost< console LUiL console (PROD1 XX:AutovPlayground vMa liminnv v034 A1 A33 У.61 ^* from automated_reports where 10 = 36;ar.treguency, r.*, ar.* trom aucomaced_report_results rcomaced_reporus ar on r.report 1d = ar.10ar-trequency !="one_ort";s.* from activity searches s ioin users u 1.n<->1: ON s.user id = u.id whe* from nudges n where n.activity_search_id* from teams where created at > "2026-03-09':* FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065* FROM crm_layout_entitles WHERE crm_layout_1d = 361/7;* From usens where team 1d = 1 and name uike"%LUkaS%; # 7160* FRUM Teams WHERE 10 = 5/5;* tron 0pportunumes where tean 10 = 575.* FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,* TNO1Iopportunities where team id = 1126:* FROM teams WHERE name LIKE "%Base%"; # 1125, 1063,* from opportunities where team_ id = 1125:* from contacts cc.team_1d = 882:* FROM activities WHERE 1d = 76822967:* FRUM crm_prorILes WHERE User_1d = 154401* Fror cen orortles wieke cen cont.ourat.oooo 5994* rkur cen contlourarlons wiokb 1o = 555.* FROM users WHERE id = 15440: # team. 581. ar. 15440. pl. 3911. act.ICAT(u.id, CASE WHEN u.id = t.owner_id THEN'(owner)' ELSE "' END AS userHlllaLl.swner_id FROM social_accounts sasers u on u.ld = sa.soclable_1dsams t l..n‹->l: on t.1d = u.team_1dJ.team_1d = 581 and sa.provider = 'salestorce':* FROM automated report_results order by 10 desc;* Troll Teatu* from team_features where feature id = 40:* from teams where id = 556:* from automated_reports where 1d = 54; # 4fdd41f6-dcf0-30d0-0339-73453810* FROM automated_report_results WHERE vu1d_to_b1n('822fa41b-afd3-43a9-a240* from automated_report_results order by 1d desc;* FRUM aucomaced_report_resulus WHERt 10 = 19171* tron auronated revonresults WHERE report id = 54;libdDaily - Platform • 6m left100% [45)• Fri 17 Apr 9:59:09CascadeAutomated Report Retshow me exactyl where do we set result as sent or failedThere are 3 places total:Searched |staUS. FAILED and perormed 1 other queryFocusina onlv on AutomatedReportResult status transitions.STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14gitsrenort-sstatus le= AutomaredRenortResult.STATS SENITcache:: lock("report-status-i$this->reportUuid,, 5)->block(2, function () use (Sreport) ‹prevort-ruvualerlsatus → Auconaredreportkesulciiolalus sawin"sent_at = nowl),STATUS_FAILED - set in 3 places:1. SendReportJob::failed() - when the dispatch/pre-send phase fails terminally (null path, Ssmissug, ele."SendReportJob.php:175-179public function failed (Throwable Sexception): voidAutomatedReportResult::whereRaw('uuid = uuid to bin(?)'. [$this→>reportUuidl)→updatelL status → AutonatedKeportResuLciiSlAlUS FALLeU,2. RequestGenerateReportJob - when report generation fails (before it even reaches sending):• RequestGenerateReportJob.php:252-264$this->reportResult->update(["status = Automatedkeportkesult::sIAlUs_FALLEb,'reason" = $reason,J9HRequestcenerateask.aminnvkevorto — same, Tor ASk Jiminny variant• RequestGenerateAskJiminnyReportJob.php:203-207sunus-> reportresursuodarel"status' => AutomatedRevortResult:STATUS FATLED.'reason" = $reason,J9HWnal "1 file +16>Ask anything (&+L)+ ‹> CodeClaude Sonnet 4.6Winasun leam:Reject allAccept allCa 4 spaces...
|
42272
|
|
42214
|
NULL
|
0
|
2026-04-17T06:54:06.721716+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776408846721_m2.jpg...
|
Firefox
|
Workers | Datadog — Work
|
True
|
app.datadoghq.com/dashboard/8dc-jtf-87d/workers?fr app.datadoghq.com/dashboard/8dc-jtf-87d/workers?fromUser=false&refresh_mode=paused&tpl_var_environment[0]=prod&from_ts=1776027600000&to_ts=1776200399999&live=false...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Workers | Datadog
Platform Sprint 2 Q2 - Platform Workers | Datadog
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
New Tab
New Tab
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
CloudWatch | us-east-2
CloudWatch | us-east-2
Configure SSH access to multiple environment - Engineering - Confluence
Configure SSH access to multiple environment - Engineering - Confluence
Console Home | Console Home | eu-west-1
Console Home | Console Home | eu-west-1
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to main content
Skip to main content
Home
Hide menu
Minimize menu
Go to…
Go to…
Bits AI
Bits AI
Dashboards
Dashboards
Monitoring
Monitoring
Incident Response
Incident Response
Automation
Automation
Infrastructure
Infrastructure
Cloud Cost
Cloud Cost
APM
APM
Digital Experience
Digital Experience
Software Delivery
Software Delivery
Security
Security
Data Observability
Data Observability
AI Observability
AI Observability
Errors
Errors
Metrics
Metrics
Logs
Logs
Integrations
Integrations
Profile
[EMAIL]
Jiminny, Inc.
Support
Support
NEW Help
NEW
Help
Favorite this dashboard
Workers
Workers
Edit dashboard title, description & tags
Show sharing menu
Show sharing menu
Show anomaly detection configuration
Show anomaly detection configuration
Show Overlays
Open dashboard options
Keyboard Shortcuts
Keyboard Shortcuts
Copy widget
Hover over widget
⌘
+
C
Lock/unlock time cursor
L
Show/hide legend inspector
H
or
`
Collapse hovered group
Hover
+
C
Open hovered group
Hover
+
O
Open/Collapse all groups
Opt
+
Click
Open full screen view
Double-click on widget header
Double-Click
Toggle TV mode
F
Open/close shortcut panel
Shift
+
?
Open/close anomaly insights
⌘
+
I
Request Edit Access
Saved Views
Saved Views
Filter by:
environment
prod
prod
aws_account
*
*
2d
Apr 13, 12:00 am – Apr 14, 11:59 pm
Pin time
UTC+03:00
Step Back
Play
Step Forward
Zoom Out Time Range
Download
Collapse group (C) Download DYNAMIC GROUP
Collapse group (C)
Download
DYNAMIC GROUP
Slowest Jobs
Slowest Jobs...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Workers | Datadog","depth":4,"bounds":{"left":0.00234375,"top":0.045138888,"width":0.0890625,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXRadioButton","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.08263889,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.015625,"top":0.09236111,"width":0.11875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":4,"bounds":{"left":0.0,"top":0.11111111,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":5,"bounds":{"left":0.015625,"top":0.12083333,"width":0.11171875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.13958333,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.015625,"top":0.14930555,"width":0.017578125,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Symfony\\Component\\Debug\\Exception\\FatalThrowableError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line","depth":4,"bounds":{"left":0.0,"top":0.16805555,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Symfony\\Component\\Debug\\Exception\\FatalThrowableError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line","depth":5,"bounds":{"left":0.015625,"top":0.17777778,"width":0.53398436,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"CloudWatch | us-east-2","depth":4,"bounds":{"left":0.0,"top":0.19652778,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CloudWatch | us-east-2","depth":5,"bounds":{"left":0.015625,"top":0.20625,"width":0.0484375,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Configure SSH access to multiple environment - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.225,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Configure SSH access to multiple environment - Engineering - Confluence","depth":5,"bounds":{"left":0.015625,"top":0.23472223,"width":0.1515625,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Console Home | Console Home | eu-west-1","depth":4,"bounds":{"left":0.0,"top":0.2534722,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Console Home | Console Home | eu-west-1","depth":5,"bounds":{"left":0.015625,"top":0.26319444,"width":0.0875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.28194445,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.015625,"top":0.29166666,"width":0.017578125,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.003125,"top":0.31180555,"width":0.08710937,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.003125,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.01640625,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.029296875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0421875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.05546875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to main content","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to main content","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Home","depth":10,"bounds":{"left":0.09375,"top":0.045138888,"width":0.0625,"height":0.09583333},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Hide menu","depth":10,"bounds":{"left":0.09609375,"top":0.049305554,"width":0.0078125,"height":0.013888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Minimize menu","depth":10,"bounds":{"left":0.14609376,"top":0.049305554,"width":0.0078125,"height":0.013888889},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Go to…","depth":9,"bounds":{"left":0.09375,"top":0.14513889,"width":0.0625,"height":0.025},"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Go to…","depth":13,"bounds":{"left":0.109375,"top":0.15138888,"width":0.0171875,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Bits AI","depth":11,"bounds":{"left":0.09375,"top":0.18125,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bits AI","depth":14,"bounds":{"left":0.109375,"top":0.1875,"width":0.015234375,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Dashboards","depth":11,"bounds":{"left":0.09375,"top":0.20625,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dashboards","depth":14,"bounds":{"left":0.109375,"top":0.2125,"width":0.02890625,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Monitoring","depth":11,"bounds":{"left":0.09375,"top":0.23125,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Monitoring","depth":14,"bounds":{"left":0.109375,"top":0.2375,"width":0.0265625,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Incident Response","depth":11,"bounds":{"left":0.09375,"top":0.25625,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Incident Response","depth":14,"bounds":{"left":0.109375,"top":0.2625,"width":0.044140626,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Automation","depth":11,"bounds":{"left":0.09375,"top":0.28125,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automation","depth":14,"bounds":{"left":0.109375,"top":0.2875,"width":0.028125,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Infrastructure","depth":11,"bounds":{"left":0.09375,"top":0.31736112,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Infrastructure","depth":14,"bounds":{"left":0.109375,"top":0.3236111,"width":0.033203125,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Cloud Cost","depth":11,"bounds":{"left":0.09375,"top":0.34236112,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Cloud Cost","depth":14,"bounds":{"left":0.109375,"top":0.34861112,"width":0.02578125,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"APM","depth":11,"bounds":{"left":0.09375,"top":0.3673611,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"APM","depth":14,"bounds":{"left":0.109375,"top":0.37361112,"width":0.0109375,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Digital Experience","depth":11,"bounds":{"left":0.09375,"top":0.3923611,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Digital Experience","depth":14,"bounds":{"left":0.109375,"top":0.3986111,"width":0.04296875,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Software Delivery","depth":11,"bounds":{"left":0.09375,"top":0.4173611,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Software Delivery","depth":14,"bounds":{"left":0.109375,"top":0.4236111,"width":0.041796874,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security","depth":11,"bounds":{"left":0.09375,"top":0.44236112,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security","depth":14,"bounds":{"left":0.109375,"top":0.4486111,"width":0.019140625,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Data Observability","depth":11,"bounds":{"left":0.09375,"top":0.46736112,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Data Observability","depth":14,"bounds":{"left":0.109375,"top":0.47361112,"width":0.044140626,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"AI Observability","depth":11,"bounds":{"left":0.09375,"top":0.4923611,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI Observability","depth":14,"bounds":{"left":0.109375,"top":0.49861112,"width":0.0375,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Errors","depth":11,"bounds":{"left":0.09375,"top":0.52847224,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Errors","depth":14,"bounds":{"left":0.109375,"top":0.5347222,"width":0.014453125,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Metrics","depth":11,"bounds":{"left":0.09375,"top":0.5534722,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Metrics","depth":14,"bounds":{"left":0.109375,"top":0.55972224,"width":0.017578125,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Logs","depth":11,"bounds":{"left":0.09375,"top":0.5784722,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Logs","depth":14,"bounds":{"left":0.109375,"top":0.5847222,"width":0.011328125,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Integrations","depth":11,"bounds":{"left":0.09375,"top":0.90625,"width":0.0625,"height":0.025},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Integrations","depth":14,"bounds":{"left":0.109375,"top":0.9125,"width":0.029296875,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Profile","depth":11,"bounds":{"left":0.09375,"top":0.93125,"width":0.0625,"height":0.025},"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"lukas.kovalik@jiminny.com","depth":15,"bounds":{"left":0.11015625,"top":0.9444444,"width":0.06367187,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny, Inc.","depth":16,"bounds":{"left":0.11015625,"top":0.94375,"width":0.02421875,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Support","depth":8,"bounds":{"left":0.09375,"top":0.9652778,"width":0.03125,"height":0.03472221},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Support","depth":10,"bounds":{"left":0.10117187,"top":0.9847222,"width":0.01640625,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"NEW Help","depth":8,"bounds":{"left":0.125,"top":0.9652778,"width":0.03125,"height":0.03472221},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"NEW","depth":10,"bounds":{"left":0.1359375,"top":0.9583333,"width":0.009375,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Help","depth":10,"bounds":{"left":0.1359375,"top":0.9847222,"width":0.009375,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Favorite this dashboard","depth":11,"bounds":{"left":0.1625,"top":0.058333334,"width":0.00703125,"height":0.0125},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Workers","depth":12,"bounds":{"left":0.17226562,"top":0.054166667,"width":0.031640626,"height":0.020833334},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Workers","depth":13,"bounds":{"left":0.17226562,"top":0.054166667,"width":0.031640626,"height":0.020833334},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit dashboard title, description & tags","depth":12,"bounds":{"left":0.20390625,"top":0.05486111,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show sharing menu","depth":10,"bounds":{"left":0.75039065,"top":0.05486111,"width":0.030859375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show sharing menu","depth":11,"bounds":{"left":0.75039065,"top":0.05486111,"width":0.030859375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show anomaly detection configuration","depth":9,"bounds":{"left":0.78515625,"top":0.05486111,"width":0.042578124,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show anomaly detection configuration","depth":10,"bounds":{"left":0.78515625,"top":0.05486111,"width":0.042578124,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show Overlays","depth":10,"bounds":{"left":0.8316406,"top":0.05486111,"width":0.05234375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open dashboard options","depth":9,"bounds":{"left":0.88789064,"top":0.05486111,"width":0.041015625,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Keyboard Shortcuts","depth":11,"bounds":{"left":1.0,"top":0.061805554,"width":-0.016015649,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keyboard Shortcuts","depth":12,"bounds":{"left":1.0,"top":0.061805554,"width":-0.016015649,"height":0.022222223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Copy widget","depth":12,"bounds":{"left":1.0,"top":0.09861111,"width":-0.022265673,"height":0.028472222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hover over widget","depth":13,"bounds":{"left":1.0,"top":0.12777779,"width":-0.022265673,"height":0.022222223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"⌘","depth":14,"bounds":{"left":1.0,"top":0.097222224,"width":-0.08554685,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":13,"bounds":{"left":1.0,"top":0.097222224,"width":-0.0929687,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"C","depth":14,"bounds":{"left":1.0,"top":0.097222224,"width":-0.09843755,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lock/unlock time cursor","depth":12,"bounds":{"left":1.0,"top":0.16458334,"width":-0.022265673,"height":0.060416665},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"L","depth":14,"bounds":{"left":1.0,"top":0.16319445,"width":-0.09843755,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Show/hide legend inspector","depth":12,"bounds":{"left":1.0,"top":0.24027778,"width":-0.022265673,"height":0.044444446},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"H","depth":14,"bounds":{"left":1.0,"top":0.23888889,"width":-0.080078125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"or","depth":13,"bounds":{"left":1.0,"top":0.23819445,"width":-0.087890625,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"`","depth":14,"bounds":{"left":1.0,"top":0.23888889,"width":-0.09843755,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Collapse hovered group","depth":12,"bounds":{"left":1.0,"top":0.3,"width":-0.022265673,"height":0.044444446},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hover","depth":14,"bounds":{"left":1.0,"top":0.2986111,"width":-0.076171875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":13,"bounds":{"left":1.0,"top":0.2986111,"width":-0.0929687,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"C","depth":14,"bounds":{"left":1.0,"top":0.2986111,"width":-0.09843755,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open hovered group","depth":12,"bounds":{"left":1.0,"top":0.35972223,"width":-0.022265673,"height":0.044444446},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hover","depth":14,"bounds":{"left":1.0,"top":0.35833332,"width":-0.076171875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":13,"bounds":{"left":1.0,"top":0.35833332,"width":-0.0929687,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"O","depth":14,"bounds":{"left":1.0,"top":0.35833332,"width":-0.09843755,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open/Collapse all groups","depth":12,"bounds":{"left":1.0,"top":0.41944444,"width":-0.022265673,"height":0.044444446},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opt","depth":14,"bounds":{"left":1.0,"top":0.41805556,"width":-0.07070315,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":13,"bounds":{"left":1.0,"top":0.41805556,"width":-0.0816406,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click","depth":14,"bounds":{"left":1.0,"top":0.41805556,"width":-0.08710933,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open full screen view","depth":12,"bounds":{"left":1.0,"top":0.47916666,"width":-0.022265673,"height":0.044444446},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Double-click on widget header","depth":13,"bounds":{"left":1.0,"top":0.5243056,"width":-0.022265673,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Double-Click","depth":14,"bounds":{"left":1.0,"top":0.47777778,"width":-0.067968726,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Toggle TV mode","depth":12,"bounds":{"left":1.0,"top":0.57222223,"width":-0.022265673,"height":0.028472222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"F","depth":14,"bounds":{"left":1.0,"top":0.5708333,"width":-0.09843755,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open/close shortcut panel","depth":12,"bounds":{"left":1.0,"top":0.6159722,"width":-0.022265673,"height":0.060416665},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shift","depth":14,"bounds":{"left":1.0,"top":0.6145833,"width":-0.076171875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":13,"bounds":{"left":1.0,"top":0.6145833,"width":-0.0929687,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"?","depth":14,"bounds":{"left":1.0,"top":0.6145833,"width":-0.09843755,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open/close anomaly insights","depth":12,"bounds":{"left":1.0,"top":0.69166666,"width":-0.022265673,"height":0.060416665},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"⌘","depth":14,"bounds":{"left":1.0,"top":0.69027776,"width":-0.08554685,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+","depth":13,"bounds":{"left":1.0,"top":0.69027776,"width":-0.0929687,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I","depth":14,"bounds":{"left":1.0,"top":0.69027776,"width":-0.09843755,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Request Edit Access","depth":9,"bounds":{"left":0.9328125,"top":0.05486111,"width":0.05546875,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Saved Views","depth":9,"bounds":{"left":0.1625,"top":0.084027775,"width":0.046875,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Saved Views","depth":11,"bounds":{"left":0.16679688,"top":0.0875,"width":0.02890625,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Filter by:","depth":10,"bounds":{"left":0.22265625,"top":0.0875,"width":0.0203125,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"environment","depth":13,"bounds":{"left":0.24921875,"top":0.077083334,"width":0.026171874,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"prod","depth":14,"bounds":{"left":0.24921875,"top":0.0875,"width":0.011328125,"height":0.0125},"value":"prod","help_text":"","placeholder":"*","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"prod","depth":15,"bounds":{"left":0.24921875,"top":0.0875,"width":0.011328125,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"aws_account","depth":13,"bounds":{"left":0.31953126,"top":0.077083334,"width":0.02578125,"height":0.011111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"*","depth":14,"bounds":{"left":0.31953126,"top":0.0875,"width":0.002734375,"height":0.0125},"value":"*","help_text":"","placeholder":"*","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"*","depth":15,"bounds":{"left":0.31953126,"top":0.0875,"width":0.002734375,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2d","depth":11,"bounds":{"left":0.81328124,"top":0.0875,"width":0.00625,"height":0.0125},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Apr 13, 12:00 am – Apr 14, 11:59 pm","depth":10,"bounds":{"left":0.8066406,"top":0.084027775,"width":0.13203125,"height":0.019444445},"value":"Apr 13, 12:00 am – Apr 14, 11:59 pm","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Pin time","depth":10,"bounds":{"left":0.9203125,"top":0.084027775,"width":0.009375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"UTC+03:00","depth":11,"bounds":{"left":0.82851565,"top":0.07847222,"width":0.01953125,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Step Back","depth":10,"bounds":{"left":0.9421875,"top":0.084027775,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Play","depth":10,"bounds":{"left":0.95273435,"top":0.084027775,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Step Forward","depth":10,"bounds":{"left":0.9632813,"top":0.084027775,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Zoom Out Time Range","depth":9,"bounds":{"left":0.97734374,"top":0.084027775,"width":0.0109375,"height":0.019444445},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Download","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Collapse group (C) Download DYNAMIC GROUP","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Collapse group (C)","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Download","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DYNAMIC GROUP","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Slowest Jobs","depth":15,"bounds":{"left":0.36875,"top":0.0,"width":0.0046875,"height":0.004166667},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Slowest Jobs","depth":17,"bounds":{"left":0.36914062,"top":0.0,"width":0.19765624,"height":0.021527778},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8489522977425310390
|
6203912243310204866
|
idle
|
accessibility
|
NULL
|
Workers | Datadog
Platform Sprint 2 Q2 - Platform Workers | Datadog
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
New Tab
New Tab
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
CloudWatch | us-east-2
CloudWatch | us-east-2
Configure SSH access to multiple environment - Engineering - Confluence
Configure SSH access to multiple environment - Engineering - Confluence
Console Home | Console Home | eu-west-1
Console Home | Console Home | eu-west-1
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to main content
Skip to main content
Home
Hide menu
Minimize menu
Go to…
Go to…
Bits AI
Bits AI
Dashboards
Dashboards
Monitoring
Monitoring
Incident Response
Incident Response
Automation
Automation
Infrastructure
Infrastructure
Cloud Cost
Cloud Cost
APM
APM
Digital Experience
Digital Experience
Software Delivery
Software Delivery
Security
Security
Data Observability
Data Observability
AI Observability
AI Observability
Errors
Errors
Metrics
Metrics
Logs
Logs
Integrations
Integrations
Profile
[EMAIL]
Jiminny, Inc.
Support
Support
NEW Help
NEW
Help
Favorite this dashboard
Workers
Workers
Edit dashboard title, description & tags
Show sharing menu
Show sharing menu
Show anomaly detection configuration
Show anomaly detection configuration
Show Overlays
Open dashboard options
Keyboard Shortcuts
Keyboard Shortcuts
Copy widget
Hover over widget
⌘
+
C
Lock/unlock time cursor
L
Show/hide legend inspector
H
or
`
Collapse hovered group
Hover
+
C
Open hovered group
Hover
+
O
Open/Collapse all groups
Opt
+
Click
Open full screen view
Double-click on widget header
Double-Click
Toggle TV mode
F
Open/close shortcut panel
Shift
+
?
Open/close anomaly insights
⌘
+
I
Request Edit Access
Saved Views
Saved Views
Filter by:
environment
prod
prod
aws_account
*
*
2d
Apr 13, 12:00 am – Apr 14, 11:59 pm
Pin time
UTC+03:00
Step Back
Play
Step Forward
Zoom Out Time Range
Download
Collapse group (C) Download DYNAMIC GROUP
Collapse group (C)
Download
DYNAMIC GROUP
Slowest Jobs
Slowest Jobs...
|
42212
|
|
42213
|
NULL
|
0
|
2026-04-17T06:53:41.671622+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776408821671_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp01meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.comNikolay Yankov (Presenting, annotating)ChromeFileViewHistoryProfilesHelpIntPla9 ServicrFont AiCostIcF Project• Fix Der|[JY-97F Projecthttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-2055388MIHome | SalesforceEa DatadogPlatform Team88Q Sear$ Jy-20285 / [ JY-20553|READY FDelays in CRM SyncReworkPhase:NudgesCOST-Ebackicy5 .0•$v Descriptioncrm_sync queue consistently contains messages with 18+ hours age, meanwhile the number of messages is not huge,therefore more worker won't help. Please make sure that the messages in this queue are processed timely - for not morethan 1-2 minutes.A JY-2|Investicwhy exFontawMAINTIReady fe1 nApproximate Age Of Oldest Message* is an AWS SQS metric that measures:The time elapsed since the oldest message was added to the queue and is still waiting to be received (picked up by aworker) |D JY-2AI Repipage dipromotAJ REPSBacklog6 .0Metric ValueMeaning19 hoursA message (job) was dispatched 19 hours ago and has notyet been picked up by any worker[ JY-2SubtasksSend emailNotion9:53 AMDaily*dev.ap• dev.ap||OCTLUTYCode Review vDetailsAssigneeNikolay NikolovAssign to meReporter8 Stefka StoyanovaDevelopmentQ Open with VS Code1 branch30 commits1 pull request1 buildComponentsPlatformSub-ProductAdd optionsDaily - Platform • now100% 123 • Fri 17 Apr 9:53:418Q8• Fri 17 Apr 9:53dev.ap0 All BookmarksNikolay NikolovNikolay Ivanov** Improve Story3 othersNikolay Yankovmeet.google.comNkolay Yarkov (You, prese.-PSLukas Kovalik7:49...
|
NULL
|
-2809356230587412007
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp01meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.comNikolay Yankov (Presenting, annotating)ChromeFileViewHistoryProfilesHelpIntPla9 ServicrFont AiCostIcF Project• Fix Der|[JY-97F Projecthttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-2055388MIHome | SalesforceEa DatadogPlatform Team88Q Sear$ Jy-20285 / [ JY-20553|READY FDelays in CRM SyncReworkPhase:NudgesCOST-Ebackicy5 .0•$v Descriptioncrm_sync queue consistently contains messages with 18+ hours age, meanwhile the number of messages is not huge,therefore more worker won't help. Please make sure that the messages in this queue are processed timely - for not morethan 1-2 minutes.A JY-2|Investicwhy exFontawMAINTIReady fe1 nApproximate Age Of Oldest Message* is an AWS SQS metric that measures:The time elapsed since the oldest message was added to the queue and is still waiting to be received (picked up by aworker) |D JY-2AI Repipage dipromotAJ REPSBacklog6 .0Metric ValueMeaning19 hoursA message (job) was dispatched 19 hours ago and has notyet been picked up by any worker[ JY-2SubtasksSend emailNotion9:53 AMDaily*dev.ap• dev.ap||OCTLUTYCode Review vDetailsAssigneeNikolay NikolovAssign to meReporter8 Stefka StoyanovaDevelopmentQ Open with VS Code1 branch30 commits1 pull request1 buildComponentsPlatformSub-ProductAdd optionsDaily - Platform • now100% 123 • Fri 17 Apr 9:53:418Q8• Fri 17 Apr 9:53dev.ap0 All BookmarksNikolay NikolovNikolay Ivanov** Improve Story3 othersNikolay Yankovmeet.google.comNkolay Yarkov (You, prese.-PSLukas Kovalik7:49...
|
42211
|
|
42134
|
NULL
|
0
|
2026-04-17T06:48:40.503468+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776408520503_m1.jpg...
|
PhpStorm
|
faVsco.js – RequestGenerateReportJob.php
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\ApiResponseException;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages from this job
*/
private const string LOG_PREFIX = '[Report:Generate]';
private const int MIN_ACTIVITIES_COUNT = 10;
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
private readonly string $reportUuid;
private ?AutomatedReportResult $reportResult = null;
private ?AutomatedReportResult $reportResultPodcast = null;
public function __construct(string $reportUuid)
{
$this->reportUuid = $reportUuid;
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
ProphetClient $prophetClient,
LoggerInterface $logger
): void {
$logger->info(self::LOG_PREFIX . ' - Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport(uuid: $this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$this->createResults(automatedReport: $automatedReport, reportService: $reportService);
$payload = $reportService->getGenerateReportPayload(
automatedReport: $automatedReport,
reportResultUuid: $this->reportResult->getUuid()
);
$now = Carbon::now();
$this->reportResult->update([
'payload' => $payload,
'requested_at' => $now,
]);
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'payload' => $payload,
'requested_at' => $now,
]);
}
if (! $this->checkActivityCount($prophetClient, $payload, $logger)) {
return;
}
$now = Carbon::now();
// send generate report request
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => $now,
]);
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'name' => $reportService->getReportFileName($this->reportResultPodcast),
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => $now,
]);
}
$logger->info(self::LOG_PREFIX . ' - Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::EXEC_REPORT,
requestArray: $payload
);
$logger->info(self::LOG_PREFIX . ' - Response received', ['response' => $response->getContent()]);
} catch (Throwable $exception) {
$reportUuid = null;
$reason = $exception instanceof ProphetException ?
AutomatedReportResult::REASON_PROPHET_API_ERROR : AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(
self::LOG_PREFIX . ' - Error',
[
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $reportUuid,
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]
);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' - Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' - Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' - Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function createResults(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService
): void {
$mediaTypes = $automatedReport->getMediaTypes();
// handle PDF or podcast
if (count($mediaTypes) === 1) {
$this->reportResult = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => $mediaTypes[0],
]
);
return;
}
// handle multiple media types
// create PDF as primary result
$this->reportResult = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
if (in_array(AutomatedReportsService::MEDIA_TYPE_PODCAST, $mediaTypes, true)) {
$this->reportResultPodcast = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'media_type' => AutomatedReportsService::MEDIA_TYPE_PODCAST,
'parent_id' => $this->reportResult->getId(),
]
);
}
}
private function checkActivityCount(ProphetClient $prophetClient, array $payload, LoggerInterface $logger): bool
{
$logger->info(self::LOG_PREFIX . ' - Request activities count', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
// validate expected activities count before sending request
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::EXEC_REPORT_COUNT,
requestArray: $payload
);
$content = $response->getContent();
if (! isset($content['response'])) {
throw new ApiResponseException('Error getting activities count');
}
$logger->info(self::LOG_PREFIX . ' - Get activities count', $content);
$count = (int) $content['response'];
if ($count < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' - Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
if (isset($this->reportResult)) {
$this->reportResult->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
34
1
33
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Jiminny\\Component\\ProphetAi\\Exceptions\\ProphetException;\nuse Jiminny\\Component\\ProphetAi\\ProphetClient;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\ApiResponseException;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique\n{\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages from this job\n */\n private const string LOG_PREFIX = '[Report:Generate]';\n\n private const int MIN_ACTIVITIES_COUNT = 10;\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n private readonly string $reportUuid;\n private ?AutomatedReportResult $reportResult = null;\n private ?AutomatedReportResult $reportResultPodcast = null;\n\n public function __construct(string $reportUuid)\n {\n $this->reportUuid = $reportUuid;\n $this->onQueue(Constants::QUEUE_ANALYTICS);\n }\n\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n\n public function handle(\n AutomatedReportsService $reportService,\n ProphetClient $prophetClient,\n LoggerInterface $logger\n ): void {\n $logger->info(self::LOG_PREFIX . ' - Started', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n try {\n $automatedReport = $reportService->getReport(uuid: $this->reportUuid);\n\n if (! $this->validateReport($automatedReport, $logger)) {\n return;\n }\n\n $this->createResults(automatedReport: $automatedReport, reportService: $reportService);\n\n $payload = $reportService->getGenerateReportPayload(\n automatedReport: $automatedReport,\n reportResultUuid: $this->reportResult->getUuid()\n );\n\n $now = Carbon::now();\n\n $this->reportResult->update([\n 'payload' => $payload,\n 'requested_at' => $now,\n ]);\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'payload' => $payload,\n 'requested_at' => $now,\n ]);\n }\n\n if (! $this->checkActivityCount($prophetClient, $payload, $logger)) {\n return;\n }\n\n $now = Carbon::now();\n\n // send generate report request\n $this->reportResult->update([\n 'name' => $reportService->getReportFileName($this->reportResult),\n 'status' => AutomatedReportResult::STATUS_REQUESTED,\n 'requested_at' => $now,\n ]);\n\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'name' => $reportService->getReportFileName($this->reportResultPodcast),\n 'status' => AutomatedReportResult::STATUS_REQUESTED,\n 'requested_at' => $now,\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' - Request sent', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n 'payload' => $payload,\n ]);\n\n $response = $prophetClient->sendRequest(\n endpoint: ProphetClient::EXEC_REPORT,\n requestArray: $payload\n );\n $logger->info(self::LOG_PREFIX . ' - Response received', ['response' => $response->getContent()]);\n } catch (Throwable $exception) {\n $reportUuid = null;\n\n $reason = $exception instanceof ProphetException ?\n AutomatedReportResult::REASON_PROPHET_API_ERROR : AutomatedReportResult::REASON_DEFAULT;\n\n $this->failReport($reason);\n\n $logger->error(\n self::LOG_PREFIX . ' - Error',\n [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $reportUuid,\n 'code' => $exception->getCode(),\n 'message' => $exception->getMessage(),\n ]\n );\n\n if ($this->attempts() < $this->tries) {\n $logger->info(self::LOG_PREFIX . ' - Retry scheduled', [\n 'attempts' => $this->attempts(),\n ]);\n\n $this->release(30);\n } else {\n $this->fail($exception);\n }\n }\n }\n\n private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool\n {\n if (! $automatedReport->getStatus()) {\n $logger->info(self::LOG_PREFIX . ' - Skipped, report is not active', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n return false;\n }\n\n if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {\n $logger->info(self::LOG_PREFIX . ' - Skipped, team is inactive', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n return false;\n }\n\n return true;\n }\n\n private function createResults(\n AutomatedReport $automatedReport,\n AutomatedReportsService $reportService\n ): void {\n $mediaTypes = $automatedReport->getMediaTypes();\n\n // handle PDF or podcast\n if (count($mediaTypes) === 1) {\n $this->reportResult = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'status' => AutomatedReportResult::STATUS_DEFAULT,\n 'media_type' => $mediaTypes[0],\n ]\n );\n\n return;\n }\n\n // handle multiple media types\n // create PDF as primary result\n $this->reportResult = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,\n ]\n );\n\n if (in_array(AutomatedReportsService::MEDIA_TYPE_PODCAST, $mediaTypes, true)) {\n $this->reportResultPodcast = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'media_type' => AutomatedReportsService::MEDIA_TYPE_PODCAST,\n 'parent_id' => $this->reportResult->getId(),\n ]\n );\n }\n }\n\n private function checkActivityCount(ProphetClient $prophetClient, array $payload, LoggerInterface $logger): bool\n {\n $logger->info(self::LOG_PREFIX . ' - Request activities count', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n 'payload' => $payload,\n ]);\n // validate expected activities count before sending request\n $response = $prophetClient->sendRequest(\n endpoint: ProphetClient::EXEC_REPORT_COUNT,\n requestArray: $payload\n );\n $content = $response->getContent();\n\n if (! isset($content['response'])) {\n throw new ApiResponseException('Error getting activities count');\n }\n\n $logger->info(self::LOG_PREFIX . ' - Get activities count', $content);\n\n $count = (int) $content['response'];\n if ($count < self::MIN_ACTIVITIES_COUNT) {\n $this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);\n\n $logger->info(self::LOG_PREFIX . ' - Not enough activities, skipped', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n ]);\n\n return false;\n }\n\n return true;\n }\n\n private function failReport(int $reason): void\n {\n if (isset($this->reportResult)) {\n $this->reportResult->update([\n 'status' => AutomatedReportResult::STATUS_FAILED,\n 'reason' => $reason,\n ]);\n }\n\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'status' => AutomatedReportResult::STATUS_FAILED,\n 'reason' => $reason,\n ]);\n }\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Jiminny\\Component\\ProphetAi\\Exceptions\\ProphetException;\nuse Jiminny\\Component\\ProphetAi\\ProphetClient;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\ApiResponseException;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique\n{\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages from this job\n */\n private const string LOG_PREFIX = '[Report:Generate]';\n\n private const int MIN_ACTIVITIES_COUNT = 10;\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n private readonly string $reportUuid;\n private ?AutomatedReportResult $reportResult = null;\n private ?AutomatedReportResult $reportResultPodcast = null;\n\n public function __construct(string $reportUuid)\n {\n $this->reportUuid = $reportUuid;\n $this->onQueue(Constants::QUEUE_ANALYTICS);\n }\n\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n\n public function handle(\n AutomatedReportsService $reportService,\n ProphetClient $prophetClient,\n LoggerInterface $logger\n ): void {\n $logger->info(self::LOG_PREFIX . ' - Started', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n try {\n $automatedReport = $reportService->getReport(uuid: $this->reportUuid);\n\n if (! $this->validateReport($automatedReport, $logger)) {\n return;\n }\n\n $this->createResults(automatedReport: $automatedReport, reportService: $reportService);\n\n $payload = $reportService->getGenerateReportPayload(\n automatedReport: $automatedReport,\n reportResultUuid: $this->reportResult->getUuid()\n );\n\n $now = Carbon::now();\n\n $this->reportResult->update([\n 'payload' => $payload,\n 'requested_at' => $now,\n ]);\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'payload' => $payload,\n 'requested_at' => $now,\n ]);\n }\n\n if (! $this->checkActivityCount($prophetClient, $payload, $logger)) {\n return;\n }\n\n $now = Carbon::now();\n\n // send generate report request\n $this->reportResult->update([\n 'name' => $reportService->getReportFileName($this->reportResult),\n 'status' => AutomatedReportResult::STATUS_REQUESTED,\n 'requested_at' => $now,\n ]);\n\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'name' => $reportService->getReportFileName($this->reportResultPodcast),\n 'status' => AutomatedReportResult::STATUS_REQUESTED,\n 'requested_at' => $now,\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' - Request sent', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n 'payload' => $payload,\n ]);\n\n $response = $prophetClient->sendRequest(\n endpoint: ProphetClient::EXEC_REPORT,\n requestArray: $payload\n );\n $logger->info(self::LOG_PREFIX . ' - Response received', ['response' => $response->getContent()]);\n } catch (Throwable $exception) {\n $reportUuid = null;\n\n $reason = $exception instanceof ProphetException ?\n AutomatedReportResult::REASON_PROPHET_API_ERROR : AutomatedReportResult::REASON_DEFAULT;\n\n $this->failReport($reason);\n\n $logger->error(\n self::LOG_PREFIX . ' - Error',\n [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $reportUuid,\n 'code' => $exception->getCode(),\n 'message' => $exception->getMessage(),\n ]\n );\n\n if ($this->attempts() < $this->tries) {\n $logger->info(self::LOG_PREFIX . ' - Retry scheduled', [\n 'attempts' => $this->attempts(),\n ]);\n\n $this->release(30);\n } else {\n $this->fail($exception);\n }\n }\n }\n\n private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool\n {\n if (! $automatedReport->getStatus()) {\n $logger->info(self::LOG_PREFIX . ' - Skipped, report is not active', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n return false;\n }\n\n if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {\n $logger->info(self::LOG_PREFIX . ' - Skipped, team is inactive', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n return false;\n }\n\n return true;\n }\n\n private function createResults(\n AutomatedReport $automatedReport,\n AutomatedReportsService $reportService\n ): void {\n $mediaTypes = $automatedReport->getMediaTypes();\n\n // handle PDF or podcast\n if (count($mediaTypes) === 1) {\n $this->reportResult = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'status' => AutomatedReportResult::STATUS_DEFAULT,\n 'media_type' => $mediaTypes[0],\n ]\n );\n\n return;\n }\n\n // handle multiple media types\n // create PDF as primary result\n $this->reportResult = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,\n ]\n );\n\n if (in_array(AutomatedReportsService::MEDIA_TYPE_PODCAST, $mediaTypes, true)) {\n $this->reportResultPodcast = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'media_type' => AutomatedReportsService::MEDIA_TYPE_PODCAST,\n 'parent_id' => $this->reportResult->getId(),\n ]\n );\n }\n }\n\n private function checkActivityCount(ProphetClient $prophetClient, array $payload, LoggerInterface $logger): bool\n {\n $logger->info(self::LOG_PREFIX . ' - Request activities count', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n 'payload' => $payload,\n ]);\n // validate expected activities count before sending request\n $response = $prophetClient->sendRequest(\n endpoint: ProphetClient::EXEC_REPORT_COUNT,\n requestArray: $payload\n );\n $content = $response->getContent();\n\n if (! isset($content['response'])) {\n throw new ApiResponseException('Error getting activities count');\n }\n\n $logger->info(self::LOG_PREFIX . ' - Get activities count', $content);\n\n $count = (int) $content['response'];\n if ($count < self::MIN_ACTIVITIES_COUNT) {\n $this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);\n\n $logger->info(self::LOG_PREFIX . ' - Not enough activities, skipped', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n ]);\n\n return false;\n }\n\n return true;\n }\n\n private function failReport(int $reason): void\n {\n if (isset($this->reportResult)) {\n $this->reportResult->update([\n 'status' => AutomatedReportResult::STATUS_FAILED,\n 'reason' => $reason,\n ]);\n }\n\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'status' => AutomatedReportResult::STATUS_FAILED,\n 'reason' => $reason,\n ]);\n }\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"34","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"33","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"61","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;","depth":4,"value":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
1651655884110941827
|
1065678670630630981
|
visual_change
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\ApiResponseException;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages from this job
*/
private const string LOG_PREFIX = '[Report:Generate]';
private const int MIN_ACTIVITIES_COUNT = 10;
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
private readonly string $reportUuid;
private ?AutomatedReportResult $reportResult = null;
private ?AutomatedReportResult $reportResultPodcast = null;
public function __construct(string $reportUuid)
{
$this->reportUuid = $reportUuid;
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
ProphetClient $prophetClient,
LoggerInterface $logger
): void {
$logger->info(self::LOG_PREFIX . ' - Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport(uuid: $this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$this->createResults(automatedReport: $automatedReport, reportService: $reportService);
$payload = $reportService->getGenerateReportPayload(
automatedReport: $automatedReport,
reportResultUuid: $this->reportResult->getUuid()
);
$now = Carbon::now();
$this->reportResult->update([
'payload' => $payload,
'requested_at' => $now,
]);
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'payload' => $payload,
'requested_at' => $now,
]);
}
if (! $this->checkActivityCount($prophetClient, $payload, $logger)) {
return;
}
$now = Carbon::now();
// send generate report request
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => $now,
]);
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'name' => $reportService->getReportFileName($this->reportResultPodcast),
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => $now,
]);
}
$logger->info(self::LOG_PREFIX . ' - Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::EXEC_REPORT,
requestArray: $payload
);
$logger->info(self::LOG_PREFIX . ' - Response received', ['response' => $response->getContent()]);
} catch (Throwable $exception) {
$reportUuid = null;
$reason = $exception instanceof ProphetException ?
AutomatedReportResult::REASON_PROPHET_API_ERROR : AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(
self::LOG_PREFIX . ' - Error',
[
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $reportUuid,
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]
);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' - Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' - Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' - Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function createResults(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService
): void {
$mediaTypes = $automatedReport->getMediaTypes();
// handle PDF or podcast
if (count($mediaTypes) === 1) {
$this->reportResult = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => $mediaTypes[0],
]
);
return;
}
// handle multiple media types
// create PDF as primary result
$this->reportResult = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
if (in_array(AutomatedReportsService::MEDIA_TYPE_PODCAST, $mediaTypes, true)) {
$this->reportResultPodcast = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'media_type' => AutomatedReportsService::MEDIA_TYPE_PODCAST,
'parent_id' => $this->reportResult->getId(),
]
);
}
}
private function checkActivityCount(ProphetClient $prophetClient, array $payload, LoggerInterface $logger): bool
{
$logger->info(self::LOG_PREFIX . ' - Request activities count', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
// validate expected activities count before sending request
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::EXEC_REPORT_COUNT,
requestArray: $payload
);
$content = $response->getContent();
if (! isset($content['response'])) {
throw new ApiResponseException('Error getting activities count');
}
$logger->info(self::LOG_PREFIX . ' - Get activities count', $content);
$count = (int) $content['response'];
if ($count < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' - Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
if (isset($this->reportResult)) {
$this->reportResult->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
34
1
33
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
|
42131
|
NULL
|
0
|
2026-04-17T06:48:34.158552+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776408514158_m2.jpg...
|
PhpStorm
|
faVsco.js – RequestGenerateReportJob.php
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\ApiResponseException;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages from this job
*/
private const string LOG_PREFIX = '[Report:Generate]';
private const int MIN_ACTIVITIES_COUNT = 10;
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
private readonly string $reportUuid;
private ?AutomatedReportResult $reportResult = null;
private ?AutomatedReportResult $reportResultPodcast = null;
public function __construct(string $reportUuid)
{
$this->reportUuid = $reportUuid;
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
ProphetClient $prophetClient,
LoggerInterface $logger
): void {
$logger->info(self::LOG_PREFIX . ' - Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport(uuid: $this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$this->createResults(automatedReport: $automatedReport, reportService: $reportService);
$payload = $reportService->getGenerateReportPayload(
automatedReport: $automatedReport,
reportResultUuid: $this->reportResult->getUuid()
);
$now = Carbon::now();
$this->reportResult->update([
'payload' => $payload,
'requested_at' => $now,
]);
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'payload' => $payload,
'requested_at' => $now,
]);
}
if (! $this->checkActivityCount($prophetClient, $payload, $logger)) {
return;
}
$now = Carbon::now();
// send generate report request
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => $now,
]);
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'name' => $reportService->getReportFileName($this->reportResultPodcast),
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => $now,
]);
}
$logger->info(self::LOG_PREFIX . ' - Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::EXEC_REPORT,
requestArray: $payload
);
$logger->info(self::LOG_PREFIX . ' - Response received', ['response' => $response->getContent()]);
} catch (Throwable $exception) {
$reportUuid = null;
$reason = $exception instanceof ProphetException ?
AutomatedReportResult::REASON_PROPHET_API_ERROR : AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(
self::LOG_PREFIX . ' - Error',
[
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $reportUuid,
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]
);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' - Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' - Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' - Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function createResults(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService
): void {
$mediaTypes = $automatedReport->getMediaTypes();
// handle PDF or podcast
if (count($mediaTypes) === 1) {
$this->reportResult = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => $mediaTypes[0],
]
);
return;
}
// handle multiple media types
// create PDF as primary result
$this->reportResult = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
if (in_array(AutomatedReportsService::MEDIA_TYPE_PODCAST, $mediaTypes, true)) {
$this->reportResultPodcast = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'media_type' => AutomatedReportsService::MEDIA_TYPE_PODCAST,
'parent_id' => $this->reportResult->getId(),
]
);
}
}
private function checkActivityCount(ProphetClient $prophetClient, array $payload, LoggerInterface $logger): bool
{
$logger->info(self::LOG_PREFIX . ' - Request activities count', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
// validate expected activities count before sending request
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::EXEC_REPORT_COUNT,
requestArray: $payload
);
$content = $response->getContent();
if (! isset($content['response'])) {
throw new ApiResponseException('Error getting activities count');
}
$logger->info(self::LOG_PREFIX . ' - Get activities count', $content);
$count = (int) $content['response'];
if ($count < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' - Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
if (isset($this->reportResult)) {
$this->reportResult->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
34
1
33
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.03046875,"top":0.017361112,"width":0.0453125,"height":0.022222223},"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"bounds":{"left":0.07578125,"top":0.017361112,"width":0.14960937,"height":0.022222223},"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.78515625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"bounds":{"left":0.803125,"top":0.017361112,"width":0.09765625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9007813,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9140625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9273437,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96015626,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9734375,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9867188,"top":0.017361112,"width":0.013281226,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.4265625,"top":0.19513889,"width":0.009375,"height":0.013194445},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.43789062,"top":0.19375,"width":0.00859375,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.4464844,"top":0.19375,"width":0.008203125,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Jiminny\\Component\\ProphetAi\\Exceptions\\ProphetException;\nuse Jiminny\\Component\\ProphetAi\\ProphetClient;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\ApiResponseException;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique\n{\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages from this job\n */\n private const string LOG_PREFIX = '[Report:Generate]';\n\n private const int MIN_ACTIVITIES_COUNT = 10;\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n private readonly string $reportUuid;\n private ?AutomatedReportResult $reportResult = null;\n private ?AutomatedReportResult $reportResultPodcast = null;\n\n public function __construct(string $reportUuid)\n {\n $this->reportUuid = $reportUuid;\n $this->onQueue(Constants::QUEUE_ANALYTICS);\n }\n\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n\n public function handle(\n AutomatedReportsService $reportService,\n ProphetClient $prophetClient,\n LoggerInterface $logger\n ): void {\n $logger->info(self::LOG_PREFIX . ' - Started', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n try {\n $automatedReport = $reportService->getReport(uuid: $this->reportUuid);\n\n if (! $this->validateReport($automatedReport, $logger)) {\n return;\n }\n\n $this->createResults(automatedReport: $automatedReport, reportService: $reportService);\n\n $payload = $reportService->getGenerateReportPayload(\n automatedReport: $automatedReport,\n reportResultUuid: $this->reportResult->getUuid()\n );\n\n $now = Carbon::now();\n\n $this->reportResult->update([\n 'payload' => $payload,\n 'requested_at' => $now,\n ]);\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'payload' => $payload,\n 'requested_at' => $now,\n ]);\n }\n\n if (! $this->checkActivityCount($prophetClient, $payload, $logger)) {\n return;\n }\n\n $now = Carbon::now();\n\n // send generate report request\n $this->reportResult->update([\n 'name' => $reportService->getReportFileName($this->reportResult),\n 'status' => AutomatedReportResult::STATUS_REQUESTED,\n 'requested_at' => $now,\n ]);\n\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'name' => $reportService->getReportFileName($this->reportResultPodcast),\n 'status' => AutomatedReportResult::STATUS_REQUESTED,\n 'requested_at' => $now,\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' - Request sent', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n 'payload' => $payload,\n ]);\n\n $response = $prophetClient->sendRequest(\n endpoint: ProphetClient::EXEC_REPORT,\n requestArray: $payload\n );\n $logger->info(self::LOG_PREFIX . ' - Response received', ['response' => $response->getContent()]);\n } catch (Throwable $exception) {\n $reportUuid = null;\n\n $reason = $exception instanceof ProphetException ?\n AutomatedReportResult::REASON_PROPHET_API_ERROR : AutomatedReportResult::REASON_DEFAULT;\n\n $this->failReport($reason);\n\n $logger->error(\n self::LOG_PREFIX . ' - Error',\n [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $reportUuid,\n 'code' => $exception->getCode(),\n 'message' => $exception->getMessage(),\n ]\n );\n\n if ($this->attempts() < $this->tries) {\n $logger->info(self::LOG_PREFIX . ' - Retry scheduled', [\n 'attempts' => $this->attempts(),\n ]);\n\n $this->release(30);\n } else {\n $this->fail($exception);\n }\n }\n }\n\n private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool\n {\n if (! $automatedReport->getStatus()) {\n $logger->info(self::LOG_PREFIX . ' - Skipped, report is not active', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n return false;\n }\n\n if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {\n $logger->info(self::LOG_PREFIX . ' - Skipped, team is inactive', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n return false;\n }\n\n return true;\n }\n\n private function createResults(\n AutomatedReport $automatedReport,\n AutomatedReportsService $reportService\n ): void {\n $mediaTypes = $automatedReport->getMediaTypes();\n\n // handle PDF or podcast\n if (count($mediaTypes) === 1) {\n $this->reportResult = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'status' => AutomatedReportResult::STATUS_DEFAULT,\n 'media_type' => $mediaTypes[0],\n ]\n );\n\n return;\n }\n\n // handle multiple media types\n // create PDF as primary result\n $this->reportResult = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,\n ]\n );\n\n if (in_array(AutomatedReportsService::MEDIA_TYPE_PODCAST, $mediaTypes, true)) {\n $this->reportResultPodcast = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'media_type' => AutomatedReportsService::MEDIA_TYPE_PODCAST,\n 'parent_id' => $this->reportResult->getId(),\n ]\n );\n }\n }\n\n private function checkActivityCount(ProphetClient $prophetClient, array $payload, LoggerInterface $logger): bool\n {\n $logger->info(self::LOG_PREFIX . ' - Request activities count', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n 'payload' => $payload,\n ]);\n // validate expected activities count before sending request\n $response = $prophetClient->sendRequest(\n endpoint: ProphetClient::EXEC_REPORT_COUNT,\n requestArray: $payload\n );\n $content = $response->getContent();\n\n if (! isset($content['response'])) {\n throw new ApiResponseException('Error getting activities count');\n }\n\n $logger->info(self::LOG_PREFIX . ' - Get activities count', $content);\n\n $count = (int) $content['response'];\n if ($count < self::MIN_ACTIVITIES_COUNT) {\n $this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);\n\n $logger->info(self::LOG_PREFIX . ' - Not enough activities, skipped', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n ]);\n\n return false;\n }\n\n return true;\n }\n\n private function failReport(int $reason): void\n {\n if (isset($this->reportResult)) {\n $this->reportResult->update([\n 'status' => AutomatedReportResult::STATUS_FAILED,\n 'reason' => $reason,\n ]);\n }\n\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'status' => AutomatedReportResult::STATUS_FAILED,\n 'reason' => $reason,\n ]);\n }\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Jiminny\\Component\\ProphetAi\\Exceptions\\ProphetException;\nuse Jiminny\\Component\\ProphetAi\\ProphetClient;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\ApiResponseException;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique\n{\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages from this job\n */\n private const string LOG_PREFIX = '[Report:Generate]';\n\n private const int MIN_ACTIVITIES_COUNT = 10;\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n private readonly string $reportUuid;\n private ?AutomatedReportResult $reportResult = null;\n private ?AutomatedReportResult $reportResultPodcast = null;\n\n public function __construct(string $reportUuid)\n {\n $this->reportUuid = $reportUuid;\n $this->onQueue(Constants::QUEUE_ANALYTICS);\n }\n\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n\n public function handle(\n AutomatedReportsService $reportService,\n ProphetClient $prophetClient,\n LoggerInterface $logger\n ): void {\n $logger->info(self::LOG_PREFIX . ' - Started', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n try {\n $automatedReport = $reportService->getReport(uuid: $this->reportUuid);\n\n if (! $this->validateReport($automatedReport, $logger)) {\n return;\n }\n\n $this->createResults(automatedReport: $automatedReport, reportService: $reportService);\n\n $payload = $reportService->getGenerateReportPayload(\n automatedReport: $automatedReport,\n reportResultUuid: $this->reportResult->getUuid()\n );\n\n $now = Carbon::now();\n\n $this->reportResult->update([\n 'payload' => $payload,\n 'requested_at' => $now,\n ]);\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'payload' => $payload,\n 'requested_at' => $now,\n ]);\n }\n\n if (! $this->checkActivityCount($prophetClient, $payload, $logger)) {\n return;\n }\n\n $now = Carbon::now();\n\n // send generate report request\n $this->reportResult->update([\n 'name' => $reportService->getReportFileName($this->reportResult),\n 'status' => AutomatedReportResult::STATUS_REQUESTED,\n 'requested_at' => $now,\n ]);\n\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'name' => $reportService->getReportFileName($this->reportResultPodcast),\n 'status' => AutomatedReportResult::STATUS_REQUESTED,\n 'requested_at' => $now,\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' - Request sent', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n 'payload' => $payload,\n ]);\n\n $response = $prophetClient->sendRequest(\n endpoint: ProphetClient::EXEC_REPORT,\n requestArray: $payload\n );\n $logger->info(self::LOG_PREFIX . ' - Response received', ['response' => $response->getContent()]);\n } catch (Throwable $exception) {\n $reportUuid = null;\n\n $reason = $exception instanceof ProphetException ?\n AutomatedReportResult::REASON_PROPHET_API_ERROR : AutomatedReportResult::REASON_DEFAULT;\n\n $this->failReport($reason);\n\n $logger->error(\n self::LOG_PREFIX . ' - Error',\n [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $reportUuid,\n 'code' => $exception->getCode(),\n 'message' => $exception->getMessage(),\n ]\n );\n\n if ($this->attempts() < $this->tries) {\n $logger->info(self::LOG_PREFIX . ' - Retry scheduled', [\n 'attempts' => $this->attempts(),\n ]);\n\n $this->release(30);\n } else {\n $this->fail($exception);\n }\n }\n }\n\n private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool\n {\n if (! $automatedReport->getStatus()) {\n $logger->info(self::LOG_PREFIX . ' - Skipped, report is not active', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n return false;\n }\n\n if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {\n $logger->info(self::LOG_PREFIX . ' - Skipped, team is inactive', [\n 'automatedReportUuid' => $this->reportUuid,\n ]);\n\n return false;\n }\n\n return true;\n }\n\n private function createResults(\n AutomatedReport $automatedReport,\n AutomatedReportsService $reportService\n ): void {\n $mediaTypes = $automatedReport->getMediaTypes();\n\n // handle PDF or podcast\n if (count($mediaTypes) === 1) {\n $this->reportResult = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'status' => AutomatedReportResult::STATUS_DEFAULT,\n 'media_type' => $mediaTypes[0],\n ]\n );\n\n return;\n }\n\n // handle multiple media types\n // create PDF as primary result\n $this->reportResult = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,\n ]\n );\n\n if (in_array(AutomatedReportsService::MEDIA_TYPE_PODCAST, $mediaTypes, true)) {\n $this->reportResultPodcast = $reportService->createReportResult(\n automatedReport: $automatedReport,\n data: [\n 'media_type' => AutomatedReportsService::MEDIA_TYPE_PODCAST,\n 'parent_id' => $this->reportResult->getId(),\n ]\n );\n }\n }\n\n private function checkActivityCount(ProphetClient $prophetClient, array $payload, LoggerInterface $logger): bool\n {\n $logger->info(self::LOG_PREFIX . ' - Request activities count', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n 'payload' => $payload,\n ]);\n // validate expected activities count before sending request\n $response = $prophetClient->sendRequest(\n endpoint: ProphetClient::EXEC_REPORT_COUNT,\n requestArray: $payload\n );\n $content = $response->getContent();\n\n if (! isset($content['response'])) {\n throw new ApiResponseException('Error getting activities count');\n }\n\n $logger->info(self::LOG_PREFIX . ' - Get activities count', $content);\n\n $count = (int) $content['response'];\n if ($count < self::MIN_ACTIVITIES_COUNT) {\n $this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);\n\n $logger->info(self::LOG_PREFIX . ' - Not enough activities, skipped', [\n 'automatedReportUuid' => $this->reportUuid,\n 'reportUuid' => $this->reportResult->getUuid(),\n ]);\n\n return false;\n }\n\n return true;\n }\n\n private function failReport(int $reason): void\n {\n if (isset($this->reportResult)) {\n $this->reportResult->update([\n 'status' => AutomatedReportResult::STATUS_FAILED,\n 'reason' => $reason,\n ]);\n }\n\n if (isset($this->reportResultPodcast)) {\n $this->reportResultPodcast->update([\n 'status' => AutomatedReportResult::STATUS_FAILED,\n 'reason' => $reason,\n ]);\n }\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.45664063,"top":0.10763889,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"bounds":{"left":0.46679688,"top":0.10763889,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"bounds":{"left":0.4796875,"top":0.10763889,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"bounds":{"left":0.48984376,"top":0.10763889,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"bounds":{"left":0.5,"top":0.10763889,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"bounds":{"left":0.51289064,"top":0.10763889,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"bounds":{"left":0.5257813,"top":0.10763889,"width":0.028515626,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"bounds":{"left":0.5570313,"top":0.10763889,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.56992185,"top":0.10763889,"width":0.034765624,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.6917969,"top":0.10763889,"width":0.033203125,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"34","depth":4,"bounds":{"left":0.65664065,"top":0.12916666,"width":0.012109375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.67109376,"top":0.12916666,"width":0.00859375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"33","depth":4,"bounds":{"left":0.6820313,"top":0.12916666,"width":0.012109375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"61","depth":4,"bounds":{"left":0.6964844,"top":0.12916666,"width":0.011328125,"height":0.013194445},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7097656,"top":0.12777779,"width":0.00859375,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.71835935,"top":0.12777779,"width":0.008203125,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;","depth":4,"value":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.0140625,"top":0.041666668,"width":0.028515626,"height":0.021527778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
1651655884110941827
|
1065678670630630981
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Carbon\Carbon;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\InteractsWithQueue;
use Jiminny\Component\ProphetAi\Exceptions\ProphetException;
use Jiminny\Component\ProphetAi\ProphetClient;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\ApiResponseException;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class RequestGenerateReportJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages from this job
*/
private const string LOG_PREFIX = '[Report:Generate]';
private const int MIN_ACTIVITIES_COUNT = 10;
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
private readonly string $reportUuid;
private ?AutomatedReportResult $reportResult = null;
private ?AutomatedReportResult $reportResultPodcast = null;
public function __construct(string $reportUuid)
{
$this->reportUuid = $reportUuid;
$this->onQueue(Constants::QUEUE_ANALYTICS);
}
public function uniqueId(): string
{
return $this->reportUuid;
}
public function handle(
AutomatedReportsService $reportService,
ProphetClient $prophetClient,
LoggerInterface $logger
): void {
$logger->info(self::LOG_PREFIX . ' - Started', [
'automatedReportUuid' => $this->reportUuid,
]);
try {
$automatedReport = $reportService->getReport(uuid: $this->reportUuid);
if (! $this->validateReport($automatedReport, $logger)) {
return;
}
$this->createResults(automatedReport: $automatedReport, reportService: $reportService);
$payload = $reportService->getGenerateReportPayload(
automatedReport: $automatedReport,
reportResultUuid: $this->reportResult->getUuid()
);
$now = Carbon::now();
$this->reportResult->update([
'payload' => $payload,
'requested_at' => $now,
]);
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'payload' => $payload,
'requested_at' => $now,
]);
}
if (! $this->checkActivityCount($prophetClient, $payload, $logger)) {
return;
}
$now = Carbon::now();
// send generate report request
$this->reportResult->update([
'name' => $reportService->getReportFileName($this->reportResult),
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => $now,
]);
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'name' => $reportService->getReportFileName($this->reportResultPodcast),
'status' => AutomatedReportResult::STATUS_REQUESTED,
'requested_at' => $now,
]);
}
$logger->info(self::LOG_PREFIX . ' - Request sent', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::EXEC_REPORT,
requestArray: $payload
);
$logger->info(self::LOG_PREFIX . ' - Response received', ['response' => $response->getContent()]);
} catch (Throwable $exception) {
$reportUuid = null;
$reason = $exception instanceof ProphetException ?
AutomatedReportResult::REASON_PROPHET_API_ERROR : AutomatedReportResult::REASON_DEFAULT;
$this->failReport($reason);
$logger->error(
self::LOG_PREFIX . ' - Error',
[
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $reportUuid,
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
]
);
if ($this->attempts() < $this->tries) {
$logger->info(self::LOG_PREFIX . ' - Retry scheduled', [
'attempts' => $this->attempts(),
]);
$this->release(30);
} else {
$this->fail($exception);
}
}
}
private function validateReport(AutomatedReport $automatedReport, LoggerInterface $logger): bool
{
if (! $automatedReport->getStatus()) {
$logger->info(self::LOG_PREFIX . ' - Skipped, report is not active', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
if ($automatedReport->getTeam()->getStatus() !== Team::STATUS_ACTIVE) {
$logger->info(self::LOG_PREFIX . ' - Skipped, team is inactive', [
'automatedReportUuid' => $this->reportUuid,
]);
return false;
}
return true;
}
private function createResults(
AutomatedReport $automatedReport,
AutomatedReportsService $reportService
): void {
$mediaTypes = $automatedReport->getMediaTypes();
// handle PDF or podcast
if (count($mediaTypes) === 1) {
$this->reportResult = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'status' => AutomatedReportResult::STATUS_DEFAULT,
'media_type' => $mediaTypes[0],
]
);
return;
}
// handle multiple media types
// create PDF as primary result
$this->reportResult = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'media_type' => AutomatedReportsService::MEDIA_TYPE_PDF,
]
);
if (in_array(AutomatedReportsService::MEDIA_TYPE_PODCAST, $mediaTypes, true)) {
$this->reportResultPodcast = $reportService->createReportResult(
automatedReport: $automatedReport,
data: [
'media_type' => AutomatedReportsService::MEDIA_TYPE_PODCAST,
'parent_id' => $this->reportResult->getId(),
]
);
}
}
private function checkActivityCount(ProphetClient $prophetClient, array $payload, LoggerInterface $logger): bool
{
$logger->info(self::LOG_PREFIX . ' - Request activities count', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
'payload' => $payload,
]);
// validate expected activities count before sending request
$response = $prophetClient->sendRequest(
endpoint: ProphetClient::EXEC_REPORT_COUNT,
requestArray: $payload
);
$content = $response->getContent();
if (! isset($content['response'])) {
throw new ApiResponseException('Error getting activities count');
}
$logger->info(self::LOG_PREFIX . ' - Get activities count', $content);
$count = (int) $content['response'];
if ($count < self::MIN_ACTIVITIES_COUNT) {
$this->failReport(AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES);
$logger->info(self::LOG_PREFIX . ' - Not enough activities, skipped', [
'automatedReportUuid' => $this->reportUuid,
'reportUuid' => $this->reportResult->getUuid(),
]);
return false;
}
return true;
}
private function failReport(int $reason): void
{
if (isset($this->reportResult)) {
$this->reportResult->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
if (isset($this->reportResultPodcast)) {
$this->reportResultPodcast->update([
'status' => AutomatedReportResult::STATUS_FAILED,
'reason' => $reason,
]);
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
34
1
33
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
42129
|
|
42022
|
NULL
|
0
|
2026-04-17T06:43:39.651328+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776408219651_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditFV faVsco.js vViewNavigateCodeLara PhpStormFileEditFV faVsco.js vViewNavigateCodeLaravelRefactorToolsWindowHelp#11894 on JY-18909-automated-reports-ask-iminny kProject v(C) RequestGenerateAsl© RequestGenerateRei© SendReportJob.php© SendReportMailJob.|D CalendarD crm> M DealRisksMalloox> M MeetinaBot> M Middleware> MStreamina› Team> Telephony> D User© BaseProcessingJob.php© DummyJob.php© ImportRecallAlRecordin!© ImportRemoteTrackJob© Job.php©JobDispatcher.phpD) JobDispatcherInterface© PurgeSoftDeletedOppol© SqsVisibilityControl.php> D Listeners> D Mailv D Models> [ Activity> DAI> AskAnything> M Calendar> [ Connection> M Contracts>MCrm> D ElasticSearch>_ Feature> D OpportunityParticipantC PlaybackThemeC Playlist0 ScorecardWebhook© Account.php© Activity.php© Address.php© AiPrompt.php(C) AutomatedReport.php© AutomatedReportResult© Calendar.php© Calllmport.php© CoachingFeedback.php© CoachingFeedbackVisik© CoachingSection.php© CoachingSectionCriteric© CoachingSectionCriteric© CoachingSectionFeedb:© CommentAbstract.php© Commentinterface.php© Contact.php© Device.php© AutomatedReportsService.php© SendReportJob.phpTokenBuilder.php• TeamSetupController.phppnp apl.onoFilesystem.pnp© AskJiminnyReportsController.php© AutomatedReportsCommandTest.php© Team.php© AutomatedReportsRepository.php© CreateHeldActivityEvent.phpC CreateActivityLoggedEvent.php© UserPilotActivityListener.php© ActivityLogged.php© SendReportMailJob.php x| © ReportController.php© AutomatedReportsCommand.php© AutomatedReportsSendCommand.php© TrackProviderInstalledEvent.phpAutomatedRenortscallbackService.ono© RequestGenerateAskJiminnyReportJob.phpRequestGenerateReportJob.php• AutomatedReportResult.phpS.OMU© AutomatedReport.phpnamespace Jiminny\Jobs\AutomatedReports;use..8 usagesclass SendReportMailJob implements ShouldBeUnique, ShouldQueueuse usoarchaole.use Trerac sw tnuueueruse uueveable./***/3 usages* Log prefix for all log messagesprivate const string LOG_PREFIX = '[Send Report Mail]';3334353637* The number of times the job may be attempted.39* @var int*/public int $tries = 3;/*** The number of seconds to wait before retrying the job.* Ovar array<int, int>public array $backoff = [60, 300, 600];* The maximum number of seconds the job should be allowed to run.* Ovar int*/public int $timeout = 120;* Create a new job instance.*/3 usagespublic function __construct(private readonly string $reportUvid,private readonly string $s3Path,private readonly string $recipientEmail,private readonly ?string $recipientNameprivate readonly string $fileName,private readonly string $typeName,Helper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (44 minutes ago)= custom.logV Onboard.vueA console [STAGING]= laravel.logA SF [jiminny@localhost]C* scratch_1.jsonV connect.vue& Hs local liminnyalocalnost< console EUiA console [PROD] xO5Y54054154254354554754854%550558559560562563Tx: Auto vPlaygroundWHERE u.team_id = 862 and sa.provider = 'salesfence'iMa liminnv v034 41 433 X61 Аselect * from automated_ reports where id = 36;select ar.frequency, r.*, ar.* from automated_report_results rjoin automated_reports ar on r.repontrid = ar.igwhere ar.frequency !=select s.* from activity_searches s join users u 1..n<->1: ON s.user_id = u.id whreselect * from nudges n where n.activity_search_idselect * from teams where created_at > ^2026-03-09' ;SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065SELECT * FROM crm_Zayout_entities WHERE crm_layout_id = 3617;select * from users where team_id = 1 and name like "%Lukas%'; # 7160SELECT * FROM teams WHERE id = 575;select * from opportunities where team_id = 575;SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,select * from opportunities where team_id = 1126;SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,select * from opportunities where team_id = 1125;select * from contacts cwhere c.team_id = 882;SELECT * FROM activities WHERE id = 76822967;SELECT * FROM crm_profiles WHERE user_id = 15440;SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;SELECT * FROM crm_configurations WHERE id = 555;SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pL. 3911, act. fielSELECTCONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE "' END) AS usersarxt.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_id1.n<->1: on t.id = u.team_idWHERE u.team_id = 581 and sa.provider = 'salesforce'SELECT * FROM automated_report_results order by id desc;select * from team_features where feature_id = 40;select * from teams where id = 556;select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-73453816SELECT * FROM automated_report_results WHERE uvid_to_bin('822fa41b-afd3-43a9-a248select * from automated_report_results order by id desc;SELECT * FROM automated_report_results WHERE id = 1919;select * from automated_report_results WHERE reRontaid = 54;, 0lablAAutomatedReportsCommandTestv100% C•Fri 17 Apr 9:43:39Cascade© Automated Report R+D ...show me exactyl where do we set result as sent or failedThere are 3 places total:Searched |status.*FAILED and performed 1 other queryFocusing only on AutomatedReportResult status transitions:STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14g1t (srenort-sstarus le= AutomaredRenortResul T..STATIS SENITcache:: lock("report-status-i$this->reportUuid,, 5)1 file +16›Ask anything (24L)+ ‹› CodelClaude Sonnet 4.6Reject allAccept allwinasur leams23:1 (4759 chars, 141 line breaks)ulr-o4 spaces...
|
NULL
|
-6848063544157689678
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhpStormFileEditFV faVsco.js vViewNavigateCodeLara PhpStormFileEditFV faVsco.js vViewNavigateCodeLaravelRefactorToolsWindowHelp#11894 on JY-18909-automated-reports-ask-iminny kProject v(C) RequestGenerateAsl© RequestGenerateRei© SendReportJob.php© SendReportMailJob.|D CalendarD crm> M DealRisksMalloox> M MeetinaBot> M Middleware> MStreamina› Team> Telephony> D User© BaseProcessingJob.php© DummyJob.php© ImportRecallAlRecordin!© ImportRemoteTrackJob© Job.php©JobDispatcher.phpD) JobDispatcherInterface© PurgeSoftDeletedOppol© SqsVisibilityControl.php> D Listeners> D Mailv D Models> [ Activity> DAI> AskAnything> M Calendar> [ Connection> M Contracts>MCrm> D ElasticSearch>_ Feature> D OpportunityParticipantC PlaybackThemeC Playlist0 ScorecardWebhook© Account.php© Activity.php© Address.php© AiPrompt.php(C) AutomatedReport.php© AutomatedReportResult© Calendar.php© Calllmport.php© CoachingFeedback.php© CoachingFeedbackVisik© CoachingSection.php© CoachingSectionCriteric© CoachingSectionCriteric© CoachingSectionFeedb:© CommentAbstract.php© Commentinterface.php© Contact.php© Device.php© AutomatedReportsService.php© SendReportJob.phpTokenBuilder.php• TeamSetupController.phppnp apl.onoFilesystem.pnp© AskJiminnyReportsController.php© AutomatedReportsCommandTest.php© Team.php© AutomatedReportsRepository.php© CreateHeldActivityEvent.phpC CreateActivityLoggedEvent.php© UserPilotActivityListener.php© ActivityLogged.php© SendReportMailJob.php x| © ReportController.php© AutomatedReportsCommand.php© AutomatedReportsSendCommand.php© TrackProviderInstalledEvent.phpAutomatedRenortscallbackService.ono© RequestGenerateAskJiminnyReportJob.phpRequestGenerateReportJob.php• AutomatedReportResult.phpS.OMU© AutomatedReport.phpnamespace Jiminny\Jobs\AutomatedReports;use..8 usagesclass SendReportMailJob implements ShouldBeUnique, ShouldQueueuse usoarchaole.use Trerac sw tnuueueruse uueveable./***/3 usages* Log prefix for all log messagesprivate const string LOG_PREFIX = '[Send Report Mail]';3334353637* The number of times the job may be attempted.39* @var int*/public int $tries = 3;/*** The number of seconds to wait before retrying the job.* Ovar array<int, int>public array $backoff = [60, 300, 600];* The maximum number of seconds the job should be allowed to run.* Ovar int*/public int $timeout = 120;* Create a new job instance.*/3 usagespublic function __construct(private readonly string $reportUvid,private readonly string $s3Path,private readonly string $recipientEmail,private readonly ?string $recipientNameprivate readonly string $fileName,private readonly string $typeName,Helper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (44 minutes ago)= custom.logV Onboard.vueA console [STAGING]= laravel.logA SF [jiminny@localhost]C* scratch_1.jsonV connect.vue& Hs local liminnyalocalnost< console EUiA console [PROD] xO5Y54054154254354554754854%550558559560562563Tx: Auto vPlaygroundWHERE u.team_id = 862 and sa.provider = 'salesfence'iMa liminnv v034 41 433 X61 Аselect * from automated_ reports where id = 36;select ar.frequency, r.*, ar.* from automated_report_results rjoin automated_reports ar on r.repontrid = ar.igwhere ar.frequency !=select s.* from activity_searches s join users u 1..n<->1: ON s.user_id = u.id whreselect * from nudges n where n.activity_search_idselect * from teams where created_at > ^2026-03-09' ;SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065SELECT * FROM crm_Zayout_entities WHERE crm_layout_id = 3617;select * from users where team_id = 1 and name like "%Lukas%'; # 7160SELECT * FROM teams WHERE id = 575;select * from opportunities where team_id = 575;SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,select * from opportunities where team_id = 1126;SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,select * from opportunities where team_id = 1125;select * from contacts cwhere c.team_id = 882;SELECT * FROM activities WHERE id = 76822967;SELECT * FROM crm_profiles WHERE user_id = 15440;SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;SELECT * FROM crm_configurations WHERE id = 555;SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pL. 3911, act. fielSELECTCONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE "' END) AS usersarxt.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_id1.n<->1: on t.id = u.team_idWHERE u.team_id = 581 and sa.provider = 'salesforce'SELECT * FROM automated_report_results order by id desc;select * from team_features where feature_id = 40;select * from teams where id = 556;select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-73453816SELECT * FROM automated_report_results WHERE uvid_to_bin('822fa41b-afd3-43a9-a248select * from automated_report_results order by id desc;SELECT * FROM automated_report_results WHERE id = 1919;select * from automated_report_results WHERE reRontaid = 54;, 0lablAAutomatedReportsCommandTestv100% C•Fri 17 Apr 9:43:39Cascade© Automated Report R+D ...show me exactyl where do we set result as sent or failedThere are 3 places total:Searched |status.*FAILED and performed 1 other queryFocusing only on AutomatedReportResult status transitions:STATUS SENT - set in SendReportMailJob after the email is delivered:M SendReportMailJob.php:135-14g1t (srenort-sstarus le= AutomaredRenortResul T..STATIS SENITcache:: lock("report-status-i$this->reportUuid,, 5)1 file +16›Ask anything (24L)+ ‹› CodelClaude Sonnet 4.6Reject allAccept allwinasur leams23:1 (4759 chars, 141 line breaks)ulr-o4 spaces...
|
NULL
|
|
42021
|
NULL
|
0
|
2026-04-17T06:43:35.443039+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776408215443_m1.jpg...
|
PhpStorm
|
faVsco.js – SendReportMailJob.php
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
1
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Jobs\AutomatedReports;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Contracts\Routing\UrlGenerator;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\RuntimeException;
use Jiminny\Mail\Reports\ReportWithAttachment;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Sentry\Laravel\Facade as Sentry;
use Throwable;
class SendReportMailJob implements ShouldBeUnique, ShouldQueue
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[Send Report Mail]';
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 3;
/**
* The number of seconds to wait before retrying the job.
*
* @var array<int, int>
*/
public array $backoff = [60, 300, 600];
/**
* The maximum number of seconds the job should be allowed to run.
*
* @var int
*/
public int $timeout = 120;
/**
* Create a new job instance.
*/
public function __construct(
private readonly string $reportUuid,
private readonly string $s3Path,
private readonly string $recipientEmail,
private readonly ?string $recipientName,
private readonly string $fileName,
private readonly string $typeName,
private readonly string $teamsName,
private readonly string $periodName,
private readonly bool $isAskJiminny = false,
) {
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
/**
* Get the unique ID for the job.
*/
public function uniqueId(): string
{
return $this->reportUuid . '_' . $this->recipientEmail;
}
/**
* Execute the job.
*/
public function handle(
LoggerInterface $logger,
AutomatedReportsService $automatedReportsService,
UrlGenerator $urlGenerator,
): void {
// Check if the file exists in S3
$disk = Storage::disk('client-data-cloud');
if (! $disk->exists($this->s3Path)) {
$logger->error(self::LOG_PREFIX . ' Report file not found in S3', [
'uuid' => $this->reportUuid,
'path' => $this->s3Path,
'email' => $this->recipientEmail,
]);
throw new RuntimeException('Report file not found in S3');
}
$report = $automatedReportsService->getReportResult($this->reportUuid);
$reportsPageUrl = $urlGenerator->route('ai.reports.show');
$suffix = $automatedReportsService->getMailSubjectSuffix($report);
$mailSubject = $this->isAskJiminny
? 'Your ' . $this->typeName . ' ' . $suffix . ' is ready'
: 'Your ' . $this->typeName . ' ' . $suffix . ' for ' . $this->periodName . ' is ready';
try {
// Create mailable with S3 path
$mailable = new ReportWithAttachment(
s3Path: $this->s3Path,
fileName: $this->fileName,
typeName: $this->typeName,
teamsName: $this->teamsName,
periodName: $this->periodName,
reportsPageUrl: $reportsPageUrl,
mailSubject: $mailSubject,
mediaTypeMetadata: $automatedReportsService->getMediaTypeMetadata($report),
isAskJiminny: $this->isAskJiminny,
);
// Send the email
Mail::mailer('postmark')
->to($this->recipientEmail)
->send($mailable);
$logger->info(self::LOG_PREFIX . ' Email sent', [
'uuid' => $this->reportUuid,
'email' => $this->recipientEmail,
'recipientName' => $this->recipientName,
]);
// Update report status if this is the first successfully sent email
// add cache lock to avoid race conditions
if ($report->status !== AutomatedReportResult::STATUS_SENT) {
Cache::lock("report-status-{$this->reportUuid}", 5)
->block(2, function () use ($report) {
$report->update([
'status' => AutomatedReportResult::STATUS_SENT,
'sent_at' => now(),
]);
});
}
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error sending email', [
'uuid' => $this->reportUuid,
'email' => $this->recipientEmail,
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
// Report to Sentry
Sentry::captureException($e);
// Determine if we should retry or fail
if ($this->attempts() < $this->tries) {
$backoffIndex = min($this->attempts() - 1, count($this->backoff) - 1);
$this->release($this->backoff[$backoffIndex]);
} else {
$this->fail($e);
}
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
34
1
33
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Contracts\\Routing\\UrlGenerator;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Support\\Facades\\Cache;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\RuntimeException;\nuse Jiminny\\Mail\\Reports\\ReportWithAttachment;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Sentry\\Laravel\\Facade as Sentry;\nuse Throwable;\n\nclass SendReportMailJob implements ShouldBeUnique, ShouldQueue\n{\n use Dispatchable;\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages\n */\n private const string LOG_PREFIX = '[Send Report Mail]';\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 3;\n\n /**\n * The number of seconds to wait before retrying the job.\n *\n * @var array<int, int>\n */\n public array $backoff = [60, 300, 600];\n\n /**\n * The maximum number of seconds the job should be allowed to run.\n *\n * @var int\n */\n public int $timeout = 120;\n\n /**\n * Create a new job instance.\n */\n public function __construct(\n private readonly string $reportUuid,\n private readonly string $s3Path,\n private readonly string $recipientEmail,\n private readonly ?string $recipientName,\n private readonly string $fileName,\n private readonly string $typeName,\n private readonly string $teamsName,\n private readonly string $periodName,\n private readonly bool $isAskJiminny = false,\n ) {\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n /**\n * Get the unique ID for the job.\n */\n public function uniqueId(): string\n {\n return $this->reportUuid . '_' . $this->recipientEmail;\n }\n\n /**\n * Execute the job.\n */\n public function handle(\n LoggerInterface $logger,\n AutomatedReportsService $automatedReportsService,\n UrlGenerator $urlGenerator,\n ): void {\n // Check if the file exists in S3\n $disk = Storage::disk('client-data-cloud');\n if (! $disk->exists($this->s3Path)) {\n $logger->error(self::LOG_PREFIX . ' Report file not found in S3', [\n 'uuid' => $this->reportUuid,\n 'path' => $this->s3Path,\n 'email' => $this->recipientEmail,\n ]);\n\n throw new RuntimeException('Report file not found in S3');\n }\n\n $report = $automatedReportsService->getReportResult($this->reportUuid);\n $reportsPageUrl = $urlGenerator->route('ai.reports.show');\n\n $suffix = $automatedReportsService->getMailSubjectSuffix($report);\n $mailSubject = $this->isAskJiminny\n ? 'Your ' . $this->typeName . ' ' . $suffix . ' is ready'\n : 'Your ' . $this->typeName . ' ' . $suffix . ' for ' . $this->periodName . ' is ready';\n\n try {\n // Create mailable with S3 path\n $mailable = new ReportWithAttachment(\n s3Path: $this->s3Path,\n fileName: $this->fileName,\n typeName: $this->typeName,\n teamsName: $this->teamsName,\n periodName: $this->periodName,\n reportsPageUrl: $reportsPageUrl,\n mailSubject: $mailSubject,\n mediaTypeMetadata: $automatedReportsService->getMediaTypeMetadata($report),\n isAskJiminny: $this->isAskJiminny,\n );\n\n // Send the email\n Mail::mailer('postmark')\n ->to($this->recipientEmail)\n ->send($mailable);\n\n $logger->info(self::LOG_PREFIX . ' Email sent', [\n 'uuid' => $this->reportUuid,\n 'email' => $this->recipientEmail,\n 'recipientName' => $this->recipientName,\n ]);\n\n // Update report status if this is the first successfully sent email\n // add cache lock to avoid race conditions\n if ($report->status !== AutomatedReportResult::STATUS_SENT) {\n Cache::lock(\"report-status-{$this->reportUuid}\", 5)\n ->block(2, function () use ($report) {\n $report->update([\n 'status' => AutomatedReportResult::STATUS_SENT,\n 'sent_at' => now(),\n ]);\n });\n }\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error sending email', [\n 'uuid' => $this->reportUuid,\n 'email' => $this->recipientEmail,\n 'error' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n\n // Report to Sentry\n Sentry::captureException($e);\n\n // Determine if we should retry or fail\n if ($this->attempts() < $this->tries) {\n $backoffIndex = min($this->attempts() - 1, count($this->backoff) - 1);\n $this->release($this->backoff[$backoffIndex]);\n } else {\n $this->fail($e);\n }\n }\n }\n}","depth":4,"value":"<?php\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Contracts\\Routing\\UrlGenerator;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Support\\Facades\\Cache;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\RuntimeException;\nuse Jiminny\\Mail\\Reports\\ReportWithAttachment;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Sentry\\Laravel\\Facade as Sentry;\nuse Throwable;\n\nclass SendReportMailJob implements ShouldBeUnique, ShouldQueue\n{\n use Dispatchable;\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages\n */\n private const string LOG_PREFIX = '[Send Report Mail]';\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 3;\n\n /**\n * The number of seconds to wait before retrying the job.\n *\n * @var array<int, int>\n */\n public array $backoff = [60, 300, 600];\n\n /**\n * The maximum number of seconds the job should be allowed to run.\n *\n * @var int\n */\n public int $timeout = 120;\n\n /**\n * Create a new job instance.\n */\n public function __construct(\n private readonly string $reportUuid,\n private readonly string $s3Path,\n private readonly string $recipientEmail,\n private readonly ?string $recipientName,\n private readonly string $fileName,\n private readonly string $typeName,\n private readonly string $teamsName,\n private readonly string $periodName,\n private readonly bool $isAskJiminny = false,\n ) {\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n /**\n * Get the unique ID for the job.\n */\n public function uniqueId(): string\n {\n return $this->reportUuid . '_' . $this->recipientEmail;\n }\n\n /**\n * Execute the job.\n */\n public function handle(\n LoggerInterface $logger,\n AutomatedReportsService $automatedReportsService,\n UrlGenerator $urlGenerator,\n ): void {\n // Check if the file exists in S3\n $disk = Storage::disk('client-data-cloud');\n if (! $disk->exists($this->s3Path)) {\n $logger->error(self::LOG_PREFIX . ' Report file not found in S3', [\n 'uuid' => $this->reportUuid,\n 'path' => $this->s3Path,\n 'email' => $this->recipientEmail,\n ]);\n\n throw new RuntimeException('Report file not found in S3');\n }\n\n $report = $automatedReportsService->getReportResult($this->reportUuid);\n $reportsPageUrl = $urlGenerator->route('ai.reports.show');\n\n $suffix = $automatedReportsService->getMailSubjectSuffix($report);\n $mailSubject = $this->isAskJiminny\n ? 'Your ' . $this->typeName . ' ' . $suffix . ' is ready'\n : 'Your ' . $this->typeName . ' ' . $suffix . ' for ' . $this->periodName . ' is ready';\n\n try {\n // Create mailable with S3 path\n $mailable = new ReportWithAttachment(\n s3Path: $this->s3Path,\n fileName: $this->fileName,\n typeName: $this->typeName,\n teamsName: $this->teamsName,\n periodName: $this->periodName,\n reportsPageUrl: $reportsPageUrl,\n mailSubject: $mailSubject,\n mediaTypeMetadata: $automatedReportsService->getMediaTypeMetadata($report),\n isAskJiminny: $this->isAskJiminny,\n );\n\n // Send the email\n Mail::mailer('postmark')\n ->to($this->recipientEmail)\n ->send($mailable);\n\n $logger->info(self::LOG_PREFIX . ' Email sent', [\n 'uuid' => $this->reportUuid,\n 'email' => $this->recipientEmail,\n 'recipientName' => $this->recipientName,\n ]);\n\n // Update report status if this is the first successfully sent email\n // add cache lock to avoid race conditions\n if ($report->status !== AutomatedReportResult::STATUS_SENT) {\n Cache::lock(\"report-status-{$this->reportUuid}\", 5)\n ->block(2, function () use ($report) {\n $report->update([\n 'status' => AutomatedReportResult::STATUS_SENT,\n 'sent_at' => now(),\n ]);\n });\n }\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error sending email', [\n 'uuid' => $this->reportUuid,\n 'email' => $this->recipientEmail,\n 'error' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n\n // Report to Sentry\n Sentry::captureException($e);\n\n // Determine if we should retry or fail\n if ($this->attempts() < $this->tries) {\n $backoffIndex = min($this->attempts() - 1, count($this->backoff) - 1);\n $this->release($this->backoff[$backoffIndex]);\n } else {\n $this->fail($e);\n }\n }\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"34","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"33","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"61","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;","depth":4,"value":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-3339153271434099438
|
1065678670634825285
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
1
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Jobs\AutomatedReports;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Contracts\Routing\UrlGenerator;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\RuntimeException;
use Jiminny\Mail\Reports\ReportWithAttachment;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Sentry\Laravel\Facade as Sentry;
use Throwable;
class SendReportMailJob implements ShouldBeUnique, ShouldQueue
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[Send Report Mail]';
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 3;
/**
* The number of seconds to wait before retrying the job.
*
* @var array<int, int>
*/
public array $backoff = [60, 300, 600];
/**
* The maximum number of seconds the job should be allowed to run.
*
* @var int
*/
public int $timeout = 120;
/**
* Create a new job instance.
*/
public function __construct(
private readonly string $reportUuid,
private readonly string $s3Path,
private readonly string $recipientEmail,
private readonly ?string $recipientName,
private readonly string $fileName,
private readonly string $typeName,
private readonly string $teamsName,
private readonly string $periodName,
private readonly bool $isAskJiminny = false,
) {
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
/**
* Get the unique ID for the job.
*/
public function uniqueId(): string
{
return $this->reportUuid . '_' . $this->recipientEmail;
}
/**
* Execute the job.
*/
public function handle(
LoggerInterface $logger,
AutomatedReportsService $automatedReportsService,
UrlGenerator $urlGenerator,
): void {
// Check if the file exists in S3
$disk = Storage::disk('client-data-cloud');
if (! $disk->exists($this->s3Path)) {
$logger->error(self::LOG_PREFIX . ' Report file not found in S3', [
'uuid' => $this->reportUuid,
'path' => $this->s3Path,
'email' => $this->recipientEmail,
]);
throw new RuntimeException('Report file not found in S3');
}
$report = $automatedReportsService->getReportResult($this->reportUuid);
$reportsPageUrl = $urlGenerator->route('ai.reports.show');
$suffix = $automatedReportsService->getMailSubjectSuffix($report);
$mailSubject = $this->isAskJiminny
? 'Your ' . $this->typeName . ' ' . $suffix . ' is ready'
: 'Your ' . $this->typeName . ' ' . $suffix . ' for ' . $this->periodName . ' is ready';
try {
// Create mailable with S3 path
$mailable = new ReportWithAttachment(
s3Path: $this->s3Path,
fileName: $this->fileName,
typeName: $this->typeName,
teamsName: $this->teamsName,
periodName: $this->periodName,
reportsPageUrl: $reportsPageUrl,
mailSubject: $mailSubject,
mediaTypeMetadata: $automatedReportsService->getMediaTypeMetadata($report),
isAskJiminny: $this->isAskJiminny,
);
// Send the email
Mail::mailer('postmark')
->to($this->recipientEmail)
->send($mailable);
$logger->info(self::LOG_PREFIX . ' Email sent', [
'uuid' => $this->reportUuid,
'email' => $this->recipientEmail,
'recipientName' => $this->recipientName,
]);
// Update report status if this is the first successfully sent email
// add cache lock to avoid race conditions
if ($report->status !== AutomatedReportResult::STATUS_SENT) {
Cache::lock("report-status-{$this->reportUuid}", 5)
->block(2, function () use ($report) {
$report->update([
'status' => AutomatedReportResult::STATUS_SENT,
'sent_at' => now(),
]);
});
}
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error sending email', [
'uuid' => $this->reportUuid,
'email' => $this->recipientEmail,
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
// Report to Sentry
Sentry::captureException($e);
// Determine if we should retry or fail
if ($this->attempts() < $this->tries) {
$backoffIndex = min($this->attempts() - 1, count($this->backoff) - 1);
$this->release($this->backoff[$backoffIndex]);
} else {
$this->fail($e);
}
}
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
34
1
33
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
|
41934
|
NULL
|
0
|
2026-04-17T06:38:27.017902+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776407907017_m2.jpg...
|
PhpStorm
|
faVsco.js – SendReportJob.php
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
4
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\FileNotFoundException;
use Jiminny\Exceptions\RuntimeException;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class SendReportJob implements ShouldQueue, ShouldBeUnique
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[Send Report]';
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
/**
* The maximum number of seconds the job should be allowed to run.
*
* @var int
*/
public int $timeout = 120;
/**
* Create a new job instance.
*
* @param string $reportUuid The UUID of the report to send
*/
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function handle(
LoggerInterface $logger,
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService
): void {
try {
$report = $automatedReportsService->getReportResult($this->reportUuid);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error getting report result', [
'uuid' => $this->reportUuid,
'exception' => $e->getMessage(),
]);
throw $e;
}
$logger->info(self::LOG_PREFIX . ' Processing report', [
'uuid' => $this->reportUuid,
'status' => $report->getStatusLabel(),
]);
$s3Path = $automatedReportsService->getMediaPath($report);
if ($s3Path === null) {
$logger->error(self::LOG_PREFIX . ' Report media path is null', [
'uuid' => $this->reportUuid,
'mediaType' => $report->getMediaType(),
]);
throw new FileNotFoundException('Report media path could not be resolved');
}
// Verify the file exists in S3
if (! Storage::disk('client-data-cloud')->exists($s3Path)) {
$logger->error(self::LOG_PREFIX . ' Report file not found in S3', [
'uuid' => $this->reportUuid,
's3Path' => $s3Path,
]);
throw new FileNotFoundException('Report file not found in S3');
}
try {
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
if (empty($validRecipients)) {
$logger->error(self::LOG_PREFIX . ' No valid recipients found', [
'uuid' => $this->reportUuid,
]);
throw new RuntimeException("No recipients found for report: {$this->reportUuid}");
}
// Get report metadata (same for all recipients)
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$isAskJiminny = $report->getReport()->isAskJiminnyReport();
// Track how many jobs were dispatched
$dispatchCount = 0;
// Dispatch a job for each recipient
foreach ($validRecipients as $recipient) {
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $this->reportUuid,
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: $isAskJiminny,
)
);
$dispatchCount++;
$logger->info(self::LOG_PREFIX . ' Dispatched mail job', [
'uuid' => $this->reportUuid,
'email' => $recipient['email'],
]);
}
$logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [
'uuid' => $this->reportUuid,
'count' => $dispatchCount,
]);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error processing report', [
'uuid' => $this->reportUuid,
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
// Get current attempt (1-indexed)
$attempt = $this->attempts();
if ($attempt < $this->tries) {
$delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s
$logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [
'delay' => $delay,
]);
$this->release($delay);
} else {
$this->fail($e);
}
}
}
public function failed(Throwable $exception): void
{
AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])
->update(['status' => AutomatedReportResult::STATUS_FAILED]);
}
/**
* Get a unique ID for the job.
*
* @return string
*/
public function uniqueId(): string
{
return $this->reportUuid;
}
}
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/54
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
[
{
"id": 136,
"media_type": "pdf",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 137,
"media_type": "podcast",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 149,
"media_type": "pdf",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 150,
"media_type": "podcast",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 166,
"media_type": "pdf",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 167,
"media_type": "podcast",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 214,
"media_type": "pdf",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 215,
"media_type": "podcast",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 297,
"media_type": "pdf",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 298,
"media_type": "podcast",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 365,
"media_type": "pdf",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 366,
"media_type": "podcast",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 410,
"media_type": "pdf",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 411,
"media_type": "podcast",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 485,
"media_type": "pdf",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 486,
"media_type": "podcast",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 592,
"media_type": "pdf",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 593,
"media_type": "podcast",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 636,
"media_type": "pdf",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 638,
"media_type": "podcast",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 704,
"media_type": "pdf",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 705,
"media_type": "podcast",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 762,
"media_type": "pdf",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 763,
"media_type": "podcast",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 801,
"media_type": "pdf",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 802,
"media_type": "podcast",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 830,
"media_type": "pdf",
"response": null
},
{
"id": 831,
"media_type": "podcast",
"response": null
},
{
"id": 915,
"media_type": "pdf",
"response": null
},
{
"id": 916,
"media_type": "podcast",
"response": null
},
{
"id": 936,
"media_type": "pdf",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 937,
"media_type": "podcast",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 993,
"media_type": "pdf",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 995,
"media_type": "podcast",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 1026,
"media_type": "pdf",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1027,
"media_type": "podcast",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1146,
"media_type": "pdf",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1147,
"media_type": "podcast",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1221,
"media_type": "pdf",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1222,
"media_type": "podcast",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1250,
"media_type": "pdf",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1251,
"media_type": "podcast",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1319,
"media_type": "pdf",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1320,
"media_type": "podcast",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1438,
"media_type": "pdf",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1439,
"media_type": "podcast",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1474,
"media_type": "pdf",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1475,
"media_type": "podcast",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1548,
"media_type": "pdf",
"response": {"request_id":"26ab917c-6907-416d-806d-679c3a49cfc1",
"status":"completed",
"timestamp":"2026-03-16T01:15:23.832336+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429a...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.03046875,"top":0.017361112,"width":0.0453125,"height":0.022222223},"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"bounds":{"left":0.07578125,"top":0.017361112,"width":0.14960937,"height":0.022222223},"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.78515625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"bounds":{"left":0.803125,"top":0.017361112,"width":0.09765625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9007813,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9140625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9273437,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96015626,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9734375,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9867188,"top":0.017361112,"width":0.013281226,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.009375,"height":0.0},"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.008203125,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\FileNotFoundException;\nuse Jiminny\\Exceptions\\RuntimeException;\nuse Jiminny\\Jobs\\JobDispatcherInterface;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass SendReportJob implements ShouldQueue, ShouldBeUnique\n{\n use Dispatchable;\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages\n */\n private const string LOG_PREFIX = '[Send Report]';\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n /**\n * The maximum number of seconds the job should be allowed to run.\n *\n * @var int\n */\n public int $timeout = 120;\n\n /**\n * Create a new job instance.\n *\n * @param string $reportUuid The UUID of the report to send\n */\n public function __construct(private readonly string $reportUuid)\n {\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function handle(\n LoggerInterface $logger,\n JobDispatcherInterface $jobDispatcher,\n AutomatedReportsService $automatedReportsService\n ): void {\n try {\n $report = $automatedReportsService->getReportResult($this->reportUuid);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error getting report result', [\n 'uuid' => $this->reportUuid,\n 'exception' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n $logger->info(self::LOG_PREFIX . ' Processing report', [\n 'uuid' => $this->reportUuid,\n 'status' => $report->getStatusLabel(),\n ]);\n\n $s3Path = $automatedReportsService->getMediaPath($report);\n\n if ($s3Path === null) {\n $logger->error(self::LOG_PREFIX . ' Report media path is null', [\n 'uuid' => $this->reportUuid,\n 'mediaType' => $report->getMediaType(),\n ]);\n\n throw new FileNotFoundException('Report media path could not be resolved');\n }\n\n // Verify the file exists in S3\n if (! Storage::disk('client-data-cloud')->exists($s3Path)) {\n $logger->error(self::LOG_PREFIX . ' Report file not found in S3', [\n 'uuid' => $this->reportUuid,\n 's3Path' => $s3Path,\n ]);\n\n throw new FileNotFoundException('Report file not found in S3');\n }\n\n try {\n $validRecipients = $automatedReportsService->getValidRecipientUsers(\n $report->getReport(),\n includeJiminny: true,\n );\n\n if (empty($validRecipients)) {\n $logger->error(self::LOG_PREFIX . ' No valid recipients found', [\n 'uuid' => $this->reportUuid,\n ]);\n\n throw new RuntimeException(\"No recipients found for report: {$this->reportUuid}\");\n }\n\n // Get report metadata (same for all recipients)\n $fileName = $automatedReportsService->getReportFileName($report);\n $typeName = $report->getReport()->getCustomName()\n ?? $automatedReportsService->getReportTypeName($report);\n $teamsName = $automatedReportsService->getReportTeamsName($report);\n $periodName = $automatedReportsService->getReportPeriodName($report);\n $isAskJiminny = $report->getReport()->isAskJiminnyReport();\n\n // Track how many jobs were dispatched\n $dispatchCount = 0;\n\n // Dispatch a job for each recipient\n foreach ($validRecipients as $recipient) {\n $jobDispatcher->dispatch(\n new SendReportMailJob(\n reportUuid: $this->reportUuid,\n s3Path: $s3Path,\n recipientEmail: $recipient['email'],\n recipientName: $recipient['name'] ?? null,\n fileName: $fileName,\n typeName: $typeName,\n teamsName: $teamsName,\n periodName: $periodName,\n isAskJiminny: $isAskJiminny,\n )\n );\n $dispatchCount++;\n\n $logger->info(self::LOG_PREFIX . ' Dispatched mail job', [\n 'uuid' => $this->reportUuid,\n 'email' => $recipient['email'],\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [\n 'uuid' => $this->reportUuid,\n 'count' => $dispatchCount,\n ]);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error processing report', [\n 'uuid' => $this->reportUuid,\n 'error' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n\n // Get current attempt (1-indexed)\n $attempt = $this->attempts();\n\n if ($attempt < $this->tries) {\n $delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s\n\n $logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [\n 'delay' => $delay,\n ]);\n\n $this->release($delay);\n } else {\n $this->fail($e);\n }\n }\n }\n\n public function failed(Throwable $exception): void\n {\n AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])\n ->update(['status' => AutomatedReportResult::STATUS_FAILED]);\n }\n\n /**\n * Get a unique ID for the job.\n *\n * @return string\n */\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\FileNotFoundException;\nuse Jiminny\\Exceptions\\RuntimeException;\nuse Jiminny\\Jobs\\JobDispatcherInterface;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass SendReportJob implements ShouldQueue, ShouldBeUnique\n{\n use Dispatchable;\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages\n */\n private const string LOG_PREFIX = '[Send Report]';\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n /**\n * The maximum number of seconds the job should be allowed to run.\n *\n * @var int\n */\n public int $timeout = 120;\n\n /**\n * Create a new job instance.\n *\n * @param string $reportUuid The UUID of the report to send\n */\n public function __construct(private readonly string $reportUuid)\n {\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function handle(\n LoggerInterface $logger,\n JobDispatcherInterface $jobDispatcher,\n AutomatedReportsService $automatedReportsService\n ): void {\n try {\n $report = $automatedReportsService->getReportResult($this->reportUuid);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error getting report result', [\n 'uuid' => $this->reportUuid,\n 'exception' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n $logger->info(self::LOG_PREFIX . ' Processing report', [\n 'uuid' => $this->reportUuid,\n 'status' => $report->getStatusLabel(),\n ]);\n\n $s3Path = $automatedReportsService->getMediaPath($report);\n\n if ($s3Path === null) {\n $logger->error(self::LOG_PREFIX . ' Report media path is null', [\n 'uuid' => $this->reportUuid,\n 'mediaType' => $report->getMediaType(),\n ]);\n\n throw new FileNotFoundException('Report media path could not be resolved');\n }\n\n // Verify the file exists in S3\n if (! Storage::disk('client-data-cloud')->exists($s3Path)) {\n $logger->error(self::LOG_PREFIX . ' Report file not found in S3', [\n 'uuid' => $this->reportUuid,\n 's3Path' => $s3Path,\n ]);\n\n throw new FileNotFoundException('Report file not found in S3');\n }\n\n try {\n $validRecipients = $automatedReportsService->getValidRecipientUsers(\n $report->getReport(),\n includeJiminny: true,\n );\n\n if (empty($validRecipients)) {\n $logger->error(self::LOG_PREFIX . ' No valid recipients found', [\n 'uuid' => $this->reportUuid,\n ]);\n\n throw new RuntimeException(\"No recipients found for report: {$this->reportUuid}\");\n }\n\n // Get report metadata (same for all recipients)\n $fileName = $automatedReportsService->getReportFileName($report);\n $typeName = $report->getReport()->getCustomName()\n ?? $automatedReportsService->getReportTypeName($report);\n $teamsName = $automatedReportsService->getReportTeamsName($report);\n $periodName = $automatedReportsService->getReportPeriodName($report);\n $isAskJiminny = $report->getReport()->isAskJiminnyReport();\n\n // Track how many jobs were dispatched\n $dispatchCount = 0;\n\n // Dispatch a job for each recipient\n foreach ($validRecipients as $recipient) {\n $jobDispatcher->dispatch(\n new SendReportMailJob(\n reportUuid: $this->reportUuid,\n s3Path: $s3Path,\n recipientEmail: $recipient['email'],\n recipientName: $recipient['name'] ?? null,\n fileName: $fileName,\n typeName: $typeName,\n teamsName: $teamsName,\n periodName: $periodName,\n isAskJiminny: $isAskJiminny,\n )\n );\n $dispatchCount++;\n\n $logger->info(self::LOG_PREFIX . ' Dispatched mail job', [\n 'uuid' => $this->reportUuid,\n 'email' => $recipient['email'],\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [\n 'uuid' => $this->reportUuid,\n 'count' => $dispatchCount,\n ]);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error processing report', [\n 'uuid' => $this->reportUuid,\n 'error' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n\n // Get current attempt (1-indexed)\n $attempt = $this->attempts();\n\n if ($attempt < $this->tries) {\n $delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s\n\n $logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [\n 'delay' => $delay,\n ]);\n\n $this->release($delay);\n } else {\n $this->fail($e);\n }\n }\n }\n\n public function failed(Throwable $exception): void\n {\n AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])\n ->update(['status' => AutomatedReportResult::STATUS_FAILED]);\n }\n\n /**\n * Get a unique ID for the job.\n *\n * @return string\n */\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"bounds":{"left":0.38554686,"top":0.09166667,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.40039062,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"\"podcast_audio_url\"","depth":4,"bounds":{"left":0.41328126,"top":0.09097222,"width":0.12460937,"height":0.013888889},"value":"\"podcast_audio_url\"","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.5484375,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.5601562,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.5703125,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.5804688,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/54","depth":4,"bounds":{"left":0.59648436,"top":0.090277776,"width":0.030078124,"height":0.015277778},"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.6265625,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"bounds":{"left":0.63671875,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"bounds":{"left":0.646875,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"bounds":{"left":0.65703124,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.71132815,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"[\n {\n \"id\": 136,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 137,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 149,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 150,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 166,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 167,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 214,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 215,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 297,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 298,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 365,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 366,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 410,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 411,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 485,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 486,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 592,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 593,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 636,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 638,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 704,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 705,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 762,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 763,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 801,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 802,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 830,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 831,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 915,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 916,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 936,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 937,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 993,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 995,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 1026,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1027,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1146,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1147,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1221,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1222,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1250,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1251,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1319,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1320,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1438,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1439,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1474,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1475,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1548,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1549,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1597,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1598,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1659,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1660,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1809,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1810,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1872,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n },\n {\n \"id\": 1873,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n }\n]","depth":4,"bounds":{"left":0.40625,"top":0.10555556,"width":0.471875,"height":0.89444447},"value":"[\n {\n \"id\": 136,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 137,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 149,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 150,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 166,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 167,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 214,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 215,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 297,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 298,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 365,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 366,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 410,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 411,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 485,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 486,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 592,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 593,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 636,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 638,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 704,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 705,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 762,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 763,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 801,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 802,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 830,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 831,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 915,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 916,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 936,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 937,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 993,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 995,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 1026,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1027,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1146,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1147,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1221,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1222,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1250,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1251,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1319,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1320,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1438,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1439,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1474,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1475,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1548,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1549,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1597,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1598,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1659,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1660,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1809,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1810,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1872,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n },\n {\n \"id\": 1873,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n }\n]","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.0140625,"top":0.041666668,"width":0.028515626,"height":0.021527778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-6132714977961738154
|
-9219075076702366935
|
visual_change
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
4
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\FileNotFoundException;
use Jiminny\Exceptions\RuntimeException;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class SendReportJob implements ShouldQueue, ShouldBeUnique
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[Send Report]';
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
/**
* The maximum number of seconds the job should be allowed to run.
*
* @var int
*/
public int $timeout = 120;
/**
* Create a new job instance.
*
* @param string $reportUuid The UUID of the report to send
*/
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function handle(
LoggerInterface $logger,
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService
): void {
try {
$report = $automatedReportsService->getReportResult($this->reportUuid);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error getting report result', [
'uuid' => $this->reportUuid,
'exception' => $e->getMessage(),
]);
throw $e;
}
$logger->info(self::LOG_PREFIX . ' Processing report', [
'uuid' => $this->reportUuid,
'status' => $report->getStatusLabel(),
]);
$s3Path = $automatedReportsService->getMediaPath($report);
if ($s3Path === null) {
$logger->error(self::LOG_PREFIX . ' Report media path is null', [
'uuid' => $this->reportUuid,
'mediaType' => $report->getMediaType(),
]);
throw new FileNotFoundException('Report media path could not be resolved');
}
// Verify the file exists in S3
if (! Storage::disk('client-data-cloud')->exists($s3Path)) {
$logger->error(self::LOG_PREFIX . ' Report file not found in S3', [
'uuid' => $this->reportUuid,
's3Path' => $s3Path,
]);
throw new FileNotFoundException('Report file not found in S3');
}
try {
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
if (empty($validRecipients)) {
$logger->error(self::LOG_PREFIX . ' No valid recipients found', [
'uuid' => $this->reportUuid,
]);
throw new RuntimeException("No recipients found for report: {$this->reportUuid}");
}
// Get report metadata (same for all recipients)
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$isAskJiminny = $report->getReport()->isAskJiminnyReport();
// Track how many jobs were dispatched
$dispatchCount = 0;
// Dispatch a job for each recipient
foreach ($validRecipients as $recipient) {
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $this->reportUuid,
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: $isAskJiminny,
)
);
$dispatchCount++;
$logger->info(self::LOG_PREFIX . ' Dispatched mail job', [
'uuid' => $this->reportUuid,
'email' => $recipient['email'],
]);
}
$logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [
'uuid' => $this->reportUuid,
'count' => $dispatchCount,
]);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error processing report', [
'uuid' => $this->reportUuid,
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
// Get current attempt (1-indexed)
$attempt = $this->attempts();
if ($attempt < $this->tries) {
$delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s
$logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [
'delay' => $delay,
]);
$this->release($delay);
} else {
$this->fail($e);
}
}
}
public function failed(Throwable $exception): void
{
AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])
->update(['status' => AutomatedReportResult::STATUS_FAILED]);
}
/**
* Get a unique ID for the job.
*
* @return string
*/
public function uniqueId(): string
{
return $this->reportUuid;
}
}
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/54
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
[
{
"id": 136,
"media_type": "pdf",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 137,
"media_type": "podcast",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 149,
"media_type": "pdf",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 150,
"media_type": "podcast",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 166,
"media_type": "pdf",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 167,
"media_type": "podcast",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 214,
"media_type": "pdf",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 215,
"media_type": "podcast",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 297,
"media_type": "pdf",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 298,
"media_type": "podcast",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 365,
"media_type": "pdf",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 366,
"media_type": "podcast",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 410,
"media_type": "pdf",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 411,
"media_type": "podcast",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 485,
"media_type": "pdf",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 486,
"media_type": "podcast",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 592,
"media_type": "pdf",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 593,
"media_type": "podcast",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 636,
"media_type": "pdf",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 638,
"media_type": "podcast",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 704,
"media_type": "pdf",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 705,
"media_type": "podcast",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 762,
"media_type": "pdf",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 763,
"media_type": "podcast",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 801,
"media_type": "pdf",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 802,
"media_type": "podcast",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 830,
"media_type": "pdf",
"response": null
},
{
"id": 831,
"media_type": "podcast",
"response": null
},
{
"id": 915,
"media_type": "pdf",
"response": null
},
{
"id": 916,
"media_type": "podcast",
"response": null
},
{
"id": 936,
"media_type": "pdf",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 937,
"media_type": "podcast",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 993,
"media_type": "pdf",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 995,
"media_type": "podcast",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 1026,
"media_type": "pdf",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1027,
"media_type": "podcast",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1146,
"media_type": "pdf",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1147,
"media_type": "podcast",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1221,
"media_type": "pdf",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1222,
"media_type": "podcast",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1250,
"media_type": "pdf",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1251,
"media_type": "podcast",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1319,
"media_type": "pdf",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1320,
"media_type": "podcast",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1438,
"media_type": "pdf",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1439,
"media_type": "podcast",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1474,
"media_type": "pdf",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1475,
"media_type": "podcast",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1548,
"media_type": "pdf",
"response": {"request_id":"26ab917c-6907-416d-806d-679c3a49cfc1",
"status":"completed",
"timestamp":"2026-03-16T01:15:23.832336+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429a...
|
NULL
|
|
41929
|
NULL
|
0
|
2026-04-17T06:38:05.921757+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776407885921_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorRu PhpStormFileEditViewNavigateCodeLaravelRefactorRunToolsGitWindowHelpEU (ssh)DOCKERDEV (-zsh)О 882APP (-zsh)883-zshXI11 DOCKER (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/infrastructure/dev/docker or its parentsPoetry could not find a pyproject.toml/docker or its parentsin /Users/lukas/jiminny/infrastructure/dev(allA* Review screenpipe U...100% 1478Fri 17 Apr 9:38:05181*4-zsh®О885PROD (ssh)Run 'do-release-upgrade' to upgrade to it.•*6-zshPRODlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$Lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$ 0*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X L3 EU (ssh)New release '24.04.4 LTS' available.Run'do-release-upgrade'to upgrade to it.U*** System restart required ***login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$ |T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX T7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|...
|
NULL
|
4223737749845330084
|
NULL
|
click
|
ocr
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorRu PhpStormFileEditViewNavigateCodeLaravelRefactorRunToolsGitWindowHelpEU (ssh)DOCKERDEV (-zsh)О 882APP (-zsh)883-zshXI11 DOCKER (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/infrastructure/dev/docker or its parentsPoetry could not find a pyproject.toml/docker or its parentsin /Users/lukas/jiminny/infrastructure/dev(allA* Review screenpipe U...100% 1478Fri 17 Apr 9:38:05181*4-zsh®О885PROD (ssh)Run 'do-release-upgrade' to upgrade to it.•*6-zshPRODlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$Lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$ 0*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X L3 EU (ssh)New release '24.04.4 LTS' available.Run'do-release-upgrade'to upgrade to it.U*** System restart required ***login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$ |T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX T7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|...
|
NULL
|
|
41898
|
NULL
|
0
|
2026-04-17T06:33:20.256625+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776407600256_m1.jpg...
|
PhpStorm
|
faVsco.js – SendReportJob.php
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
4
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\FileNotFoundException;
use Jiminny\Exceptions\RuntimeException;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class SendReportJob implements ShouldQueue, ShouldBeUnique
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[Send Report]';
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
/**
* The maximum number of seconds the job should be allowed to run.
*
* @var int
*/
public int $timeout = 120;
/**
* Create a new job instance.
*
* @param string $reportUuid The UUID of the report to send
*/
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function handle(
LoggerInterface $logger,
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService
): void {
try {
$report = $automatedReportsService->getReportResult($this->reportUuid);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error getting report result', [
'uuid' => $this->reportUuid,
'exception' => $e->getMessage(),
]);
throw $e;
}
$logger->info(self::LOG_PREFIX . ' Processing report', [
'uuid' => $this->reportUuid,
'status' => $report->getStatusLabel(),
]);
$s3Path = $automatedReportsService->getMediaPath($report);
if ($s3Path === null) {
$logger->error(self::LOG_PREFIX . ' Report media path is null', [
'uuid' => $this->reportUuid,
'mediaType' => $report->getMediaType(),
]);
throw new FileNotFoundException('Report media path could not be resolved');
}
// Verify the file exists in S3
if (! Storage::disk('client-data-cloud')->exists($s3Path)) {
$logger->error(self::LOG_PREFIX . ' Report file not found in S3', [
'uuid' => $this->reportUuid,
's3Path' => $s3Path,
]);
throw new FileNotFoundException('Report file not found in S3');
}
try {
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
if (empty($validRecipients)) {
$logger->error(self::LOG_PREFIX . ' No valid recipients found', [
'uuid' => $this->reportUuid,
]);
throw new RuntimeException("No recipients found for report: {$this->reportUuid}");
}
// Get report metadata (same for all recipients)
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$isAskJiminny = $report->getReport()->isAskJiminnyReport();
// Track how many jobs were dispatched
$dispatchCount = 0;
// Dispatch a job for each recipient
foreach ($validRecipients as $recipient) {
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $this->reportUuid,
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: $isAskJiminny,
)
);
$dispatchCount++;
$logger->info(self::LOG_PREFIX . ' Dispatched mail job', [
'uuid' => $this->reportUuid,
'email' => $recipient['email'],
]);
}
$logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [
'uuid' => $this->reportUuid,
'count' => $dispatchCount,
]);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error processing report', [
'uuid' => $this->reportUuid,
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
// Get current attempt (1-indexed)
$attempt = $this->attempts();
if ($attempt < $this->tries) {
$delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s
$logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [
'delay' => $delay,
]);
$this->release($delay);
} else {
$this->fail($e);
}
}
}
public function failed(Throwable $exception): void
{
AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])
->update(['status' => AutomatedReportResult::STATUS_FAILED]);
}
/**
* Get a unique ID for the job.
*
* @return string
*/
public function uniqueId(): string
{
return $this->reportUuid;
}
}
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/54
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
[
{
"id": 136,
"media_type": "pdf",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 137,
"media_type": "podcast",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 149,
"media_type": "pdf",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 150,
"media_type": "podcast",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 166,
"media_type": "pdf",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 167,
"media_type": "podcast",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 214,
"media_type": "pdf",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 215,
"media_type": "podcast",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 297,
"media_type": "pdf",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 298,
"media_type": "podcast",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 365,
"media_type": "pdf",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 366,
"media_type": "podcast",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 410,
"media_type": "pdf",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 411,
"media_type": "podcast",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 485,
"media_type": "pdf",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 486,
"media_type": "podcast",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 592,
"media_type": "pdf",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 593,
"media_type": "podcast",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 636,
"media_type": "pdf",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 638,
"media_type": "podcast",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 704,
"media_type": "pdf",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 705,
"media_type": "podcast",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 762,
"media_type": "pdf",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 763,
"media_type": "podcast",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 801,
"media_type": "pdf",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 802,
"media_type": "podcast",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 830,
"media_type": "pdf",
"response": null
},
{
"id": 831,
"media_type": "podcast",
"response": null
},
{
"id": 915,
"media_type": "pdf",
"response": null
},
{
"id": 916,
"media_type": "podcast",
"response": null
},
{
"id": 936,
"media_type": "pdf",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 937,
"media_type": "podcast",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 993,
"media_type": "pdf",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 995,
"media_type": "podcast",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 1026,
"media_type": "pdf",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1027,
"media_type": "podcast",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1146,
"media_type": "pdf",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1147,
"media_type": "podcast",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1221,
"media_type": "pdf",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1222,
"media_type": "podcast",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1250,
"media_type": "pdf",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1251,
"media_type": "podcast",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1319,
"media_type": "pdf",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1320,
"media_type": "podcast",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1438,
"media_type": "pdf",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1439,
"media_type": "podcast",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1474,
"media_type": "pdf",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1475,
"media_type": "podcast",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1548,
"media_type": "pdf",
"response": {"request_id":"26ab917c-6907-416d-806d-679c3a49cfc1",
"status":"completed",
"timestamp":"2026-03-16T01:15:23.832336+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429a...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016666668,"height":0.02111111},"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.02111111},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.025555555},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.014583333,"height":0.025555555},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\FileNotFoundException;\nuse Jiminny\\Exceptions\\RuntimeException;\nuse Jiminny\\Jobs\\JobDispatcherInterface;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass SendReportJob implements ShouldQueue, ShouldBeUnique\n{\n use Dispatchable;\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages\n */\n private const string LOG_PREFIX = '[Send Report]';\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n /**\n * The maximum number of seconds the job should be allowed to run.\n *\n * @var int\n */\n public int $timeout = 120;\n\n /**\n * Create a new job instance.\n *\n * @param string $reportUuid The UUID of the report to send\n */\n public function __construct(private readonly string $reportUuid)\n {\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function handle(\n LoggerInterface $logger,\n JobDispatcherInterface $jobDispatcher,\n AutomatedReportsService $automatedReportsService\n ): void {\n try {\n $report = $automatedReportsService->getReportResult($this->reportUuid);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error getting report result', [\n 'uuid' => $this->reportUuid,\n 'exception' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n $logger->info(self::LOG_PREFIX . ' Processing report', [\n 'uuid' => $this->reportUuid,\n 'status' => $report->getStatusLabel(),\n ]);\n\n $s3Path = $automatedReportsService->getMediaPath($report);\n\n if ($s3Path === null) {\n $logger->error(self::LOG_PREFIX . ' Report media path is null', [\n 'uuid' => $this->reportUuid,\n 'mediaType' => $report->getMediaType(),\n ]);\n\n throw new FileNotFoundException('Report media path could not be resolved');\n }\n\n // Verify the file exists in S3\n if (! Storage::disk('client-data-cloud')->exists($s3Path)) {\n $logger->error(self::LOG_PREFIX . ' Report file not found in S3', [\n 'uuid' => $this->reportUuid,\n 's3Path' => $s3Path,\n ]);\n\n throw new FileNotFoundException('Report file not found in S3');\n }\n\n try {\n $validRecipients = $automatedReportsService->getValidRecipientUsers(\n $report->getReport(),\n includeJiminny: true,\n );\n\n if (empty($validRecipients)) {\n $logger->error(self::LOG_PREFIX . ' No valid recipients found', [\n 'uuid' => $this->reportUuid,\n ]);\n\n throw new RuntimeException(\"No recipients found for report: {$this->reportUuid}\");\n }\n\n // Get report metadata (same for all recipients)\n $fileName = $automatedReportsService->getReportFileName($report);\n $typeName = $report->getReport()->getCustomName()\n ?? $automatedReportsService->getReportTypeName($report);\n $teamsName = $automatedReportsService->getReportTeamsName($report);\n $periodName = $automatedReportsService->getReportPeriodName($report);\n $isAskJiminny = $report->getReport()->isAskJiminnyReport();\n\n // Track how many jobs were dispatched\n $dispatchCount = 0;\n\n // Dispatch a job for each recipient\n foreach ($validRecipients as $recipient) {\n $jobDispatcher->dispatch(\n new SendReportMailJob(\n reportUuid: $this->reportUuid,\n s3Path: $s3Path,\n recipientEmail: $recipient['email'],\n recipientName: $recipient['name'] ?? null,\n fileName: $fileName,\n typeName: $typeName,\n teamsName: $teamsName,\n periodName: $periodName,\n isAskJiminny: $isAskJiminny,\n )\n );\n $dispatchCount++;\n\n $logger->info(self::LOG_PREFIX . ' Dispatched mail job', [\n 'uuid' => $this->reportUuid,\n 'email' => $recipient['email'],\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [\n 'uuid' => $this->reportUuid,\n 'count' => $dispatchCount,\n ]);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error processing report', [\n 'uuid' => $this->reportUuid,\n 'error' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n\n // Get current attempt (1-indexed)\n $attempt = $this->attempts();\n\n if ($attempt < $this->tries) {\n $delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s\n\n $logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [\n 'delay' => $delay,\n ]);\n\n $this->release($delay);\n } else {\n $this->fail($e);\n }\n }\n }\n\n public function failed(Throwable $exception): void\n {\n AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])\n ->update(['status' => AutomatedReportResult::STATUS_FAILED]);\n }\n\n /**\n * Get a unique ID for the job.\n *\n * @return string\n */\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\FileNotFoundException;\nuse Jiminny\\Exceptions\\RuntimeException;\nuse Jiminny\\Jobs\\JobDispatcherInterface;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass SendReportJob implements ShouldQueue, ShouldBeUnique\n{\n use Dispatchable;\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages\n */\n private const string LOG_PREFIX = '[Send Report]';\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n /**\n * The maximum number of seconds the job should be allowed to run.\n *\n * @var int\n */\n public int $timeout = 120;\n\n /**\n * Create a new job instance.\n *\n * @param string $reportUuid The UUID of the report to send\n */\n public function __construct(private readonly string $reportUuid)\n {\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function handle(\n LoggerInterface $logger,\n JobDispatcherInterface $jobDispatcher,\n AutomatedReportsService $automatedReportsService\n ): void {\n try {\n $report = $automatedReportsService->getReportResult($this->reportUuid);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error getting report result', [\n 'uuid' => $this->reportUuid,\n 'exception' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n $logger->info(self::LOG_PREFIX . ' Processing report', [\n 'uuid' => $this->reportUuid,\n 'status' => $report->getStatusLabel(),\n ]);\n\n $s3Path = $automatedReportsService->getMediaPath($report);\n\n if ($s3Path === null) {\n $logger->error(self::LOG_PREFIX . ' Report media path is null', [\n 'uuid' => $this->reportUuid,\n 'mediaType' => $report->getMediaType(),\n ]);\n\n throw new FileNotFoundException('Report media path could not be resolved');\n }\n\n // Verify the file exists in S3\n if (! Storage::disk('client-data-cloud')->exists($s3Path)) {\n $logger->error(self::LOG_PREFIX . ' Report file not found in S3', [\n 'uuid' => $this->reportUuid,\n 's3Path' => $s3Path,\n ]);\n\n throw new FileNotFoundException('Report file not found in S3');\n }\n\n try {\n $validRecipients = $automatedReportsService->getValidRecipientUsers(\n $report->getReport(),\n includeJiminny: true,\n );\n\n if (empty($validRecipients)) {\n $logger->error(self::LOG_PREFIX . ' No valid recipients found', [\n 'uuid' => $this->reportUuid,\n ]);\n\n throw new RuntimeException(\"No recipients found for report: {$this->reportUuid}\");\n }\n\n // Get report metadata (same for all recipients)\n $fileName = $automatedReportsService->getReportFileName($report);\n $typeName = $report->getReport()->getCustomName()\n ?? $automatedReportsService->getReportTypeName($report);\n $teamsName = $automatedReportsService->getReportTeamsName($report);\n $periodName = $automatedReportsService->getReportPeriodName($report);\n $isAskJiminny = $report->getReport()->isAskJiminnyReport();\n\n // Track how many jobs were dispatched\n $dispatchCount = 0;\n\n // Dispatch a job for each recipient\n foreach ($validRecipients as $recipient) {\n $jobDispatcher->dispatch(\n new SendReportMailJob(\n reportUuid: $this->reportUuid,\n s3Path: $s3Path,\n recipientEmail: $recipient['email'],\n recipientName: $recipient['name'] ?? null,\n fileName: $fileName,\n typeName: $typeName,\n teamsName: $teamsName,\n periodName: $periodName,\n isAskJiminny: $isAskJiminny,\n )\n );\n $dispatchCount++;\n\n $logger->info(self::LOG_PREFIX . ' Dispatched mail job', [\n 'uuid' => $this->reportUuid,\n 'email' => $recipient['email'],\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [\n 'uuid' => $this->reportUuid,\n 'count' => $dispatchCount,\n ]);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error processing report', [\n 'uuid' => $this->reportUuid,\n 'error' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n\n // Get current attempt (1-indexed)\n $attempt = $this->attempts();\n\n if ($attempt < $this->tries) {\n $delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s\n\n $logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [\n 'delay' => $delay,\n ]);\n\n $this->release($delay);\n } else {\n $this->fail($e);\n }\n }\n }\n\n public function failed(Throwable $exception): void\n {\n AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])\n ->update(['status' => AutomatedReportResult::STATUS_FAILED]);\n }\n\n /**\n * Get a unique ID for the job.\n *\n * @return string\n */\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"\"podcast_audio_url\"","depth":4,"value":"\"podcast_audio_url\"","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/54","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"[\n {\n \"id\": 136,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 137,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 149,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 150,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 166,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 167,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 214,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 215,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 297,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 298,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 365,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 366,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 410,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 411,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 485,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 486,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 592,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 593,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 636,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 638,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 704,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 705,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 762,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 763,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 801,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 802,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 830,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 831,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 915,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 916,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 936,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 937,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 993,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 995,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 1026,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1027,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1146,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1147,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1221,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1222,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1250,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1251,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1319,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1320,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1438,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1439,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1474,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1475,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1548,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1549,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1597,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1598,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1659,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1660,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1809,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1810,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1872,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n },\n {\n \"id\": 1873,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n }\n]","depth":4,"value":"[\n {\n \"id\": 136,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 137,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 149,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 150,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 166,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 167,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 214,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 215,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 297,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 298,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 365,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 366,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 410,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 411,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 485,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 486,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 592,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 593,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 636,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 638,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 704,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 705,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 762,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 763,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 801,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 802,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 830,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 831,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 915,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 916,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 936,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 937,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 993,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 995,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 1026,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1027,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1146,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1147,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1221,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1222,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1250,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1251,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1319,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1320,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1438,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1439,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1474,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1475,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1548,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1549,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1597,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1598,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1659,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1660,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1809,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1810,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1872,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n },\n {\n \"id\": 1873,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n }\n]","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-6132714977961738154
|
-9219075076702366935
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
4
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\FileNotFoundException;
use Jiminny\Exceptions\RuntimeException;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class SendReportJob implements ShouldQueue, ShouldBeUnique
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[Send Report]';
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
/**
* The maximum number of seconds the job should be allowed to run.
*
* @var int
*/
public int $timeout = 120;
/**
* Create a new job instance.
*
* @param string $reportUuid The UUID of the report to send
*/
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function handle(
LoggerInterface $logger,
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService
): void {
try {
$report = $automatedReportsService->getReportResult($this->reportUuid);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error getting report result', [
'uuid' => $this->reportUuid,
'exception' => $e->getMessage(),
]);
throw $e;
}
$logger->info(self::LOG_PREFIX . ' Processing report', [
'uuid' => $this->reportUuid,
'status' => $report->getStatusLabel(),
]);
$s3Path = $automatedReportsService->getMediaPath($report);
if ($s3Path === null) {
$logger->error(self::LOG_PREFIX . ' Report media path is null', [
'uuid' => $this->reportUuid,
'mediaType' => $report->getMediaType(),
]);
throw new FileNotFoundException('Report media path could not be resolved');
}
// Verify the file exists in S3
if (! Storage::disk('client-data-cloud')->exists($s3Path)) {
$logger->error(self::LOG_PREFIX . ' Report file not found in S3', [
'uuid' => $this->reportUuid,
's3Path' => $s3Path,
]);
throw new FileNotFoundException('Report file not found in S3');
}
try {
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
if (empty($validRecipients)) {
$logger->error(self::LOG_PREFIX . ' No valid recipients found', [
'uuid' => $this->reportUuid,
]);
throw new RuntimeException("No recipients found for report: {$this->reportUuid}");
}
// Get report metadata (same for all recipients)
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$isAskJiminny = $report->getReport()->isAskJiminnyReport();
// Track how many jobs were dispatched
$dispatchCount = 0;
// Dispatch a job for each recipient
foreach ($validRecipients as $recipient) {
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $this->reportUuid,
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: $isAskJiminny,
)
);
$dispatchCount++;
$logger->info(self::LOG_PREFIX . ' Dispatched mail job', [
'uuid' => $this->reportUuid,
'email' => $recipient['email'],
]);
}
$logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [
'uuid' => $this->reportUuid,
'count' => $dispatchCount,
]);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error processing report', [
'uuid' => $this->reportUuid,
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
// Get current attempt (1-indexed)
$attempt = $this->attempts();
if ($attempt < $this->tries) {
$delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s
$logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [
'delay' => $delay,
]);
$this->release($delay);
} else {
$this->fail($e);
}
}
}
public function failed(Throwable $exception): void
{
AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])
->update(['status' => AutomatedReportResult::STATUS_FAILED]);
}
/**
* Get a unique ID for the job.
*
* @return string
*/
public function uniqueId(): string
{
return $this->reportUuid;
}
}
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/54
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
[
{
"id": 136,
"media_type": "pdf",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 137,
"media_type": "podcast",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 149,
"media_type": "pdf",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 150,
"media_type": "podcast",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 166,
"media_type": "pdf",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 167,
"media_type": "podcast",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 214,
"media_type": "pdf",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 215,
"media_type": "podcast",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 297,
"media_type": "pdf",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 298,
"media_type": "podcast",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 365,
"media_type": "pdf",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 366,
"media_type": "podcast",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 410,
"media_type": "pdf",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 411,
"media_type": "podcast",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 485,
"media_type": "pdf",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 486,
"media_type": "podcast",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 592,
"media_type": "pdf",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 593,
"media_type": "podcast",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 636,
"media_type": "pdf",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 638,
"media_type": "podcast",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 704,
"media_type": "pdf",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 705,
"media_type": "podcast",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 762,
"media_type": "pdf",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 763,
"media_type": "podcast",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 801,
"media_type": "pdf",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 802,
"media_type": "podcast",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 830,
"media_type": "pdf",
"response": null
},
{
"id": 831,
"media_type": "podcast",
"response": null
},
{
"id": 915,
"media_type": "pdf",
"response": null
},
{
"id": 916,
"media_type": "podcast",
"response": null
},
{
"id": 936,
"media_type": "pdf",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 937,
"media_type": "podcast",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 993,
"media_type": "pdf",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 995,
"media_type": "podcast",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 1026,
"media_type": "pdf",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1027,
"media_type": "podcast",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1146,
"media_type": "pdf",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1147,
"media_type": "podcast",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1221,
"media_type": "pdf",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1222,
"media_type": "podcast",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1250,
"media_type": "pdf",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1251,
"media_type": "podcast",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1319,
"media_type": "pdf",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1320,
"media_type": "podcast",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1438,
"media_type": "pdf",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1439,
"media_type": "podcast",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1474,
"media_type": "pdf",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1475,
"media_type": "podcast",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1548,
"media_type": "pdf",
"response": {"request_id":"26ab917c-6907-416d-806d-679c3a49cfc1",
"status":"completed",
"timestamp":"2026-03-16T01:15:23.832336+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429a...
|
41894
|
|
41897
|
NULL
|
0
|
2026-04-17T06:33:14.729540+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776407594729_m2.jpg...
|
PhpStorm
|
faVsco.js – SendReportJob.php
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
4
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\FileNotFoundException;
use Jiminny\Exceptions\RuntimeException;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class SendReportJob implements ShouldQueue, ShouldBeUnique
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[Send Report]';
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
/**
* The maximum number of seconds the job should be allowed to run.
*
* @var int
*/
public int $timeout = 120;
/**
* Create a new job instance.
*
* @param string $reportUuid The UUID of the report to send
*/
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function handle(
LoggerInterface $logger,
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService
): void {
try {
$report = $automatedReportsService->getReportResult($this->reportUuid);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error getting report result', [
'uuid' => $this->reportUuid,
'exception' => $e->getMessage(),
]);
throw $e;
}
$logger->info(self::LOG_PREFIX . ' Processing report', [
'uuid' => $this->reportUuid,
'status' => $report->getStatusLabel(),
]);
$s3Path = $automatedReportsService->getMediaPath($report);
if ($s3Path === null) {
$logger->error(self::LOG_PREFIX . ' Report media path is null', [
'uuid' => $this->reportUuid,
'mediaType' => $report->getMediaType(),
]);
throw new FileNotFoundException('Report media path could not be resolved');
}
// Verify the file exists in S3
if (! Storage::disk('client-data-cloud')->exists($s3Path)) {
$logger->error(self::LOG_PREFIX . ' Report file not found in S3', [
'uuid' => $this->reportUuid,
's3Path' => $s3Path,
]);
throw new FileNotFoundException('Report file not found in S3');
}
try {
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
if (empty($validRecipients)) {
$logger->error(self::LOG_PREFIX . ' No valid recipients found', [
'uuid' => $this->reportUuid,
]);
throw new RuntimeException("No recipients found for report: {$this->reportUuid}");
}
// Get report metadata (same for all recipients)
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$isAskJiminny = $report->getReport()->isAskJiminnyReport();
// Track how many jobs were dispatched
$dispatchCount = 0;
// Dispatch a job for each recipient
foreach ($validRecipients as $recipient) {
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $this->reportUuid,
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: $isAskJiminny,
)
);
$dispatchCount++;
$logger->info(self::LOG_PREFIX . ' Dispatched mail job', [
'uuid' => $this->reportUuid,
'email' => $recipient['email'],
]);
}
$logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [
'uuid' => $this->reportUuid,
'count' => $dispatchCount,
]);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error processing report', [
'uuid' => $this->reportUuid,
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
// Get current attempt (1-indexed)
$attempt = $this->attempts();
if ($attempt < $this->tries) {
$delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s
$logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [
'delay' => $delay,
]);
$this->release($delay);
} else {
$this->fail($e);
}
}
}
public function failed(Throwable $exception): void
{
AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])
->update(['status' => AutomatedReportResult::STATUS_FAILED]);
}
/**
* Get a unique ID for the job.
*
* @return string
*/
public function uniqueId(): string
{
return $this->reportUuid;
}
}
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/54
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
[
{
"id": 136,
"media_type": "pdf",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 137,
"media_type": "podcast",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 149,
"media_type": "pdf",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 150,
"media_type": "podcast",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 166,
"media_type": "pdf",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 167,
"media_type": "podcast",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 214,
"media_type": "pdf",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 215,
"media_type": "podcast",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 297,
"media_type": "pdf",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 298,
"media_type": "podcast",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 365,
"media_type": "pdf",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 366,
"media_type": "podcast",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 410,
"media_type": "pdf",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 411,
"media_type": "podcast",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 485,
"media_type": "pdf",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 486,
"media_type": "podcast",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 592,
"media_type": "pdf",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 593,
"media_type": "podcast",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 636,
"media_type": "pdf",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 638,
"media_type": "podcast",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 704,
"media_type": "pdf",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 705,
"media_type": "podcast",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 762,
"media_type": "pdf",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 763,
"media_type": "podcast",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 801,
"media_type": "pdf",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 802,
"media_type": "podcast",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 830,
"media_type": "pdf",
"response": null
},
{
"id": 831,
"media_type": "podcast",
"response": null
},
{
"id": 915,
"media_type": "pdf",
"response": null
},
{
"id": 916,
"media_type": "podcast",
"response": null
},
{
"id": 936,
"media_type": "pdf",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 937,
"media_type": "podcast",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 993,
"media_type": "pdf",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 995,
"media_type": "podcast",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 1026,
"media_type": "pdf",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1027,
"media_type": "podcast",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1146,
"media_type": "pdf",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1147,
"media_type": "podcast",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1221,
"media_type": "pdf",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1222,
"media_type": "podcast",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1250,
"media_type": "pdf",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1251,
"media_type": "podcast",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1319,
"media_type": "pdf",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1320,
"media_type": "podcast",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1438,
"media_type": "pdf",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1439,
"media_type": "podcast",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1474,
"media_type": "pdf",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1475,
"media_type": "podcast",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1548,
"media_type": "pdf",
"response": {"request_id":"26ab917c-6907-416d-806d-679c3a49cfc1",
"status":"completed",
"timestamp":"2026-03-16T01:15:23.832336+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429a...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.03046875,"top":0.017361112,"width":0.0453125,"height":0.022222223},"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"bounds":{"left":0.07578125,"top":0.017361112,"width":0.14960937,"height":0.022222223},"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.78515625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"bounds":{"left":0.803125,"top":0.017361112,"width":0.09765625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9007813,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9140625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9273437,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96015626,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9734375,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9867188,"top":0.017361112,"width":0.013281226,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.009375,"height":0.0},"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.008203125,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\FileNotFoundException;\nuse Jiminny\\Exceptions\\RuntimeException;\nuse Jiminny\\Jobs\\JobDispatcherInterface;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass SendReportJob implements ShouldQueue, ShouldBeUnique\n{\n use Dispatchable;\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages\n */\n private const string LOG_PREFIX = '[Send Report]';\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n /**\n * The maximum number of seconds the job should be allowed to run.\n *\n * @var int\n */\n public int $timeout = 120;\n\n /**\n * Create a new job instance.\n *\n * @param string $reportUuid The UUID of the report to send\n */\n public function __construct(private readonly string $reportUuid)\n {\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function handle(\n LoggerInterface $logger,\n JobDispatcherInterface $jobDispatcher,\n AutomatedReportsService $automatedReportsService\n ): void {\n try {\n $report = $automatedReportsService->getReportResult($this->reportUuid);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error getting report result', [\n 'uuid' => $this->reportUuid,\n 'exception' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n $logger->info(self::LOG_PREFIX . ' Processing report', [\n 'uuid' => $this->reportUuid,\n 'status' => $report->getStatusLabel(),\n ]);\n\n $s3Path = $automatedReportsService->getMediaPath($report);\n\n if ($s3Path === null) {\n $logger->error(self::LOG_PREFIX . ' Report media path is null', [\n 'uuid' => $this->reportUuid,\n 'mediaType' => $report->getMediaType(),\n ]);\n\n throw new FileNotFoundException('Report media path could not be resolved');\n }\n\n // Verify the file exists in S3\n if (! Storage::disk('client-data-cloud')->exists($s3Path)) {\n $logger->error(self::LOG_PREFIX . ' Report file not found in S3', [\n 'uuid' => $this->reportUuid,\n 's3Path' => $s3Path,\n ]);\n\n throw new FileNotFoundException('Report file not found in S3');\n }\n\n try {\n $validRecipients = $automatedReportsService->getValidRecipientUsers(\n $report->getReport(),\n includeJiminny: true,\n );\n\n if (empty($validRecipients)) {\n $logger->error(self::LOG_PREFIX . ' No valid recipients found', [\n 'uuid' => $this->reportUuid,\n ]);\n\n throw new RuntimeException(\"No recipients found for report: {$this->reportUuid}\");\n }\n\n // Get report metadata (same for all recipients)\n $fileName = $automatedReportsService->getReportFileName($report);\n $typeName = $report->getReport()->getCustomName()\n ?? $automatedReportsService->getReportTypeName($report);\n $teamsName = $automatedReportsService->getReportTeamsName($report);\n $periodName = $automatedReportsService->getReportPeriodName($report);\n $isAskJiminny = $report->getReport()->isAskJiminnyReport();\n\n // Track how many jobs were dispatched\n $dispatchCount = 0;\n\n // Dispatch a job for each recipient\n foreach ($validRecipients as $recipient) {\n $jobDispatcher->dispatch(\n new SendReportMailJob(\n reportUuid: $this->reportUuid,\n s3Path: $s3Path,\n recipientEmail: $recipient['email'],\n recipientName: $recipient['name'] ?? null,\n fileName: $fileName,\n typeName: $typeName,\n teamsName: $teamsName,\n periodName: $periodName,\n isAskJiminny: $isAskJiminny,\n )\n );\n $dispatchCount++;\n\n $logger->info(self::LOG_PREFIX . ' Dispatched mail job', [\n 'uuid' => $this->reportUuid,\n 'email' => $recipient['email'],\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [\n 'uuid' => $this->reportUuid,\n 'count' => $dispatchCount,\n ]);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error processing report', [\n 'uuid' => $this->reportUuid,\n 'error' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n\n // Get current attempt (1-indexed)\n $attempt = $this->attempts();\n\n if ($attempt < $this->tries) {\n $delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s\n\n $logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [\n 'delay' => $delay,\n ]);\n\n $this->release($delay);\n } else {\n $this->fail($e);\n }\n }\n }\n\n public function failed(Throwable $exception): void\n {\n AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])\n ->update(['status' => AutomatedReportResult::STATUS_FAILED]);\n }\n\n /**\n * Get a unique ID for the job.\n *\n * @return string\n */\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n}","depth":4,"bounds":{"left":0.14453125,"top":0.12916666,"width":0.33398438,"height":0.87083334},"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\AutomatedReports;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\FileNotFoundException;\nuse Jiminny\\Exceptions\\RuntimeException;\nuse Jiminny\\Jobs\\JobDispatcherInterface;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\nclass SendReportJob implements ShouldQueue, ShouldBeUnique\n{\n use Dispatchable;\n use InteractsWithQueue;\n use Queueable;\n\n /**\n * Log prefix for all log messages\n */\n private const string LOG_PREFIX = '[Send Report]';\n\n /**\n * The number of times the job may be attempted.\n *\n * @var int\n */\n public int $tries = 2;\n\n /**\n * The maximum number of seconds the job should be allowed to run.\n *\n * @var int\n */\n public int $timeout = 120;\n\n /**\n * Create a new job instance.\n *\n * @param string $reportUuid The UUID of the report to send\n */\n public function __construct(private readonly string $reportUuid)\n {\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function handle(\n LoggerInterface $logger,\n JobDispatcherInterface $jobDispatcher,\n AutomatedReportsService $automatedReportsService\n ): void {\n try {\n $report = $automatedReportsService->getReportResult($this->reportUuid);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error getting report result', [\n 'uuid' => $this->reportUuid,\n 'exception' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n $logger->info(self::LOG_PREFIX . ' Processing report', [\n 'uuid' => $this->reportUuid,\n 'status' => $report->getStatusLabel(),\n ]);\n\n $s3Path = $automatedReportsService->getMediaPath($report);\n\n if ($s3Path === null) {\n $logger->error(self::LOG_PREFIX . ' Report media path is null', [\n 'uuid' => $this->reportUuid,\n 'mediaType' => $report->getMediaType(),\n ]);\n\n throw new FileNotFoundException('Report media path could not be resolved');\n }\n\n // Verify the file exists in S3\n if (! Storage::disk('client-data-cloud')->exists($s3Path)) {\n $logger->error(self::LOG_PREFIX . ' Report file not found in S3', [\n 'uuid' => $this->reportUuid,\n 's3Path' => $s3Path,\n ]);\n\n throw new FileNotFoundException('Report file not found in S3');\n }\n\n try {\n $validRecipients = $automatedReportsService->getValidRecipientUsers(\n $report->getReport(),\n includeJiminny: true,\n );\n\n if (empty($validRecipients)) {\n $logger->error(self::LOG_PREFIX . ' No valid recipients found', [\n 'uuid' => $this->reportUuid,\n ]);\n\n throw new RuntimeException(\"No recipients found for report: {$this->reportUuid}\");\n }\n\n // Get report metadata (same for all recipients)\n $fileName = $automatedReportsService->getReportFileName($report);\n $typeName = $report->getReport()->getCustomName()\n ?? $automatedReportsService->getReportTypeName($report);\n $teamsName = $automatedReportsService->getReportTeamsName($report);\n $periodName = $automatedReportsService->getReportPeriodName($report);\n $isAskJiminny = $report->getReport()->isAskJiminnyReport();\n\n // Track how many jobs were dispatched\n $dispatchCount = 0;\n\n // Dispatch a job for each recipient\n foreach ($validRecipients as $recipient) {\n $jobDispatcher->dispatch(\n new SendReportMailJob(\n reportUuid: $this->reportUuid,\n s3Path: $s3Path,\n recipientEmail: $recipient['email'],\n recipientName: $recipient['name'] ?? null,\n fileName: $fileName,\n typeName: $typeName,\n teamsName: $teamsName,\n periodName: $periodName,\n isAskJiminny: $isAskJiminny,\n )\n );\n $dispatchCount++;\n\n $logger->info(self::LOG_PREFIX . ' Dispatched mail job', [\n 'uuid' => $this->reportUuid,\n 'email' => $recipient['email'],\n ]);\n }\n\n $logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [\n 'uuid' => $this->reportUuid,\n 'count' => $dispatchCount,\n ]);\n } catch (Throwable $e) {\n $logger->error(self::LOG_PREFIX . ' Error processing report', [\n 'uuid' => $this->reportUuid,\n 'error' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n\n // Get current attempt (1-indexed)\n $attempt = $this->attempts();\n\n if ($attempt < $this->tries) {\n $delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s\n\n $logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [\n 'delay' => $delay,\n ]);\n\n $this->release($delay);\n } else {\n $this->fail($e);\n }\n }\n }\n\n public function failed(Throwable $exception): void\n {\n AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])\n ->update(['status' => AutomatedReportResult::STATUS_FAILED]);\n }\n\n /**\n * Get a unique ID for the job.\n *\n * @return string\n */\n public function uniqueId(): string\n {\n return $this->reportUuid;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"bounds":{"left":0.303125,"top":0.09166667,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.31796876,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"\"podcast_audio_url\"","depth":4,"bounds":{"left":0.33085936,"top":0.09097222,"width":0.12460937,"height":0.013888889},"value":"\"podcast_audio_url\"","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.46601564,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.4777344,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.48789063,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.49804688,"top":0.09097222,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/54","depth":4,"bounds":{"left":0.5140625,"top":0.090277776,"width":0.030078124,"height":0.015277778},"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.54414064,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"bounds":{"left":0.55429685,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"bounds":{"left":0.5644531,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"bounds":{"left":0.5746094,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.71132815,"top":0.08958333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"[\n {\n \"id\": 136,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 137,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 149,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 150,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 166,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 167,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 214,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 215,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 297,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 298,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 365,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 366,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 410,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 411,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 485,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 486,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 592,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 593,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 636,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 638,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 704,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 705,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 762,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 763,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 801,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 802,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 830,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 831,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 915,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 916,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 936,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 937,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 993,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 995,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 1026,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1027,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1146,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1147,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1221,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1222,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1250,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1251,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1319,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1320,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1438,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1439,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1474,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1475,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1548,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1549,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1597,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1598,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1659,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1660,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1809,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1810,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1872,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n },\n {\n \"id\": 1873,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n }\n]","depth":4,"bounds":{"left":0.32382813,"top":0.11388889,"width":0.471875,"height":0.88611114},"value":"[\n {\n \"id\": 136,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 137,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"debee4b3-1c28-4112-ad1b-f0dbe67c452c\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-09-29T01:09:25.039253+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml\"}\n },\n {\n \"id\": 149,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 150,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"81690efb-e296-4efe-ba74-51217e91bc7e\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-06T01:05:39.117068+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml\"}\n },\n {\n \"id\": 166,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 167,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"43fc8095-52f0-420b-ade2-409b8ed8b7ee\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-13T01:08:35.779362+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml\"}\n },\n {\n \"id\": 214,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 215,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"985cab60-fae4-47e9-8779-0b653827b635\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-20T01:07:43.633450+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml\"}\n },\n {\n \"id\": 297,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 298,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"cacce61e-fb58-47b6-97f5-b17b98d453d2\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-10-27T01:02:34.789377+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml\"}\n },\n {\n \"id\": 365,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 366,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"a1971341-a81e-45bc-9d17-1ad914163010\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-03T01:03:31.381285+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml\"}\n },\n {\n \"id\": 410,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 411,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-10T01:05:31.021881+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml\"}\n },\n {\n \"id\": 485,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 486,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"18d3cc3d-95ac-434b-a21c-076318bd77aa\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-17T01:05:21.492550+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml\"}\n },\n {\n \"id\": 592,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 593,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d0f6fbb3-e86d-49bb-a863-8238aea5b401\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-11-24T01:06:05.698838+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml\"}\n },\n {\n \"id\": 636,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 638,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"264a5a2a-1e0d-49b5-aeba-268a19a74f85\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-01T01:11:00.769937+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml\"}\n },\n {\n \"id\": 704,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 705,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-08T01:06:28.080704+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml\"}\n },\n {\n \"id\": 762,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 763,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"de426138-2bce-43b9-9c6f-31079b2abc44\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-15T01:02:21.300804+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml\"}\n },\n {\n \"id\": 801,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 802,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"3ca694c0-d6a5-4937-8d60-8d69f0bca04f\",\n \"status\":\"completed\",\n \"timestamp\":\"2025-12-22T01:06:16.547481+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml\"}\n },\n {\n \"id\": 830,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 831,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 915,\n \"media_type\": \"pdf\",\n \"response\": null\n },\n {\n \"id\": 916,\n \"media_type\": \"podcast\",\n \"response\": null\n },\n {\n \"id\": 936,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 937,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"64123b94-2da0-48d4-a712-bb35e9af586d\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-12T01:02:07.988029+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml\"}\n },\n {\n \"id\": 993,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 995,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"d09beab4-afb6-47bc-b8bc-9a1c0c900b19\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-19T01:02:53.956691+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml\"}\n },\n {\n \"id\": 1026,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1027,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"6c389d6a-7418-42ba-beb6-449dca36585f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-01-26T01:02:56.634667+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml\"}\n },\n {\n \"id\": 1146,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1147,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"df566c11-80ff-42ef-9996-1e80909e7bc2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-02T01:07:57.335690+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml\"}\n },\n {\n \"id\": 1221,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1222,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0d7a164c-ae0c-4411-8778-4b6ffc201dde\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-09T01:14:26.525625+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml\"}\n },\n {\n \"id\": 1250,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1251,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"249776ec-1163-486a-a288-f3a99b1b1a00\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-16T01:05:49.814997+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml\"}\n },\n {\n \"id\": 1319,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1320,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"4f9599a9-9ca9-4b05-862a-4f4461a4a754\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-02-23T01:14:56.719622+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml\"}\n },\n {\n \"id\": 1438,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1439,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"7c99607a-ca13-4d6c-8928-ed6a33073e68\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-02T01:21:57.924168+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml\"}\n },\n {\n \"id\": 1474,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1475,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"1c696c7b-88ef-43d0-ade4-8f006602f520\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-09T01:12:54.568944+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml\"}\n },\n {\n \"id\": 1548,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1549,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"26ab917c-6907-416d-806d-679c3a49cfc1\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-16T01:15:23.832336+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/26ab917c-6907-416d-806d-679c3a49cfc1_podcast.ssml\"}\n },\n {\n \"id\": 1597,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1598,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"b096971f-2533-425e-ac37-f0b4798b5b32\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-23T01:14:51.290976+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/b096971f-2533-425e-ac37-f0b4798b5b32_podcast.ssml\"}\n },\n {\n \"id\": 1659,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1660,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0ca73e35-7a57-4689-abf6-46ef280cd20f\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-03-30T01:24:50.835939+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0ca73e35-7a57-4689-abf6-46ef280cd20f_podcast.ssml\"}\n },\n {\n \"id\": 1809,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1810,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"0f650641-7319-4ef8-b6aa-95ce56ce8ee2\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-06T01:03:35.051311+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.MD\",\n \"report_type\":\"coaching_profiles\",\n \"pdf_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2.pdf\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/0f650641-7319-4ef8-b6aa-95ce56ce8ee2_podcast.ssml\"}\n },\n {\n \"id\": 1872,\n \"media_type\": \"pdf\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n },\n {\n \"id\": 1873,\n \"media_type\": \"podcast\",\n \"response\": {\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\n \"status\":\"completed\",\n \"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\n \"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\n \"report_type\":\"coaching_profiles\",\n \"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\n \"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\n \"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\n }\n]","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.0140625,"top":0.041666668,"width":0.028515626,"height":0.021527778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-6132714977961738154
|
-9219075076702366935
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
4
1
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\AutomatedReports;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\FileNotFoundException;
use Jiminny\Exceptions\RuntimeException;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Psr\Log\LoggerInterface;
use Throwable;
class SendReportJob implements ShouldQueue, ShouldBeUnique
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/**
* Log prefix for all log messages
*/
private const string LOG_PREFIX = '[Send Report]';
/**
* The number of times the job may be attempted.
*
* @var int
*/
public int $tries = 2;
/**
* The maximum number of seconds the job should be allowed to run.
*
* @var int
*/
public int $timeout = 120;
/**
* Create a new job instance.
*
* @param string $reportUuid The UUID of the report to send
*/
public function __construct(private readonly string $reportUuid)
{
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function handle(
LoggerInterface $logger,
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService
): void {
try {
$report = $automatedReportsService->getReportResult($this->reportUuid);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error getting report result', [
'uuid' => $this->reportUuid,
'exception' => $e->getMessage(),
]);
throw $e;
}
$logger->info(self::LOG_PREFIX . ' Processing report', [
'uuid' => $this->reportUuid,
'status' => $report->getStatusLabel(),
]);
$s3Path = $automatedReportsService->getMediaPath($report);
if ($s3Path === null) {
$logger->error(self::LOG_PREFIX . ' Report media path is null', [
'uuid' => $this->reportUuid,
'mediaType' => $report->getMediaType(),
]);
throw new FileNotFoundException('Report media path could not be resolved');
}
// Verify the file exists in S3
if (! Storage::disk('client-data-cloud')->exists($s3Path)) {
$logger->error(self::LOG_PREFIX . ' Report file not found in S3', [
'uuid' => $this->reportUuid,
's3Path' => $s3Path,
]);
throw new FileNotFoundException('Report file not found in S3');
}
try {
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
if (empty($validRecipients)) {
$logger->error(self::LOG_PREFIX . ' No valid recipients found', [
'uuid' => $this->reportUuid,
]);
throw new RuntimeException("No recipients found for report: {$this->reportUuid}");
}
// Get report metadata (same for all recipients)
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$isAskJiminny = $report->getReport()->isAskJiminnyReport();
// Track how many jobs were dispatched
$dispatchCount = 0;
// Dispatch a job for each recipient
foreach ($validRecipients as $recipient) {
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $this->reportUuid,
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: $isAskJiminny,
)
);
$dispatchCount++;
$logger->info(self::LOG_PREFIX . ' Dispatched mail job', [
'uuid' => $this->reportUuid,
'email' => $recipient['email'],
]);
}
$logger->info(self::LOG_PREFIX . ' Successfully dispatched mail jobs', [
'uuid' => $this->reportUuid,
'count' => $dispatchCount,
]);
} catch (Throwable $e) {
$logger->error(self::LOG_PREFIX . ' Error processing report', [
'uuid' => $this->reportUuid,
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
// Get current attempt (1-indexed)
$attempt = $this->attempts();
if ($attempt < $this->tries) {
$delay = 30 * (2 ** ($attempt - 1)); // Exponential backoff: 30s, 60s
$logger->info(self::LOG_PREFIX . ' retry job, attempts: ' . $attempt, [
'delay' => $delay,
]);
$this->release($delay);
} else {
$this->fail($e);
}
}
}
public function failed(Throwable $exception): void
{
AutomatedReportResult::whereRaw('uuid = uuid_to_bin(?)', [$this->reportUuid])
->update(['status' => AutomatedReportResult::STATUS_FAILED]);
}
/**
* Get a unique ID for the job.
*
* @return string
*/
public function uniqueId(): string
{
return $this->reportUuid;
}
}
Show Replace Field
Search History
"podcast_audio_url"
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/54
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
[
{
"id": 136,
"media_type": "pdf",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 137,
"media_type": "podcast",
"response": {"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c",
"status":"completed",
"timestamp":"2025-09-29T01:09:25.039253+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssml"}
},
{
"id": 149,
"media_type": "pdf",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 150,
"media_type": "podcast",
"response": {"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e",
"status":"completed",
"timestamp":"2025-10-06T01:05:39.117068+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.json",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/81690efb-e296-4efe-ba74-51217e91bc7e_podcast.ssml"}
},
{
"id": 166,
"media_type": "pdf",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 167,
"media_type": "podcast",
"response": {"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee",
"status":"completed",
"timestamp":"2025-10-13T01:08:35.779362+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/43fc8095-52f0-420b-ade2-409b8ed8b7ee_podcast.ssml"}
},
{
"id": 214,
"media_type": "pdf",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 215,
"media_type": "podcast",
"response": {"request_id":"985cab60-fae4-47e9-8779-0b653827b635",
"status":"completed",
"timestamp":"2025-10-20T01:07:43.633450+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/985cab60-fae4-47e9-8779-0b653827b635_podcast.ssml"}
},
{
"id": 297,
"media_type": "pdf",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 298,
"media_type": "podcast",
"response": {"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2",
"status":"completed",
"timestamp":"2025-10-27T01:02:34.789377+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/cacce61e-fb58-47b6-97f5-b17b98d453d2_podcast.ssml"}
},
{
"id": 365,
"media_type": "pdf",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 366,
"media_type": "podcast",
"response": {"request_id":"a1971341-a81e-45bc-9d17-1ad914163010",
"status":"completed",
"timestamp":"2025-11-03T01:03:31.381285+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/a1971341-a81e-45bc-9d17-1ad914163010_podcast.ssml"}
},
{
"id": 410,
"media_type": "pdf",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 411,
"media_type": "podcast",
"response": {"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30",
"status":"completed",
"timestamp":"2025-11-10T01:05:31.021881+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30_podcast.ssml"}
},
{
"id": 485,
"media_type": "pdf",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 486,
"media_type": "podcast",
"response": {"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa",
"status":"completed",
"timestamp":"2025-11-17T01:05:21.492550+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/18d3cc3d-95ac-434b-a21c-076318bd77aa_podcast.ssml"}
},
{
"id": 592,
"media_type": "pdf",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 593,
"media_type": "podcast",
"response": {"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401",
"status":"completed",
"timestamp":"2025-11-24T01:06:05.698838+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d0f6fbb3-e86d-49bb-a863-8238aea5b401_podcast.ssml"}
},
{
"id": 636,
"media_type": "pdf",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 638,
"media_type": "podcast",
"response": {"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85",
"status":"completed",
"timestamp":"2025-12-01T01:11:00.769937+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/264a5a2a-1e0d-49b5-aeba-268a19a74f85_podcast.ssml"}
},
{
"id": 704,
"media_type": "pdf",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 705,
"media_type": "podcast",
"response": {"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565",
"status":"completed",
"timestamp":"2025-12-08T01:06:28.080704+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565_podcast.ssml"}
},
{
"id": 762,
"media_type": "pdf",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 763,
"media_type": "podcast",
"response": {"request_id":"de426138-2bce-43b9-9c6f-31079b2abc44",
"status":"completed",
"timestamp":"2025-12-15T01:02:21.300804+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/de426138-2bce-43b9-9c6f-31079b2abc44_podcast.ssml"}
},
{
"id": 801,
"media_type": "pdf",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 802,
"media_type": "podcast",
"response": {"request_id":"3ca694c0-d6a5-4937-8d60-8d69f0bca04f",
"status":"completed",
"timestamp":"2025-12-22T01:06:16.547481+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/3ca694c0-d6a5-4937-8d60-8d69f0bca04f_podcast.ssml"}
},
{
"id": 830,
"media_type": "pdf",
"response": null
},
{
"id": 831,
"media_type": "podcast",
"response": null
},
{
"id": 915,
"media_type": "pdf",
"response": null
},
{
"id": 916,
"media_type": "podcast",
"response": null
},
{
"id": 936,
"media_type": "pdf",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 937,
"media_type": "podcast",
"response": {"request_id":"64123b94-2da0-48d4-a712-bb35e9af586d",
"status":"completed",
"timestamp":"2026-01-12T01:02:07.988029+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/64123b94-2da0-48d4-a712-bb35e9af586d_podcast.ssml"}
},
{
"id": 993,
"media_type": "pdf",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 995,
"media_type": "podcast",
"response": {"request_id":"d09beab4-afb6-47bc-b8bc-9a1c0c900b19",
"status":"completed",
"timestamp":"2026-01-19T01:02:53.956691+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/d09beab4-afb6-47bc-b8bc-9a1c0c900b19_podcast.ssml"}
},
{
"id": 1026,
"media_type": "pdf",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1027,
"media_type": "podcast",
"response": {"request_id":"6c389d6a-7418-42ba-beb6-449dca36585f",
"status":"completed",
"timestamp":"2026-01-26T01:02:56.634667+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/6c389d6a-7418-42ba-beb6-449dca36585f_podcast.ssml"}
},
{
"id": 1146,
"media_type": "pdf",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1147,
"media_type": "podcast",
"response": {"request_id":"df566c11-80ff-42ef-9996-1e80909e7bc2",
"status":"completed",
"timestamp":"2026-02-02T01:07:57.335690+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/df566c11-80ff-42ef-9996-1e80909e7bc2_podcast.ssml"}
},
{
"id": 1221,
"media_type": "pdf",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1222,
"media_type": "podcast",
"response": {"request_id":"0d7a164c-ae0c-4411-8778-4b6ffc201dde",
"status":"completed",
"timestamp":"2026-02-09T01:14:26.525625+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/0d7a164c-ae0c-4411-8778-4b6ffc201dde_podcast.ssml"}
},
{
"id": 1250,
"media_type": "pdf",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1251,
"media_type": "podcast",
"response": {"request_id":"249776ec-1163-486a-a288-f3a99b1b1a00",
"status":"completed",
"timestamp":"2026-02-16T01:05:49.814997+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/249776ec-1163-486a-a288-f3a99b1b1a00_podcast.ssml"}
},
{
"id": 1319,
"media_type": "pdf",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1320,
"media_type": "podcast",
"response": {"request_id":"4f9599a9-9ca9-4b05-862a-4f4461a4a754",
"status":"completed",
"timestamp":"2026-02-23T01:14:56.719622+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/4f9599a9-9ca9-4b05-862a-4f4461a4a754_podcast.ssml"}
},
{
"id": 1438,
"media_type": "pdf",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1439,
"media_type": "podcast",
"response": {"request_id":"7c99607a-ca13-4d6c-8928-ed6a33073e68",
"status":"completed",
"timestamp":"2026-03-02T01:21:57.924168+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/7c99607a-ca13-4d6c-8928-ed6a33073e68_podcast.ssml"}
},
{
"id": 1474,
"media_type": "pdf",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1475,
"media_type": "podcast",
"response": {"request_id":"1c696c7b-88ef-43d0-ade4-8f006602f520",
"status":"completed",
"timestamp":"2026-03-09T01:12:54.568944+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.MD",
"report_type":"coaching_profiles",
"pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520.pdf",
"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.txt",
"podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.mp3",
"podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/1c696c7b-88ef-43d0-ade4-8f006602f520_podcast.ssml"}
},
{
"id": 1548,
"media_type": "pdf",
"response": {"request_id":"26ab917c-6907-416d-806d-679c3a49cfc1",
"status":"completed",
"timestamp":"2026-03-16T01:15:23.832336+00:00",
"s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429a...
|
41893
|
|
41859
|
NULL
|
0
|
2026-04-17T06:28:14.395369+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776407294395_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorRu PhpStormFileEditViewNavigateCodeLaravelRefactorRunToolsGitWindowHelpEU (ssh)DOCKERDEV (-zsh)О 882APP (-zsh)883-zshXI11 DOCKER (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/infrastructure/dev/docker or its parentsPoetry could not find a pyproject.toml/docker or its parentsin /Users/lukas/jiminny/infrastructure/dev(all* Review screenpipe U...100% 1478Fri 17 Apr 9:28:14181*4-zsh®О885PROD (ssh)Run 'do-release-upgrade' to upgrade to it.• 26-zshPRODlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$Lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$ 0*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X L3 EU (ssh)New release '24.04.4 LTS' available.Run'do-release-upgrade'to upgrade to it.U*** System restart required ***login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$ |T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX T7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|...
|
NULL
|
832089448492244479
|
NULL
|
click
|
ocr
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorRu PhpStormFileEditViewNavigateCodeLaravelRefactorRunToolsGitWindowHelpEU (ssh)DOCKERDEV (-zsh)О 882APP (-zsh)883-zshXI11 DOCKER (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/infrastructure/dev/docker or its parentsPoetry could not find a pyproject.toml/docker or its parentsin /Users/lukas/jiminny/infrastructure/dev(all* Review screenpipe U...100% 1478Fri 17 Apr 9:28:14181*4-zsh®О885PROD (ssh)Run 'do-release-upgrade' to upgrade to it.• 26-zshPRODlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$Lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$ 0*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X L3 EU (ssh)New release '24.04.4 LTS' available.Run'do-release-upgrade'to upgrade to it.U*** System restart required ***login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$ |T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX T7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|...
|
NULL
|
|
41858
|
NULL
|
0
|
2026-04-17T06:28:13.369283+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776407293369_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditFV faVsco.js vViewNavigateCodeLara PhpStormFileEditFV faVsco.js vViewNavigateCodeLaravelRefactor#11894 on JY-18909-automated-reports-ask-iminny kToolsWindowHelpProject vAjiminny@localhost& console [jiminny@localr Dminnvo ocalnostlc =oocamnnvolocal4 SF [jiminny@localhost]s cono dev minny aloccV A PRODA console [PROD]A console_1 [PROD]A DI [PROD]> AQA© AutomatedReportsService.phpTokenBuilder.phpc leamsetuocontroller.ono© AutomatedReportsCommand.php© AutomatedReportsCommandTest.phpC AutomatedReportsRepository.php© SendReportJob.php© ReportController.phppnp apl.onoFilesystem.php© AskJiminnyReportsController.php© AutomatedReportsSendCommand.php© Team.php(c CrealenelaAcuiviyevent.onoe) Track?rovidernstalled-vent.ono© CreateActivityLoggedEvent.php© UserPilotActivityListener.php© ActivityLogged.php© AutomatedReportsCallbackService.php© RequestGenerateAskJiminnyReportJob.phpRequestGeneratekeportJob.ong© AutomatedReportResult.phpc) AutomatedRenort.ohn1.08.25 Nikolovclass AutomatedReportResult extends Mor in&ITIAY&OALPROD11.09.25public function getPdfUrl(): ?stringV L STAGINGlLUS.LO INIKOlO0/4return Sresponselpdt urc' ?? nuulic consoe slAGiNGI11.09.25 Nikolov375consoleslAGiNg11.09.25 NikolovA uranus [STAGING]3 usages› _ Extensionsv D Scratchesphpstorm_shortcuts.txt=" scratch.txtC scratch_1.jsonC scratch_2.jsonC° scratch_3.json11.09.25 Nikolov37711.09.25 Nikolov11.09.25 NikolovTON. NKOOV11.09.25 Nikolov11.09.25 Nikolov1.08.25 Nikolov 383public function getPodcastAudioUrL(): ?string$response = $this->getResponse);return $response['podcast_audio_url'] ?? null;Services# OutputI Result 14v D DatabaseV AEUs consolev A jiminny@localhost4 SFA HS_localV L PROD4 console 1 s 447 msV A STAGINGA consoley Docker58 rows vDid YI media_type T136 pdf137 podcast149 pdf150 podcast166 pdf167 podcast214 pat215 podcast47/001470 poacast365 pdf366 podcast410 pdf411 poacast485 pdf486 podcast592 pdf5y5 poacast636 pdf638 podcast704 pdf705 podcast762 pdf763 podcastnd your Laravel app code. // Generate // Don't Show Anymore (28 minutes ago)GAA0ID response Y{"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c", "status": "completed" , "timestamp" : "2025-09-29T01:{"request_id": "debee4b3-1c28-4112-ad1b-f0dbe67c452c", "status": "completed", "timestamp": "2025-09-29T01:{"request_id": "81690efb-e296-4efe-ba74-51217e91bc7e", "status": "completed", "timestamp" : "2025-10-06T01:{"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e", "status": "completed", "timestamp" : "2025-10-06T01:{"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee", "status": "completed", "timestamp" : "2025-10-13T01:{"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee","mnescall0"14040-10-101011"request_1d":Yo5cabo0-Tae4-4707-[CREDIT_CARD]""0-0-7010{"request_id":"985cab60-fae4-47e9-8779-0b653827b635"{"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2"{"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2""tTmectamn".19025-10-207191°"timestamp": "2025-10-27T01:"timestamp":"2025-10-27T01:"requesto"."aiys41-ao.le-450c-701-1207: 40105.010){"request_id":"a1971341-a81e-45bc-9d17-1ad914163010"{"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30"'timestamp": "2025-11-10T01:{"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30"0":"2023-14-101014{"request_id":"18d3cc3d-95ac-434b-a21c-076318"tmestamo":"2025-14-171011{"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa"tamectamn".9025-11-101*{"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401"1"request_1d": "dotorb5-e86d-4700-a865-8258aea5D401{"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85'":"2025-11-24T01:"tamestamo":"2025-12-017101{"request_id": "264a5a2a-1e0d-49b5-aeba-268a19a74f85" ,{"request_id" :"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565", "status": "completed""timestamp": "2025-12-08T01:{"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565", "status" :"•":"2023-12-08011"request_1d":"de426138-2bce-43b9-9c6f-31079b2abc44", "status"{"request_id": "de426138-2bce-43b9-9c6f-31079b2abc44", "status" : "completed", "timestamp" : "2025-12-15T01:, 0lablAAutomatedReportsCommandTestvA console [PROD]100% CSFri 17 Apr 9:28:134 console [STAGING]= custom.log= laravel.logA SF [jiminny@localhost]C scratch_1.jsonV connect.vueV Onboard.vueA HS_local [jiminny@localhost]Al console [EU]Cc W"id": 136,"media_type": "pdf","response": {"request_id": "debee4b3-1c28-4112-ad1b-fOdbe67c452c","status": "completed","timestamp": "2025-09-29T01:09:25.039253+00:00","s3_Url": "s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c . MD" ,"report_type": "coaching_profiles","pdf_ur?": "s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf" ,:f's3:\/Vjiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452C_podcast.json",poucast_aua1o_url": "s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3","podcast_ssml_url": "s3:\\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssmL"}"id": 137,"media type": "podcast","response": {"request_id": "debee4b3-1c28-4112-ad1b-f0dbe67c452c","status": "completed","timestamp": "2025-09-29T01:09:25.039253+00:00","s3_url": "s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD","report_type": "coaching_profiles","pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf" ,"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-|f0dbe67c452c_podcast.json" ,+10 8W Windsurf Teams 10:16 (9 chars)2 spaces No JSON schema...
|
NULL
|
6056291829461411428
|
NULL
|
click
|
ocr
|
NULL
|
PhpStormFileEditFV faVsco.js vViewNavigateCodeLara PhpStormFileEditFV faVsco.js vViewNavigateCodeLaravelRefactor#11894 on JY-18909-automated-reports-ask-iminny kToolsWindowHelpProject vAjiminny@localhost& console [jiminny@localr Dminnvo ocalnostlc =oocamnnvolocal4 SF [jiminny@localhost]s cono dev minny aloccV A PRODA console [PROD]A console_1 [PROD]A DI [PROD]> AQA© AutomatedReportsService.phpTokenBuilder.phpc leamsetuocontroller.ono© AutomatedReportsCommand.php© AutomatedReportsCommandTest.phpC AutomatedReportsRepository.php© SendReportJob.php© ReportController.phppnp apl.onoFilesystem.php© AskJiminnyReportsController.php© AutomatedReportsSendCommand.php© Team.php(c CrealenelaAcuiviyevent.onoe) Track?rovidernstalled-vent.ono© CreateActivityLoggedEvent.php© UserPilotActivityListener.php© ActivityLogged.php© AutomatedReportsCallbackService.php© RequestGenerateAskJiminnyReportJob.phpRequestGeneratekeportJob.ong© AutomatedReportResult.phpc) AutomatedRenort.ohn1.08.25 Nikolovclass AutomatedReportResult extends Mor in&ITIAY&OALPROD11.09.25public function getPdfUrl(): ?stringV L STAGINGlLUS.LO INIKOlO0/4return Sresponselpdt urc' ?? nuulic consoe slAGiNGI11.09.25 Nikolov375consoleslAGiNg11.09.25 NikolovA uranus [STAGING]3 usages› _ Extensionsv D Scratchesphpstorm_shortcuts.txt=" scratch.txtC scratch_1.jsonC scratch_2.jsonC° scratch_3.json11.09.25 Nikolov37711.09.25 Nikolov11.09.25 NikolovTON. NKOOV11.09.25 Nikolov11.09.25 Nikolov1.08.25 Nikolov 383public function getPodcastAudioUrL(): ?string$response = $this->getResponse);return $response['podcast_audio_url'] ?? null;Services# OutputI Result 14v D DatabaseV AEUs consolev A jiminny@localhost4 SFA HS_localV L PROD4 console 1 s 447 msV A STAGINGA consoley Docker58 rows vDid YI media_type T136 pdf137 podcast149 pdf150 podcast166 pdf167 podcast214 pat215 podcast47/001470 poacast365 pdf366 podcast410 pdf411 poacast485 pdf486 podcast592 pdf5y5 poacast636 pdf638 podcast704 pdf705 podcast762 pdf763 podcastnd your Laravel app code. // Generate // Don't Show Anymore (28 minutes ago)GAA0ID response Y{"request_id":"debee4b3-1c28-4112-ad1b-f0dbe67c452c", "status": "completed" , "timestamp" : "2025-09-29T01:{"request_id": "debee4b3-1c28-4112-ad1b-f0dbe67c452c", "status": "completed", "timestamp": "2025-09-29T01:{"request_id": "81690efb-e296-4efe-ba74-51217e91bc7e", "status": "completed", "timestamp" : "2025-10-06T01:{"request_id":"81690efb-e296-4efe-ba74-51217e91bc7e", "status": "completed", "timestamp" : "2025-10-06T01:{"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee", "status": "completed", "timestamp" : "2025-10-13T01:{"request_id":"43fc8095-52f0-420b-ade2-409b8ed8b7ee","mnescall0"14040-10-101011"request_1d":Yo5cabo0-Tae4-4707-[CREDIT_CARD]""0-0-7010{"request_id":"985cab60-fae4-47e9-8779-0b653827b635"{"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2"{"request_id":"cacce61e-fb58-47b6-97f5-b17b98d453d2""tTmectamn".19025-10-207191°"timestamp": "2025-10-27T01:"timestamp":"2025-10-27T01:"requesto"."aiys41-ao.le-450c-701-1207: 40105.010){"request_id":"a1971341-a81e-45bc-9d17-1ad914163010"{"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30"'timestamp": "2025-11-10T01:{"request_id":"7554c504-3b8e-4bb9-9cc0-1b4bf3d2ce30"0":"2023-14-101014{"request_id":"18d3cc3d-95ac-434b-a21c-076318"tmestamo":"2025-14-171011{"request_id":"18d3cc3d-95ac-434b-a21c-076318bd77aa"tamectamn".9025-11-101*{"request_id":"d0f6fbb3-e86d-49bb-a863-8238aea5b401"1"request_1d": "dotorb5-e86d-4700-a865-8258aea5D401{"request_id":"264a5a2a-1e0d-49b5-aeba-268a19a74f85'":"2025-11-24T01:"tamestamo":"2025-12-017101{"request_id": "264a5a2a-1e0d-49b5-aeba-268a19a74f85" ,{"request_id" :"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565", "status": "completed""timestamp": "2025-12-08T01:{"request_id":"d2cbe2d8-eee5-42d0-8bfc-c74ea50b0565", "status" :"•":"2023-12-08011"request_1d":"de426138-2bce-43b9-9c6f-31079b2abc44", "status"{"request_id": "de426138-2bce-43b9-9c6f-31079b2abc44", "status" : "completed", "timestamp" : "2025-12-15T01:, 0lablAAutomatedReportsCommandTestvA console [PROD]100% CSFri 17 Apr 9:28:134 console [STAGING]= custom.log= laravel.logA SF [jiminny@localhost]C scratch_1.jsonV connect.vueV Onboard.vueA HS_local [jiminny@localhost]Al console [EU]Cc W"id": 136,"media_type": "pdf","response": {"request_id": "debee4b3-1c28-4112-ad1b-fOdbe67c452c","status": "completed","timestamp": "2025-09-29T01:09:25.039253+00:00","s3_Url": "s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c . MD" ,"report_type": "coaching_profiles","pdf_ur?": "s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf" ,:f's3:\/Vjiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452C_podcast.json",poucast_aua1o_url": "s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.mp3","podcast_ssml_url": "s3:\\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c_podcast.ssmL"}"id": 137,"media type": "podcast","response": {"request_id": "debee4b3-1c28-4112-ad1b-f0dbe67c452c","status": "completed","timestamp": "2025-09-29T01:09:25.039253+00:00","s3_url": "s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.MD","report_type": "coaching_profiles","pdf_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-f0dbe67c452c.pdf" ,"podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/debee4b3-1c28-4112-ad1b-|f0dbe67c452c_podcast.json" ,+10 8W Windsurf Teams 10:16 (9 chars)2 spaces No JSON schema...
|
NULL
|
|
41719
|
NULL
|
0
|
2026-04-17T06:22:52.274075+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406972274_m2.jpg...
|
PhpStorm
|
faVsco.js – console [PROD]
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
8
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Carbon;
use Jiminny\Traits\RequiresUUID;
/**
* Jiminny\Models\AutomatedReportResult
*
* @property int $id
* @property string $uuid
* @property int $report_id
* @property string|null $name
* @property int $status
* @property int $reason
* @property string $media_type
* @property int|null $parent_id
* @property array|null $payload
* @property array|null $response
* @property Carbon|null $requested_at
* @property Carbon|null $generated_at
* @property Carbon|null $sent_at
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property-read \Jiminny\Models\AutomatedReport $report
* @property-read AutomatedReportResult|null $parent
* @property-read \Illuminate\Database\Eloquent\Collection<int, AutomatedReportResult> $children
*/
class AutomatedReportResult extends Model
{
use RequiresUUID;
/**
* Status constants
*/
public const int STATUS_DEFAULT = 0;
public const int STATUS_REQUESTED = 1;
public const int STATUS_GENERATED = 2;
public const int STATUS_SENT = 3;
public const int STATUS_FAILED = 4;
/**
* Reason constants
*/
public const int REASON_DEFAULT = 0;
public const int REASON_NOT_ENOUGH_ACTIVITIES = 1;
public const int REASON_PROPHET_API_ERROR = 2;
protected $table = 'automated_report_results';
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'report_id',
'name',
'status',
'reason',
'media_type',
'parent_id',
'payload',
'response',
'requested_at',
'generated_at',
'sent_at',
];
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'payload' => 'array',
'response' => 'array',
'requested_at' => 'datetime',
'generated_at' => 'datetime',
'sent_at' => 'datetime',
];
}
/**
* Get the automated report that owns this result.
*
* @return BelongsTo
*/
public function report(): BelongsTo
{
return $this->belongsTo(AutomatedReport::class, 'report_id')->withTrashed();
}
/**
* Get the parent report result.
*
* @return BelongsTo
*/
public function parent(): BelongsTo
{
return $this->belongsTo(self::class, 'parent_id');
}
/**
* Get the child report results.
*
* @return HasMany
*/
public function children(): HasMany
{
return $this->hasMany(self::class, 'parent_id');
}
/**
* Get the ID of the automated report result.
*
* @return int
*/
public function getId(): int
{
return $this->getAttribute('id');
}
/**
* Get the UUID of the automated report result.
*
* @return string
*/
public function getUuid(): string
{
return $this->getAttribute('id_string');
}
/**
* Get the report ID of the automated report result.
*
* @return int
*/
public function getReportId(): int
{
return $this->getAttribute('report_id');
}
/**
* Get the name of the automated report result.
*
* @return ?string
*/
public function getName(): ?string
{
return $this->getAttribute('name');
}
/**
* Get the status of the automated report result.
*
* @return int
*/
public function getStatus(): int
{
return $this->getAttribute('status');
}
/**
* Get the reason of the automated report result.
*
* @return int
*/
public function getReason(): int
{
return $this->getAttribute('reason');
}
/**
* Get the media type of the automated report result.
*
* @return string
*/
public function getMediaType(): ?string
{
return $this->getAttribute('media_type');
}
/**
* Get the parent ID of the automated report result.
*
* @return int|null
*/
public function getParentId(): ?int
{
return $this->getAttribute('parent_id');
}
/**
* Get the payload of the automated report result.
*
* @return array|null
*/
public function getPayload(): ?array
{
return $this->getAttribute('payload');
}
/**
* Get the response of the automated report result.
*
* @return array|null
*/
public function getResponse(): ?array
{
return $this->getAttribute('response');
}
/**
* Get the requested at date of the automated report result.
*
* @return Carbon|null
*/
public function getRequestedAt(): ?Carbon
{
return $this->getAttribute('requested_at');
}
/**
* Get the generated at date of the automated report result.
*
* @return Carbon|null
*/
public function getGeneratedAt(): ?Carbon
{
return $this->getAttribute('generated_at');
}
/**
* Get the sent at date of the automated report result.
*
* @return Carbon|null
*/
public function getSentAt(): ?Carbon
{
return $this->getAttribute('sent_at');
}
/**
* Get the created at date of the automated report result.
*
* @return Carbon
*/
public function getCreatedAt(): Carbon
{
return $this->getAttribute('created_at');
}
/**
* Get the updated at date of the automated report result.
*
* @return Carbon
*/
public function getUpdatedAt(): Carbon
{
return $this->getAttribute('updated_at');
}
/**
* Check if the report result is in requested status.
*
* @return bool
*/
public function isRequested(): bool
{
return $this->getStatus() === self::STATUS_REQUESTED;
}
/**
* Check if the report result is in generated status.
*
* @return bool
*/
public function isGenerated(): bool
{
return $this->getStatus() === self::STATUS_GENERATED;
}
/**
* Check if the report result is in sent status.
*
* @return bool
*/
public function isSent(): bool
{
return $this->getStatus() === self::STATUS_SENT;
}
/**
* Check if the report result is in failed status.
*
* @return bool
*/
public function isFailed(): bool
{
return $this->getStatus() === self::STATUS_FAILED;
}
public function getStatusLabel(): string
{
return match ($this->getStatus()) {
self::STATUS_REQUESTED => 'Requested',
self::STATUS_GENERATED => 'Generated',
self::STATUS_SENT => 'Sent',
self::STATUS_FAILED => 'Failed',
default => 'Default',
};
}
public function getReport(): AutomatedReport
{
return $this->getAttribute('report');
}
public function getFromDate(): ?Carbon
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['from_date'])) {
return null;
}
return Carbon::parse($payload['from_date']);
}
public function getToDate(): ?Carbon
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['to_date'])) {
return null;
}
return Carbon::parse($payload['to_date']);
}
public function getReportType(): ?string
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['report_type'])) {
return null;
}
return $payload['report_type'];
}
public function getGroups(): array
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['group_ids'])) {
return [];
}
return $payload['group_ids'];
}
public function getPdfUrl(): ?string
{
$response = $this->getResponse();
return $response['pdf_url'] ?? null;
}
public function getPodcastAudioUrl(): ?string
{
$response = $this->getResponse();
return $response['podcast_audio_url'] ?? null;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
34
1
33
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_reports WHERE id
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.03046875,"top":0.017361112,"width":0.0453125,"height":0.022222223},"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"bounds":{"left":0.07578125,"top":0.017361112,"width":0.14960937,"height":0.022222223},"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.78515625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"bounds":{"left":0.803125,"top":0.017361112,"width":0.09765625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9007813,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9140625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9273437,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96015626,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9734375,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9867188,"top":0.017361112,"width":0.013281226,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"8","depth":4,"bounds":{"left":0.32460937,"top":0.23819445,"width":0.009375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.33632812,"top":0.23819445,"width":0.00859375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.34726563,"top":0.23819445,"width":0.00859375,"height":0.013194445},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.3578125,"top":0.23680556,"width":0.00859375,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.36640626,"top":0.23680556,"width":0.008203125,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\nnamespace Jiminny\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\Relations\\BelongsTo;\nuse Illuminate\\Database\\Eloquent\\Relations\\HasMany;\nuse Illuminate\\Support\\Carbon;\nuse Jiminny\\Traits\\RequiresUUID;\n\n/**\n * Jiminny\\Models\\AutomatedReportResult\n *\n * @property int $id\n * @property string $uuid\n * @property int $report_id\n * @property string|null $name\n * @property int $status\n * @property int $reason\n * @property string $media_type\n * @property int|null $parent_id\n * @property array|null $payload\n * @property array|null $response\n * @property Carbon|null $requested_at\n * @property Carbon|null $generated_at\n * @property Carbon|null $sent_at\n * @property Carbon|null $created_at\n * @property Carbon|null $updated_at\n * @property-read \\Jiminny\\Models\\AutomatedReport $report\n * @property-read AutomatedReportResult|null $parent\n * @property-read \\Illuminate\\Database\\Eloquent\\Collection<int, AutomatedReportResult> $children\n */\nclass AutomatedReportResult extends Model\n{\n use RequiresUUID;\n\n /**\n * Status constants\n */\n public const int STATUS_DEFAULT = 0;\n public const int STATUS_REQUESTED = 1;\n public const int STATUS_GENERATED = 2;\n public const int STATUS_SENT = 3;\n public const int STATUS_FAILED = 4;\n\n /**\n * Reason constants\n */\n public const int REASON_DEFAULT = 0;\n public const int REASON_NOT_ENOUGH_ACTIVITIES = 1;\n public const int REASON_PROPHET_API_ERROR = 2;\n\n protected $table = 'automated_report_results';\n\n /**\n * The attributes that are mass assignable.\n *\n * @var array<int, string>\n */\n protected $fillable = [\n 'report_id',\n 'name',\n 'status',\n 'reason',\n 'media_type',\n 'parent_id',\n 'payload',\n 'response',\n 'requested_at',\n 'generated_at',\n 'sent_at',\n ];\n\n /**\n * Get the attributes that should be cast.\n *\n * @return array<string, string>\n */\n protected function casts(): array\n {\n return [\n 'payload' => 'array',\n 'response' => 'array',\n 'requested_at' => 'datetime',\n 'generated_at' => 'datetime',\n 'sent_at' => 'datetime',\n ];\n }\n\n /**\n * Get the automated report that owns this result.\n *\n * @return BelongsTo\n */\n public function report(): BelongsTo\n {\n return $this->belongsTo(AutomatedReport::class, 'report_id')->withTrashed();\n }\n\n /**\n * Get the parent report result.\n *\n * @return BelongsTo\n */\n public function parent(): BelongsTo\n {\n return $this->belongsTo(self::class, 'parent_id');\n }\n\n /**\n * Get the child report results.\n *\n * @return HasMany\n */\n public function children(): HasMany\n {\n return $this->hasMany(self::class, 'parent_id');\n }\n\n /**\n * Get the ID of the automated report result.\n *\n * @return int\n */\n public function getId(): int\n {\n return $this->getAttribute('id');\n }\n\n /**\n * Get the UUID of the automated report result.\n *\n * @return string\n */\n public function getUuid(): string\n {\n return $this->getAttribute('id_string');\n }\n\n /**\n * Get the report ID of the automated report result.\n *\n * @return int\n */\n public function getReportId(): int\n {\n return $this->getAttribute('report_id');\n }\n\n /**\n * Get the name of the automated report result.\n *\n * @return ?string\n */\n public function getName(): ?string\n {\n return $this->getAttribute('name');\n }\n\n /**\n * Get the status of the automated report result.\n *\n * @return int\n */\n public function getStatus(): int\n {\n return $this->getAttribute('status');\n }\n\n /**\n * Get the reason of the automated report result.\n *\n * @return int\n */\n public function getReason(): int\n {\n return $this->getAttribute('reason');\n }\n\n /**\n * Get the media type of the automated report result.\n *\n * @return string\n */\n public function getMediaType(): ?string\n {\n return $this->getAttribute('media_type');\n }\n\n /**\n * Get the parent ID of the automated report result.\n *\n * @return int|null\n */\n public function getParentId(): ?int\n {\n return $this->getAttribute('parent_id');\n }\n\n /**\n * Get the payload of the automated report result.\n *\n * @return array|null\n */\n public function getPayload(): ?array\n {\n return $this->getAttribute('payload');\n }\n\n /**\n * Get the response of the automated report result.\n *\n * @return array|null\n */\n public function getResponse(): ?array\n {\n return $this->getAttribute('response');\n }\n\n /**\n * Get the requested at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getRequestedAt(): ?Carbon\n {\n return $this->getAttribute('requested_at');\n }\n\n /**\n * Get the generated at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getGeneratedAt(): ?Carbon\n {\n return $this->getAttribute('generated_at');\n }\n\n /**\n * Get the sent at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getSentAt(): ?Carbon\n {\n return $this->getAttribute('sent_at');\n }\n\n /**\n * Get the created at date of the automated report result.\n *\n * @return Carbon\n */\n public function getCreatedAt(): Carbon\n {\n return $this->getAttribute('created_at');\n }\n\n /**\n * Get the updated at date of the automated report result.\n *\n * @return Carbon\n */\n public function getUpdatedAt(): Carbon\n {\n return $this->getAttribute('updated_at');\n }\n\n /**\n * Check if the report result is in requested status.\n *\n * @return bool\n */\n public function isRequested(): bool\n {\n return $this->getStatus() === self::STATUS_REQUESTED;\n }\n\n /**\n * Check if the report result is in generated status.\n *\n * @return bool\n */\n public function isGenerated(): bool\n {\n return $this->getStatus() === self::STATUS_GENERATED;\n }\n\n /**\n * Check if the report result is in sent status.\n *\n * @return bool\n */\n public function isSent(): bool\n {\n return $this->getStatus() === self::STATUS_SENT;\n }\n\n /**\n * Check if the report result is in failed status.\n *\n * @return bool\n */\n public function isFailed(): bool\n {\n return $this->getStatus() === self::STATUS_FAILED;\n }\n\n public function getStatusLabel(): string\n {\n return match ($this->getStatus()) {\n self::STATUS_REQUESTED => 'Requested',\n self::STATUS_GENERATED => 'Generated',\n self::STATUS_SENT => 'Sent',\n self::STATUS_FAILED => 'Failed',\n default => 'Default',\n };\n }\n\n public function getReport(): AutomatedReport\n {\n return $this->getAttribute('report');\n }\n\n public function getFromDate(): ?Carbon\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['from_date'])) {\n return null;\n }\n\n return Carbon::parse($payload['from_date']);\n }\n\n public function getToDate(): ?Carbon\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['to_date'])) {\n return null;\n }\n\n return Carbon::parse($payload['to_date']);\n }\n\n public function getReportType(): ?string\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['report_type'])) {\n return null;\n }\n\n return $payload['report_type'];\n }\n\n public function getGroups(): array\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['group_ids'])) {\n return [];\n }\n\n return $payload['group_ids'];\n }\n\n public function getPdfUrl(): ?string\n {\n $response = $this->getResponse();\n\n return $response['pdf_url'] ?? null;\n }\n\n public function getPodcastAudioUrl(): ?string\n {\n $response = $this->getResponse();\n\n return $response['podcast_audio_url'] ?? null;\n }\n}","depth":4,"value":"<?php\n\nnamespace Jiminny\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\Relations\\BelongsTo;\nuse Illuminate\\Database\\Eloquent\\Relations\\HasMany;\nuse Illuminate\\Support\\Carbon;\nuse Jiminny\\Traits\\RequiresUUID;\n\n/**\n * Jiminny\\Models\\AutomatedReportResult\n *\n * @property int $id\n * @property string $uuid\n * @property int $report_id\n * @property string|null $name\n * @property int $status\n * @property int $reason\n * @property string $media_type\n * @property int|null $parent_id\n * @property array|null $payload\n * @property array|null $response\n * @property Carbon|null $requested_at\n * @property Carbon|null $generated_at\n * @property Carbon|null $sent_at\n * @property Carbon|null $created_at\n * @property Carbon|null $updated_at\n * @property-read \\Jiminny\\Models\\AutomatedReport $report\n * @property-read AutomatedReportResult|null $parent\n * @property-read \\Illuminate\\Database\\Eloquent\\Collection<int, AutomatedReportResult> $children\n */\nclass AutomatedReportResult extends Model\n{\n use RequiresUUID;\n\n /**\n * Status constants\n */\n public const int STATUS_DEFAULT = 0;\n public const int STATUS_REQUESTED = 1;\n public const int STATUS_GENERATED = 2;\n public const int STATUS_SENT = 3;\n public const int STATUS_FAILED = 4;\n\n /**\n * Reason constants\n */\n public const int REASON_DEFAULT = 0;\n public const int REASON_NOT_ENOUGH_ACTIVITIES = 1;\n public const int REASON_PROPHET_API_ERROR = 2;\n\n protected $table = 'automated_report_results';\n\n /**\n * The attributes that are mass assignable.\n *\n * @var array<int, string>\n */\n protected $fillable = [\n 'report_id',\n 'name',\n 'status',\n 'reason',\n 'media_type',\n 'parent_id',\n 'payload',\n 'response',\n 'requested_at',\n 'generated_at',\n 'sent_at',\n ];\n\n /**\n * Get the attributes that should be cast.\n *\n * @return array<string, string>\n */\n protected function casts(): array\n {\n return [\n 'payload' => 'array',\n 'response' => 'array',\n 'requested_at' => 'datetime',\n 'generated_at' => 'datetime',\n 'sent_at' => 'datetime',\n ];\n }\n\n /**\n * Get the automated report that owns this result.\n *\n * @return BelongsTo\n */\n public function report(): BelongsTo\n {\n return $this->belongsTo(AutomatedReport::class, 'report_id')->withTrashed();\n }\n\n /**\n * Get the parent report result.\n *\n * @return BelongsTo\n */\n public function parent(): BelongsTo\n {\n return $this->belongsTo(self::class, 'parent_id');\n }\n\n /**\n * Get the child report results.\n *\n * @return HasMany\n */\n public function children(): HasMany\n {\n return $this->hasMany(self::class, 'parent_id');\n }\n\n /**\n * Get the ID of the automated report result.\n *\n * @return int\n */\n public function getId(): int\n {\n return $this->getAttribute('id');\n }\n\n /**\n * Get the UUID of the automated report result.\n *\n * @return string\n */\n public function getUuid(): string\n {\n return $this->getAttribute('id_string');\n }\n\n /**\n * Get the report ID of the automated report result.\n *\n * @return int\n */\n public function getReportId(): int\n {\n return $this->getAttribute('report_id');\n }\n\n /**\n * Get the name of the automated report result.\n *\n * @return ?string\n */\n public function getName(): ?string\n {\n return $this->getAttribute('name');\n }\n\n /**\n * Get the status of the automated report result.\n *\n * @return int\n */\n public function getStatus(): int\n {\n return $this->getAttribute('status');\n }\n\n /**\n * Get the reason of the automated report result.\n *\n * @return int\n */\n public function getReason(): int\n {\n return $this->getAttribute('reason');\n }\n\n /**\n * Get the media type of the automated report result.\n *\n * @return string\n */\n public function getMediaType(): ?string\n {\n return $this->getAttribute('media_type');\n }\n\n /**\n * Get the parent ID of the automated report result.\n *\n * @return int|null\n */\n public function getParentId(): ?int\n {\n return $this->getAttribute('parent_id');\n }\n\n /**\n * Get the payload of the automated report result.\n *\n * @return array|null\n */\n public function getPayload(): ?array\n {\n return $this->getAttribute('payload');\n }\n\n /**\n * Get the response of the automated report result.\n *\n * @return array|null\n */\n public function getResponse(): ?array\n {\n return $this->getAttribute('response');\n }\n\n /**\n * Get the requested at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getRequestedAt(): ?Carbon\n {\n return $this->getAttribute('requested_at');\n }\n\n /**\n * Get the generated at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getGeneratedAt(): ?Carbon\n {\n return $this->getAttribute('generated_at');\n }\n\n /**\n * Get the sent at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getSentAt(): ?Carbon\n {\n return $this->getAttribute('sent_at');\n }\n\n /**\n * Get the created at date of the automated report result.\n *\n * @return Carbon\n */\n public function getCreatedAt(): Carbon\n {\n return $this->getAttribute('created_at');\n }\n\n /**\n * Get the updated at date of the automated report result.\n *\n * @return Carbon\n */\n public function getUpdatedAt(): Carbon\n {\n return $this->getAttribute('updated_at');\n }\n\n /**\n * Check if the report result is in requested status.\n *\n * @return bool\n */\n public function isRequested(): bool\n {\n return $this->getStatus() === self::STATUS_REQUESTED;\n }\n\n /**\n * Check if the report result is in generated status.\n *\n * @return bool\n */\n public function isGenerated(): bool\n {\n return $this->getStatus() === self::STATUS_GENERATED;\n }\n\n /**\n * Check if the report result is in sent status.\n *\n * @return bool\n */\n public function isSent(): bool\n {\n return $this->getStatus() === self::STATUS_SENT;\n }\n\n /**\n * Check if the report result is in failed status.\n *\n * @return bool\n */\n public function isFailed(): bool\n {\n return $this->getStatus() === self::STATUS_FAILED;\n }\n\n public function getStatusLabel(): string\n {\n return match ($this->getStatus()) {\n self::STATUS_REQUESTED => 'Requested',\n self::STATUS_GENERATED => 'Generated',\n self::STATUS_SENT => 'Sent',\n self::STATUS_FAILED => 'Failed',\n default => 'Default',\n };\n }\n\n public function getReport(): AutomatedReport\n {\n return $this->getAttribute('report');\n }\n\n public function getFromDate(): ?Carbon\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['from_date'])) {\n return null;\n }\n\n return Carbon::parse($payload['from_date']);\n }\n\n public function getToDate(): ?Carbon\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['to_date'])) {\n return null;\n }\n\n return Carbon::parse($payload['to_date']);\n }\n\n public function getReportType(): ?string\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['report_type'])) {\n return null;\n }\n\n return $payload['report_type'];\n }\n\n public function getGroups(): array\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['group_ids'])) {\n return [];\n }\n\n return $payload['group_ids'];\n }\n\n public function getPdfUrl(): ?string\n {\n $response = $this->getResponse();\n\n return $response['pdf_url'] ?? null;\n }\n\n public function getPodcastAudioUrl(): ?string\n {\n $response = $this->getResponse();\n\n return $response['podcast_audio_url'] ?? null;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.3765625,"top":0.08611111,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"bounds":{"left":0.38671875,"top":0.08611111,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"bounds":{"left":0.3996094,"top":0.08611111,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"bounds":{"left":0.40976563,"top":0.08611111,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"bounds":{"left":0.41992188,"top":0.08611111,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"bounds":{"left":0.4328125,"top":0.08611111,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"bounds":{"left":0.44570312,"top":0.08611111,"width":0.028515626,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"bounds":{"left":0.47695312,"top":0.08611111,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.48984376,"top":0.08611111,"width":0.034765624,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.6917969,"top":0.08611111,"width":0.033203125,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"34","depth":4,"bounds":{"left":0.65664065,"top":0.10763889,"width":0.012109375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.67109376,"top":0.10763889,"width":0.00859375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"33","depth":4,"bounds":{"left":0.6820313,"top":0.10763889,"width":0.012109375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"61","depth":4,"bounds":{"left":0.6964844,"top":0.10763889,"width":0.011328125,"height":0.013194445},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7097656,"top":0.10625,"width":0.00859375,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.71835935,"top":0.10625,"width":0.008203125,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_reports WHERE id","depth":4,"value":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_reports WHERE id","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.0140625,"top":0.041666668,"width":0.028515626,"height":0.021527778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-1210063011699316655
|
1137771466224711277
|
visual_change
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
8
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Carbon;
use Jiminny\Traits\RequiresUUID;
/**
* Jiminny\Models\AutomatedReportResult
*
* @property int $id
* @property string $uuid
* @property int $report_id
* @property string|null $name
* @property int $status
* @property int $reason
* @property string $media_type
* @property int|null $parent_id
* @property array|null $payload
* @property array|null $response
* @property Carbon|null $requested_at
* @property Carbon|null $generated_at
* @property Carbon|null $sent_at
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property-read \Jiminny\Models\AutomatedReport $report
* @property-read AutomatedReportResult|null $parent
* @property-read \Illuminate\Database\Eloquent\Collection<int, AutomatedReportResult> $children
*/
class AutomatedReportResult extends Model
{
use RequiresUUID;
/**
* Status constants
*/
public const int STATUS_DEFAULT = 0;
public const int STATUS_REQUESTED = 1;
public const int STATUS_GENERATED = 2;
public const int STATUS_SENT = 3;
public const int STATUS_FAILED = 4;
/**
* Reason constants
*/
public const int REASON_DEFAULT = 0;
public const int REASON_NOT_ENOUGH_ACTIVITIES = 1;
public const int REASON_PROPHET_API_ERROR = 2;
protected $table = 'automated_report_results';
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'report_id',
'name',
'status',
'reason',
'media_type',
'parent_id',
'payload',
'response',
'requested_at',
'generated_at',
'sent_at',
];
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'payload' => 'array',
'response' => 'array',
'requested_at' => 'datetime',
'generated_at' => 'datetime',
'sent_at' => 'datetime',
];
}
/**
* Get the automated report that owns this result.
*
* @return BelongsTo
*/
public function report(): BelongsTo
{
return $this->belongsTo(AutomatedReport::class, 'report_id')->withTrashed();
}
/**
* Get the parent report result.
*
* @return BelongsTo
*/
public function parent(): BelongsTo
{
return $this->belongsTo(self::class, 'parent_id');
}
/**
* Get the child report results.
*
* @return HasMany
*/
public function children(): HasMany
{
return $this->hasMany(self::class, 'parent_id');
}
/**
* Get the ID of the automated report result.
*
* @return int
*/
public function getId(): int
{
return $this->getAttribute('id');
}
/**
* Get the UUID of the automated report result.
*
* @return string
*/
public function getUuid(): string
{
return $this->getAttribute('id_string');
}
/**
* Get the report ID of the automated report result.
*
* @return int
*/
public function getReportId(): int
{
return $this->getAttribute('report_id');
}
/**
* Get the name of the automated report result.
*
* @return ?string
*/
public function getName(): ?string
{
return $this->getAttribute('name');
}
/**
* Get the status of the automated report result.
*
* @return int
*/
public function getStatus(): int
{
return $this->getAttribute('status');
}
/**
* Get the reason of the automated report result.
*
* @return int
*/
public function getReason(): int
{
return $this->getAttribute('reason');
}
/**
* Get the media type of the automated report result.
*
* @return string
*/
public function getMediaType(): ?string
{
return $this->getAttribute('media_type');
}
/**
* Get the parent ID of the automated report result.
*
* @return int|null
*/
public function getParentId(): ?int
{
return $this->getAttribute('parent_id');
}
/**
* Get the payload of the automated report result.
*
* @return array|null
*/
public function getPayload(): ?array
{
return $this->getAttribute('payload');
}
/**
* Get the response of the automated report result.
*
* @return array|null
*/
public function getResponse(): ?array
{
return $this->getAttribute('response');
}
/**
* Get the requested at date of the automated report result.
*
* @return Carbon|null
*/
public function getRequestedAt(): ?Carbon
{
return $this->getAttribute('requested_at');
}
/**
* Get the generated at date of the automated report result.
*
* @return Carbon|null
*/
public function getGeneratedAt(): ?Carbon
{
return $this->getAttribute('generated_at');
}
/**
* Get the sent at date of the automated report result.
*
* @return Carbon|null
*/
public function getSentAt(): ?Carbon
{
return $this->getAttribute('sent_at');
}
/**
* Get the created at date of the automated report result.
*
* @return Carbon
*/
public function getCreatedAt(): Carbon
{
return $this->getAttribute('created_at');
}
/**
* Get the updated at date of the automated report result.
*
* @return Carbon
*/
public function getUpdatedAt(): Carbon
{
return $this->getAttribute('updated_at');
}
/**
* Check if the report result is in requested status.
*
* @return bool
*/
public function isRequested(): bool
{
return $this->getStatus() === self::STATUS_REQUESTED;
}
/**
* Check if the report result is in generated status.
*
* @return bool
*/
public function isGenerated(): bool
{
return $this->getStatus() === self::STATUS_GENERATED;
}
/**
* Check if the report result is in sent status.
*
* @return bool
*/
public function isSent(): bool
{
return $this->getStatus() === self::STATUS_SENT;
}
/**
* Check if the report result is in failed status.
*
* @return bool
*/
public function isFailed(): bool
{
return $this->getStatus() === self::STATUS_FAILED;
}
public function getStatusLabel(): string
{
return match ($this->getStatus()) {
self::STATUS_REQUESTED => 'Requested',
self::STATUS_GENERATED => 'Generated',
self::STATUS_SENT => 'Sent',
self::STATUS_FAILED => 'Failed',
default => 'Default',
};
}
public function getReport(): AutomatedReport
{
return $this->getAttribute('report');
}
public function getFromDate(): ?Carbon
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['from_date'])) {
return null;
}
return Carbon::parse($payload['from_date']);
}
public function getToDate(): ?Carbon
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['to_date'])) {
return null;
}
return Carbon::parse($payload['to_date']);
}
public function getReportType(): ?string
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['report_type'])) {
return null;
}
return $payload['report_type'];
}
public function getGroups(): array
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['group_ids'])) {
return [];
}
return $payload['group_ids'];
}
public function getPdfUrl(): ?string
{
$response = $this->getResponse();
return $response['pdf_url'] ?? null;
}
public function getPodcastAudioUrl(): ?string
{
$response = $this->getResponse();
return $response['podcast_audio_url'] ?? null;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
34
1
33
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_reports WHERE id
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
41717
|
|
41718
|
NULL
|
0
|
2026-04-17T06:22:50.541074+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406970541_m1.jpg...
|
PhpStorm
|
faVsco.js – console [PROD]
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
8
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Carbon;
use Jiminny\Traits\RequiresUUID;
/**
* Jiminny\Models\AutomatedReportResult
*
* @property int $id
* @property string $uuid
* @property int $report_id
* @property string|null $name
* @property int $status
* @property int $reason
* @property string $media_type
* @property int|null $parent_id
* @property array|null $payload
* @property array|null $response
* @property Carbon|null $requested_at
* @property Carbon|null $generated_at
* @property Carbon|null $sent_at
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property-read \Jiminny\Models\AutomatedReport $report
* @property-read AutomatedReportResult|null $parent
* @property-read \Illuminate\Database\Eloquent\Collection<int, AutomatedReportResult> $children
*/
class AutomatedReportResult extends Model
{
use RequiresUUID;
/**
* Status constants
*/
public const int STATUS_DEFAULT = 0;
public const int STATUS_REQUESTED = 1;
public const int STATUS_GENERATED = 2;
public const int STATUS_SENT = 3;
public const int STATUS_FAILED = 4;
/**
* Reason constants
*/
public const int REASON_DEFAULT = 0;
public const int REASON_NOT_ENOUGH_ACTIVITIES = 1;
public const int REASON_PROPHET_API_ERROR = 2;
protected $table = 'automated_report_results';
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'report_id',
'name',
'status',
'reason',
'media_type',
'parent_id',
'payload',
'response',
'requested_at',
'generated_at',
'sent_at',
];
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'payload' => 'array',
'response' => 'array',
'requested_at' => 'datetime',
'generated_at' => 'datetime',
'sent_at' => 'datetime',
];
}
/**
* Get the automated report that owns this result.
*
* @return BelongsTo
*/
public function report(): BelongsTo
{
return $this->belongsTo(AutomatedReport::class, 'report_id')->withTrashed();
}
/**
* Get the parent report result.
*
* @return BelongsTo
*/
public function parent(): BelongsTo
{
return $this->belongsTo(self::class, 'parent_id');
}
/**
* Get the child report results.
*
* @return HasMany
*/
public function children(): HasMany
{
return $this->hasMany(self::class, 'parent_id');
}
/**
* Get the ID of the automated report result.
*
* @return int
*/
public function getId(): int
{
return $this->getAttribute('id');
}
/**
* Get the UUID of the automated report result.
*
* @return string
*/
public function getUuid(): string
{
return $this->getAttribute('id_string');
}
/**
* Get the report ID of the automated report result.
*
* @return int
*/
public function getReportId(): int
{
return $this->getAttribute('report_id');
}
/**
* Get the name of the automated report result.
*
* @return ?string
*/
public function getName(): ?string
{
return $this->getAttribute('name');
}
/**
* Get the status of the automated report result.
*
* @return int
*/
public function getStatus(): int
{
return $this->getAttribute('status');
}
/**
* Get the reason of the automated report result.
*
* @return int
*/
public function getReason(): int
{
return $this->getAttribute('reason');
}
/**
* Get the media type of the automated report result.
*
* @return string
*/
public function getMediaType(): ?string
{
return $this->getAttribute('media_type');
}
/**
* Get the parent ID of the automated report result.
*
* @return int|null
*/
public function getParentId(): ?int
{
return $this->getAttribute('parent_id');
}
/**
* Get the payload of the automated report result.
*
* @return array|null
*/
public function getPayload(): ?array
{
return $this->getAttribute('payload');
}
/**
* Get the response of the automated report result.
*
* @return array|null
*/
public function getResponse(): ?array
{
return $this->getAttribute('response');
}
/**
* Get the requested at date of the automated report result.
*
* @return Carbon|null
*/
public function getRequestedAt(): ?Carbon
{
return $this->getAttribute('requested_at');
}
/**
* Get the generated at date of the automated report result.
*
* @return Carbon|null
*/
public function getGeneratedAt(): ?Carbon
{
return $this->getAttribute('generated_at');
}
/**
* Get the sent at date of the automated report result.
*
* @return Carbon|null
*/
public function getSentAt(): ?Carbon
{
return $this->getAttribute('sent_at');
}
/**
* Get the created at date of the automated report result.
*
* @return Carbon
*/
public function getCreatedAt(): Carbon
{
return $this->getAttribute('created_at');
}
/**
* Get the updated at date of the automated report result.
*
* @return Carbon
*/
public function getUpdatedAt(): Carbon
{
return $this->getAttribute('updated_at');
}
/**
* Check if the report result is in requested status.
*
* @return bool
*/
public function isRequested(): bool
{
return $this->getStatus() === self::STATUS_REQUESTED;
}
/**
* Check if the report result is in generated status.
*
* @return bool
*/
public function isGenerated(): bool
{
return $this->getStatus() === self::STATUS_GENERATED;
}
/**
* Check if the report result is in sent status.
*
* @return bool
*/
public function isSent(): bool
{
return $this->getStatus() === self::STATUS_SENT;
}
/**
* Check if the report result is in failed status.
*
* @return bool
*/
public function isFailed(): bool
{
return $this->getStatus() === self::STATUS_FAILED;
}
public function getStatusLabel(): string
{
return match ($this->getStatus()) {
self::STATUS_REQUESTED => 'Requested',
self::STATUS_GENERATED => 'Generated',
self::STATUS_SENT => 'Sent',
self::STATUS_FAILED => 'Failed',
default => 'Default',
};
}
public function getReport(): AutomatedReport
{
return $this->getAttribute('report');
}
public function getFromDate(): ?Carbon
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['from_date'])) {
return null;
}
return Carbon::parse($payload['from_date']);
}
public function getToDate(): ?Carbon
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['to_date'])) {
return null;
}
return Carbon::parse($payload['to_date']);
}
public function getReportType(): ?string
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['report_type'])) {
return null;
}
return $payload['report_type'];
}
public function getGroups(): array
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['group_ids'])) {
return [];
}
return $payload['group_ids'];
}
public function getPdfUrl(): ?string
{
$response = $this->getResponse();
return $response['pdf_url'] ?? null;
}
public function getPodcastAudioUrl(): ?string
{
$response = $this->getResponse();
return $response['podcast_audio_url'] ?? null;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
35
1
32
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_reports WHERE id
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"8","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\nnamespace Jiminny\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\Relations\\BelongsTo;\nuse Illuminate\\Database\\Eloquent\\Relations\\HasMany;\nuse Illuminate\\Support\\Carbon;\nuse Jiminny\\Traits\\RequiresUUID;\n\n/**\n * Jiminny\\Models\\AutomatedReportResult\n *\n * @property int $id\n * @property string $uuid\n * @property int $report_id\n * @property string|null $name\n * @property int $status\n * @property int $reason\n * @property string $media_type\n * @property int|null $parent_id\n * @property array|null $payload\n * @property array|null $response\n * @property Carbon|null $requested_at\n * @property Carbon|null $generated_at\n * @property Carbon|null $sent_at\n * @property Carbon|null $created_at\n * @property Carbon|null $updated_at\n * @property-read \\Jiminny\\Models\\AutomatedReport $report\n * @property-read AutomatedReportResult|null $parent\n * @property-read \\Illuminate\\Database\\Eloquent\\Collection<int, AutomatedReportResult> $children\n */\nclass AutomatedReportResult extends Model\n{\n use RequiresUUID;\n\n /**\n * Status constants\n */\n public const int STATUS_DEFAULT = 0;\n public const int STATUS_REQUESTED = 1;\n public const int STATUS_GENERATED = 2;\n public const int STATUS_SENT = 3;\n public const int STATUS_FAILED = 4;\n\n /**\n * Reason constants\n */\n public const int REASON_DEFAULT = 0;\n public const int REASON_NOT_ENOUGH_ACTIVITIES = 1;\n public const int REASON_PROPHET_API_ERROR = 2;\n\n protected $table = 'automated_report_results';\n\n /**\n * The attributes that are mass assignable.\n *\n * @var array<int, string>\n */\n protected $fillable = [\n 'report_id',\n 'name',\n 'status',\n 'reason',\n 'media_type',\n 'parent_id',\n 'payload',\n 'response',\n 'requested_at',\n 'generated_at',\n 'sent_at',\n ];\n\n /**\n * Get the attributes that should be cast.\n *\n * @return array<string, string>\n */\n protected function casts(): array\n {\n return [\n 'payload' => 'array',\n 'response' => 'array',\n 'requested_at' => 'datetime',\n 'generated_at' => 'datetime',\n 'sent_at' => 'datetime',\n ];\n }\n\n /**\n * Get the automated report that owns this result.\n *\n * @return BelongsTo\n */\n public function report(): BelongsTo\n {\n return $this->belongsTo(AutomatedReport::class, 'report_id')->withTrashed();\n }\n\n /**\n * Get the parent report result.\n *\n * @return BelongsTo\n */\n public function parent(): BelongsTo\n {\n return $this->belongsTo(self::class, 'parent_id');\n }\n\n /**\n * Get the child report results.\n *\n * @return HasMany\n */\n public function children(): HasMany\n {\n return $this->hasMany(self::class, 'parent_id');\n }\n\n /**\n * Get the ID of the automated report result.\n *\n * @return int\n */\n public function getId(): int\n {\n return $this->getAttribute('id');\n }\n\n /**\n * Get the UUID of the automated report result.\n *\n * @return string\n */\n public function getUuid(): string\n {\n return $this->getAttribute('id_string');\n }\n\n /**\n * Get the report ID of the automated report result.\n *\n * @return int\n */\n public function getReportId(): int\n {\n return $this->getAttribute('report_id');\n }\n\n /**\n * Get the name of the automated report result.\n *\n * @return ?string\n */\n public function getName(): ?string\n {\n return $this->getAttribute('name');\n }\n\n /**\n * Get the status of the automated report result.\n *\n * @return int\n */\n public function getStatus(): int\n {\n return $this->getAttribute('status');\n }\n\n /**\n * Get the reason of the automated report result.\n *\n * @return int\n */\n public function getReason(): int\n {\n return $this->getAttribute('reason');\n }\n\n /**\n * Get the media type of the automated report result.\n *\n * @return string\n */\n public function getMediaType(): ?string\n {\n return $this->getAttribute('media_type');\n }\n\n /**\n * Get the parent ID of the automated report result.\n *\n * @return int|null\n */\n public function getParentId(): ?int\n {\n return $this->getAttribute('parent_id');\n }\n\n /**\n * Get the payload of the automated report result.\n *\n * @return array|null\n */\n public function getPayload(): ?array\n {\n return $this->getAttribute('payload');\n }\n\n /**\n * Get the response of the automated report result.\n *\n * @return array|null\n */\n public function getResponse(): ?array\n {\n return $this->getAttribute('response');\n }\n\n /**\n * Get the requested at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getRequestedAt(): ?Carbon\n {\n return $this->getAttribute('requested_at');\n }\n\n /**\n * Get the generated at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getGeneratedAt(): ?Carbon\n {\n return $this->getAttribute('generated_at');\n }\n\n /**\n * Get the sent at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getSentAt(): ?Carbon\n {\n return $this->getAttribute('sent_at');\n }\n\n /**\n * Get the created at date of the automated report result.\n *\n * @return Carbon\n */\n public function getCreatedAt(): Carbon\n {\n return $this->getAttribute('created_at');\n }\n\n /**\n * Get the updated at date of the automated report result.\n *\n * @return Carbon\n */\n public function getUpdatedAt(): Carbon\n {\n return $this->getAttribute('updated_at');\n }\n\n /**\n * Check if the report result is in requested status.\n *\n * @return bool\n */\n public function isRequested(): bool\n {\n return $this->getStatus() === self::STATUS_REQUESTED;\n }\n\n /**\n * Check if the report result is in generated status.\n *\n * @return bool\n */\n public function isGenerated(): bool\n {\n return $this->getStatus() === self::STATUS_GENERATED;\n }\n\n /**\n * Check if the report result is in sent status.\n *\n * @return bool\n */\n public function isSent(): bool\n {\n return $this->getStatus() === self::STATUS_SENT;\n }\n\n /**\n * Check if the report result is in failed status.\n *\n * @return bool\n */\n public function isFailed(): bool\n {\n return $this->getStatus() === self::STATUS_FAILED;\n }\n\n public function getStatusLabel(): string\n {\n return match ($this->getStatus()) {\n self::STATUS_REQUESTED => 'Requested',\n self::STATUS_GENERATED => 'Generated',\n self::STATUS_SENT => 'Sent',\n self::STATUS_FAILED => 'Failed',\n default => 'Default',\n };\n }\n\n public function getReport(): AutomatedReport\n {\n return $this->getAttribute('report');\n }\n\n public function getFromDate(): ?Carbon\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['from_date'])) {\n return null;\n }\n\n return Carbon::parse($payload['from_date']);\n }\n\n public function getToDate(): ?Carbon\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['to_date'])) {\n return null;\n }\n\n return Carbon::parse($payload['to_date']);\n }\n\n public function getReportType(): ?string\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['report_type'])) {\n return null;\n }\n\n return $payload['report_type'];\n }\n\n public function getGroups(): array\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['group_ids'])) {\n return [];\n }\n\n return $payload['group_ids'];\n }\n\n public function getPdfUrl(): ?string\n {\n $response = $this->getResponse();\n\n return $response['pdf_url'] ?? null;\n }\n\n public function getPodcastAudioUrl(): ?string\n {\n $response = $this->getResponse();\n\n return $response['podcast_audio_url'] ?? null;\n }\n}","depth":4,"value":"<?php\n\nnamespace Jiminny\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\Relations\\BelongsTo;\nuse Illuminate\\Database\\Eloquent\\Relations\\HasMany;\nuse Illuminate\\Support\\Carbon;\nuse Jiminny\\Traits\\RequiresUUID;\n\n/**\n * Jiminny\\Models\\AutomatedReportResult\n *\n * @property int $id\n * @property string $uuid\n * @property int $report_id\n * @property string|null $name\n * @property int $status\n * @property int $reason\n * @property string $media_type\n * @property int|null $parent_id\n * @property array|null $payload\n * @property array|null $response\n * @property Carbon|null $requested_at\n * @property Carbon|null $generated_at\n * @property Carbon|null $sent_at\n * @property Carbon|null $created_at\n * @property Carbon|null $updated_at\n * @property-read \\Jiminny\\Models\\AutomatedReport $report\n * @property-read AutomatedReportResult|null $parent\n * @property-read \\Illuminate\\Database\\Eloquent\\Collection<int, AutomatedReportResult> $children\n */\nclass AutomatedReportResult extends Model\n{\n use RequiresUUID;\n\n /**\n * Status constants\n */\n public const int STATUS_DEFAULT = 0;\n public const int STATUS_REQUESTED = 1;\n public const int STATUS_GENERATED = 2;\n public const int STATUS_SENT = 3;\n public const int STATUS_FAILED = 4;\n\n /**\n * Reason constants\n */\n public const int REASON_DEFAULT = 0;\n public const int REASON_NOT_ENOUGH_ACTIVITIES = 1;\n public const int REASON_PROPHET_API_ERROR = 2;\n\n protected $table = 'automated_report_results';\n\n /**\n * The attributes that are mass assignable.\n *\n * @var array<int, string>\n */\n protected $fillable = [\n 'report_id',\n 'name',\n 'status',\n 'reason',\n 'media_type',\n 'parent_id',\n 'payload',\n 'response',\n 'requested_at',\n 'generated_at',\n 'sent_at',\n ];\n\n /**\n * Get the attributes that should be cast.\n *\n * @return array<string, string>\n */\n protected function casts(): array\n {\n return [\n 'payload' => 'array',\n 'response' => 'array',\n 'requested_at' => 'datetime',\n 'generated_at' => 'datetime',\n 'sent_at' => 'datetime',\n ];\n }\n\n /**\n * Get the automated report that owns this result.\n *\n * @return BelongsTo\n */\n public function report(): BelongsTo\n {\n return $this->belongsTo(AutomatedReport::class, 'report_id')->withTrashed();\n }\n\n /**\n * Get the parent report result.\n *\n * @return BelongsTo\n */\n public function parent(): BelongsTo\n {\n return $this->belongsTo(self::class, 'parent_id');\n }\n\n /**\n * Get the child report results.\n *\n * @return HasMany\n */\n public function children(): HasMany\n {\n return $this->hasMany(self::class, 'parent_id');\n }\n\n /**\n * Get the ID of the automated report result.\n *\n * @return int\n */\n public function getId(): int\n {\n return $this->getAttribute('id');\n }\n\n /**\n * Get the UUID of the automated report result.\n *\n * @return string\n */\n public function getUuid(): string\n {\n return $this->getAttribute('id_string');\n }\n\n /**\n * Get the report ID of the automated report result.\n *\n * @return int\n */\n public function getReportId(): int\n {\n return $this->getAttribute('report_id');\n }\n\n /**\n * Get the name of the automated report result.\n *\n * @return ?string\n */\n public function getName(): ?string\n {\n return $this->getAttribute('name');\n }\n\n /**\n * Get the status of the automated report result.\n *\n * @return int\n */\n public function getStatus(): int\n {\n return $this->getAttribute('status');\n }\n\n /**\n * Get the reason of the automated report result.\n *\n * @return int\n */\n public function getReason(): int\n {\n return $this->getAttribute('reason');\n }\n\n /**\n * Get the media type of the automated report result.\n *\n * @return string\n */\n public function getMediaType(): ?string\n {\n return $this->getAttribute('media_type');\n }\n\n /**\n * Get the parent ID of the automated report result.\n *\n * @return int|null\n */\n public function getParentId(): ?int\n {\n return $this->getAttribute('parent_id');\n }\n\n /**\n * Get the payload of the automated report result.\n *\n * @return array|null\n */\n public function getPayload(): ?array\n {\n return $this->getAttribute('payload');\n }\n\n /**\n * Get the response of the automated report result.\n *\n * @return array|null\n */\n public function getResponse(): ?array\n {\n return $this->getAttribute('response');\n }\n\n /**\n * Get the requested at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getRequestedAt(): ?Carbon\n {\n return $this->getAttribute('requested_at');\n }\n\n /**\n * Get the generated at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getGeneratedAt(): ?Carbon\n {\n return $this->getAttribute('generated_at');\n }\n\n /**\n * Get the sent at date of the automated report result.\n *\n * @return Carbon|null\n */\n public function getSentAt(): ?Carbon\n {\n return $this->getAttribute('sent_at');\n }\n\n /**\n * Get the created at date of the automated report result.\n *\n * @return Carbon\n */\n public function getCreatedAt(): Carbon\n {\n return $this->getAttribute('created_at');\n }\n\n /**\n * Get the updated at date of the automated report result.\n *\n * @return Carbon\n */\n public function getUpdatedAt(): Carbon\n {\n return $this->getAttribute('updated_at');\n }\n\n /**\n * Check if the report result is in requested status.\n *\n * @return bool\n */\n public function isRequested(): bool\n {\n return $this->getStatus() === self::STATUS_REQUESTED;\n }\n\n /**\n * Check if the report result is in generated status.\n *\n * @return bool\n */\n public function isGenerated(): bool\n {\n return $this->getStatus() === self::STATUS_GENERATED;\n }\n\n /**\n * Check if the report result is in sent status.\n *\n * @return bool\n */\n public function isSent(): bool\n {\n return $this->getStatus() === self::STATUS_SENT;\n }\n\n /**\n * Check if the report result is in failed status.\n *\n * @return bool\n */\n public function isFailed(): bool\n {\n return $this->getStatus() === self::STATUS_FAILED;\n }\n\n public function getStatusLabel(): string\n {\n return match ($this->getStatus()) {\n self::STATUS_REQUESTED => 'Requested',\n self::STATUS_GENERATED => 'Generated',\n self::STATUS_SENT => 'Sent',\n self::STATUS_FAILED => 'Failed',\n default => 'Default',\n };\n }\n\n public function getReport(): AutomatedReport\n {\n return $this->getAttribute('report');\n }\n\n public function getFromDate(): ?Carbon\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['from_date'])) {\n return null;\n }\n\n return Carbon::parse($payload['from_date']);\n }\n\n public function getToDate(): ?Carbon\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['to_date'])) {\n return null;\n }\n\n return Carbon::parse($payload['to_date']);\n }\n\n public function getReportType(): ?string\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['report_type'])) {\n return null;\n }\n\n return $payload['report_type'];\n }\n\n public function getGroups(): array\n {\n $payload = $this->getPayload();\n\n if (empty($payload) || empty($payload['group_ids'])) {\n return [];\n }\n\n return $payload['group_ids'];\n }\n\n public function getPdfUrl(): ?string\n {\n $response = $this->getResponse();\n\n return $response['pdf_url'] ?? null;\n }\n\n public function getPodcastAudioUrl(): ?string\n {\n $response = $this->getResponse();\n\n return $response['podcast_audio_url'] ?? null;\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"35","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"32","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"61","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_reports WHERE id","depth":4,"value":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_reports WHERE id","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
1926121256945776193
|
1137771466224711277
|
idle
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
8
1
1
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Carbon;
use Jiminny\Traits\RequiresUUID;
/**
* Jiminny\Models\AutomatedReportResult
*
* @property int $id
* @property string $uuid
* @property int $report_id
* @property string|null $name
* @property int $status
* @property int $reason
* @property string $media_type
* @property int|null $parent_id
* @property array|null $payload
* @property array|null $response
* @property Carbon|null $requested_at
* @property Carbon|null $generated_at
* @property Carbon|null $sent_at
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property-read \Jiminny\Models\AutomatedReport $report
* @property-read AutomatedReportResult|null $parent
* @property-read \Illuminate\Database\Eloquent\Collection<int, AutomatedReportResult> $children
*/
class AutomatedReportResult extends Model
{
use RequiresUUID;
/**
* Status constants
*/
public const int STATUS_DEFAULT = 0;
public const int STATUS_REQUESTED = 1;
public const int STATUS_GENERATED = 2;
public const int STATUS_SENT = 3;
public const int STATUS_FAILED = 4;
/**
* Reason constants
*/
public const int REASON_DEFAULT = 0;
public const int REASON_NOT_ENOUGH_ACTIVITIES = 1;
public const int REASON_PROPHET_API_ERROR = 2;
protected $table = 'automated_report_results';
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'report_id',
'name',
'status',
'reason',
'media_type',
'parent_id',
'payload',
'response',
'requested_at',
'generated_at',
'sent_at',
];
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'payload' => 'array',
'response' => 'array',
'requested_at' => 'datetime',
'generated_at' => 'datetime',
'sent_at' => 'datetime',
];
}
/**
* Get the automated report that owns this result.
*
* @return BelongsTo
*/
public function report(): BelongsTo
{
return $this->belongsTo(AutomatedReport::class, 'report_id')->withTrashed();
}
/**
* Get the parent report result.
*
* @return BelongsTo
*/
public function parent(): BelongsTo
{
return $this->belongsTo(self::class, 'parent_id');
}
/**
* Get the child report results.
*
* @return HasMany
*/
public function children(): HasMany
{
return $this->hasMany(self::class, 'parent_id');
}
/**
* Get the ID of the automated report result.
*
* @return int
*/
public function getId(): int
{
return $this->getAttribute('id');
}
/**
* Get the UUID of the automated report result.
*
* @return string
*/
public function getUuid(): string
{
return $this->getAttribute('id_string');
}
/**
* Get the report ID of the automated report result.
*
* @return int
*/
public function getReportId(): int
{
return $this->getAttribute('report_id');
}
/**
* Get the name of the automated report result.
*
* @return ?string
*/
public function getName(): ?string
{
return $this->getAttribute('name');
}
/**
* Get the status of the automated report result.
*
* @return int
*/
public function getStatus(): int
{
return $this->getAttribute('status');
}
/**
* Get the reason of the automated report result.
*
* @return int
*/
public function getReason(): int
{
return $this->getAttribute('reason');
}
/**
* Get the media type of the automated report result.
*
* @return string
*/
public function getMediaType(): ?string
{
return $this->getAttribute('media_type');
}
/**
* Get the parent ID of the automated report result.
*
* @return int|null
*/
public function getParentId(): ?int
{
return $this->getAttribute('parent_id');
}
/**
* Get the payload of the automated report result.
*
* @return array|null
*/
public function getPayload(): ?array
{
return $this->getAttribute('payload');
}
/**
* Get the response of the automated report result.
*
* @return array|null
*/
public function getResponse(): ?array
{
return $this->getAttribute('response');
}
/**
* Get the requested at date of the automated report result.
*
* @return Carbon|null
*/
public function getRequestedAt(): ?Carbon
{
return $this->getAttribute('requested_at');
}
/**
* Get the generated at date of the automated report result.
*
* @return Carbon|null
*/
public function getGeneratedAt(): ?Carbon
{
return $this->getAttribute('generated_at');
}
/**
* Get the sent at date of the automated report result.
*
* @return Carbon|null
*/
public function getSentAt(): ?Carbon
{
return $this->getAttribute('sent_at');
}
/**
* Get the created at date of the automated report result.
*
* @return Carbon
*/
public function getCreatedAt(): Carbon
{
return $this->getAttribute('created_at');
}
/**
* Get the updated at date of the automated report result.
*
* @return Carbon
*/
public function getUpdatedAt(): Carbon
{
return $this->getAttribute('updated_at');
}
/**
* Check if the report result is in requested status.
*
* @return bool
*/
public function isRequested(): bool
{
return $this->getStatus() === self::STATUS_REQUESTED;
}
/**
* Check if the report result is in generated status.
*
* @return bool
*/
public function isGenerated(): bool
{
return $this->getStatus() === self::STATUS_GENERATED;
}
/**
* Check if the report result is in sent status.
*
* @return bool
*/
public function isSent(): bool
{
return $this->getStatus() === self::STATUS_SENT;
}
/**
* Check if the report result is in failed status.
*
* @return bool
*/
public function isFailed(): bool
{
return $this->getStatus() === self::STATUS_FAILED;
}
public function getStatusLabel(): string
{
return match ($this->getStatus()) {
self::STATUS_REQUESTED => 'Requested',
self::STATUS_GENERATED => 'Generated',
self::STATUS_SENT => 'Sent',
self::STATUS_FAILED => 'Failed',
default => 'Default',
};
}
public function getReport(): AutomatedReport
{
return $this->getAttribute('report');
}
public function getFromDate(): ?Carbon
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['from_date'])) {
return null;
}
return Carbon::parse($payload['from_date']);
}
public function getToDate(): ?Carbon
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['to_date'])) {
return null;
}
return Carbon::parse($payload['to_date']);
}
public function getReportType(): ?string
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['report_type'])) {
return null;
}
return $payload['report_type'];
}
public function getGroups(): array
{
$payload = $this->getPayload();
if (empty($payload) || empty($payload['group_ids'])) {
return [];
}
return $payload['group_ids'];
}
public function getPdfUrl(): ?string
{
$response = $this->getResponse();
return $response['pdf_url'] ?? null;
}
public function getPodcastAudioUrl(): ?string
{
$response = $this->getResponse();
return $response['podcast_audio_url'] ?? null;
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
35
1
32
61
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_reports WHERE id
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
41713
|
|
41590
|
NULL
|
0
|
2026-04-17T06:17:41.736304+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406661736_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewJiminny ...DMs= Unreads@ Threads6 SlackFileEditViewJiminny ...DMs= Unreads@ Threads6 HuddlesDrafts & sent8 DirectoriesAchivityEh External connectionsFiles# Starred8 jiminny-x-integrati...A platform-inner-teamMoreahanne s# ai-chapter# alerts# backend# contusion-clinic# curiosity lab# engineering# frontendi# general# infra-changes# jiminny-bg# platform-tickets# product_launchesac random# releases# sofia-office# support# thank-yous# the people of iimi..0 Direct messages(3 Aneliya Angelova, ...®. Galya Dimitrova% Nikolay NikolovR. Stoyan Tanev€. Vasil Vasilev8. Nikolay IvanovP. Aneliya AngelovaP. Ves&. Steliyan Georgiev::Apps• Toast# Jira CloudHistoryWindowHelpSearch Jiminny Inc& platform-inner-team8 10• MessagesP Channel Overview® RefinementsEvents: 1075 State: Ongoing First Seen: 2025-09-12C Files& Pins BookmarksRetro Action Items# Deleted fileYesterday ~ResolveArchiveNkOlay NIKOlOVSee moreAdded ov sentryNikolay Nikolov 12:05 PMтова съм го виждал преди само на планета - нещо от данните, но е добре да се видиStefka Stoyanova 12:06 PMНа Прод еявно нещо S3 пьтя му e null, може би затова не винаги се получават репортитеNikolay Nikolov 12:07 PMS3 path го взимаме от респонса от prophetStefka Stoyanova 12:08 PMпоофета є виновен :)Nikolay Nikolov 12:08 PMне, мисля че е от теста сега на Stagingтова малко не му вярвам че е на продтрябва да видим статус generated с null s3path дали няма по базатаStefka Stoyanova 12:09 PMот 13 април го има на Прод@1Steliyan Georgiev 12:17 PMшe помелна как оеше в ропет се сьм заода виллSteliyan Georgiev 12:23 PM"S3 path го взимаме от респонса от prophet" @Nikolay Nikolov Ники, от кой респонс? На колбека?vreivan deodev 2rmНа прод е имало проблем с един депорт само:2026-04-13T04:09:56.669+03:00[2026-04-13 01:09:56] app.ERROR: Failed to create PDF version for request_id: 822fa41b-afd3-43a9-a248-86b0e36f3131:(2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)'); correlation_id:ae2e38ff-ed04-401e-b77c-1e02e9d788c6 trace_id:f0194348-cece-4ca8-8413-21e32eef1d4f[2026-04-13 01:09:56] app.ERROR: Failed to create PDF version for request_id: 822fa41b-afd3-43a9-a248-86b0e36f3131:(2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)'); correlation _id:ae2e38ff-ed04-401e-b77c-1e02e9d788c6 trace_id:f0194348-cece-4ca8-8413-21e32eef1d4fecs/jiminny-prophet/fbd19ab3fe8d4775bb936af467904a55някакво connectivity ишу с MySql изглеждаSteliyan Georgiev 12:53 PMно това е само 1 случай80a 4replies Last reply 13 hours agoSteliyan Georgiev 4:09 PMМоже ли едно малко ревю на един ПР, който вече го прецизирах с @claude ревюhttps://github.com/jiminny/prophet/pull/479Steliyan Georgiev 7:59 PMМоже ли още един мальк лайк? https://github.com/jiminny/prophet/pull/482Message & platform-inner-teamAalablA100% C4• 8 Fri 17 Apr 9:17:41ШеуооSEOOIESEOIOIIIIENIEIOS AUIIINESTEIIOACZAUNAUIIESSAIC IENZACZAUN4UIOESUICCILINZAUZAUN4UIOIE NVENTACATAccount ID: 4103-4619-5943United States (Ohio) *MediaLive+ summarize results# Investigate[ Share resultsg 2 of 2 records matched OLanned in 26.1s @ 2,079,586 records/s (575.6 MB/s)04/1604/1604/1604/1604/1604/1604/1704/17®logStreamworker-analytics/worker-analytics/fb554dc84d6140c2ad7f217bbc19b409 L36f3131", "status": "Generated"3 ("c... worker-analytics/worker-analytics/fb554dc84d6140c2ad7f217bbc19b409 L2Export results ?Adc to casnpoaro04/1704/17elog410346195943:worker-analytics410346195943:worker-analytics04/1704/17Hide histogram04/174d69::1776345006448•a248-86b6e36T3131","status": "Generated") 1"correlation_1d":"d8te2b34-1T65-4/dd-9T3a-T6cd4b33924a","trace_1d":"e3aa1b8/-319a-4d90-ad48-Ta80btTb361e"S© 2026, Amazon Web Services, Inc. or its affiliates.PrivacyTerms Cookie preferences...
|
NULL
|
3996766428896811361
|
NULL
|
visual_change
|
ocr
|
NULL
|
SlackFileEditViewJiminny ...DMs= Unreads@ Threads6 SlackFileEditViewJiminny ...DMs= Unreads@ Threads6 HuddlesDrafts & sent8 DirectoriesAchivityEh External connectionsFiles# Starred8 jiminny-x-integrati...A platform-inner-teamMoreahanne s# ai-chapter# alerts# backend# contusion-clinic# curiosity lab# engineering# frontendi# general# infra-changes# jiminny-bg# platform-tickets# product_launchesac random# releases# sofia-office# support# thank-yous# the people of iimi..0 Direct messages(3 Aneliya Angelova, ...®. Galya Dimitrova% Nikolay NikolovR. Stoyan Tanev€. Vasil Vasilev8. Nikolay IvanovP. Aneliya AngelovaP. Ves&. Steliyan Georgiev::Apps• Toast# Jira CloudHistoryWindowHelpSearch Jiminny Inc& platform-inner-team8 10• MessagesP Channel Overview® RefinementsEvents: 1075 State: Ongoing First Seen: 2025-09-12C Files& Pins BookmarksRetro Action Items# Deleted fileYesterday ~ResolveArchiveNkOlay NIKOlOVSee moreAdded ov sentryNikolay Nikolov 12:05 PMтова съм го виждал преди само на планета - нещо от данните, но е добре да се видиStefka Stoyanova 12:06 PMНа Прод еявно нещо S3 пьтя му e null, може би затова не винаги се получават репортитеNikolay Nikolov 12:07 PMS3 path го взимаме от респонса от prophetStefka Stoyanova 12:08 PMпоофета є виновен :)Nikolay Nikolov 12:08 PMне, мисля че е от теста сега на Stagingтова малко не му вярвам че е на продтрябва да видим статус generated с null s3path дали няма по базатаStefka Stoyanova 12:09 PMот 13 април го има на Прод@1Steliyan Georgiev 12:17 PMшe помелна как оеше в ропет се сьм заода виллSteliyan Georgiev 12:23 PM"S3 path го взимаме от респонса от prophet" @Nikolay Nikolov Ники, от кой респонс? На колбека?vreivan deodev 2rmНа прод е имало проблем с един депорт само:2026-04-13T04:09:56.669+03:00[2026-04-13 01:09:56] app.ERROR: Failed to create PDF version for request_id: 822fa41b-afd3-43a9-a248-86b0e36f3131:(2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)'); correlation_id:ae2e38ff-ed04-401e-b77c-1e02e9d788c6 trace_id:f0194348-cece-4ca8-8413-21e32eef1d4f[2026-04-13 01:09:56] app.ERROR: Failed to create PDF version for request_id: 822fa41b-afd3-43a9-a248-86b0e36f3131:(2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)'); correlation _id:ae2e38ff-ed04-401e-b77c-1e02e9d788c6 trace_id:f0194348-cece-4ca8-8413-21e32eef1d4fecs/jiminny-prophet/fbd19ab3fe8d4775bb936af467904a55някакво connectivity ишу с MySql изглеждаSteliyan Georgiev 12:53 PMно това е само 1 случай80a 4replies Last reply 13 hours agoSteliyan Georgiev 4:09 PMМоже ли едно малко ревю на един ПР, който вече го прецизирах с @claude ревюhttps://github.com/jiminny/prophet/pull/479Steliyan Georgiev 7:59 PMМоже ли още един мальк лайк? https://github.com/jiminny/prophet/pull/482Message & platform-inner-teamAalablA100% C4• 8 Fri 17 Apr 9:17:41ШеуооSEOOIESEOIOIIIIENIEIOS AUIIINESTEIIOACZAUNAUIIESSAIC IENZACZAUN4UIOESUICCILINZAUZAUN4UIOIE NVENTACATAccount ID: 4103-4619-5943United States (Ohio) *MediaLive+ summarize results# Investigate[ Share resultsg 2 of 2 records matched OLanned in 26.1s @ 2,079,586 records/s (575.6 MB/s)04/1604/1604/1604/1604/1604/1604/1704/17®logStreamworker-analytics/worker-analytics/fb554dc84d6140c2ad7f217bbc19b409 L36f3131", "status": "Generated"3 ("c... worker-analytics/worker-analytics/fb554dc84d6140c2ad7f217bbc19b409 L2Export results ?Adc to casnpoaro04/1704/17elog410346195943:worker-analytics410346195943:worker-analytics04/1704/17Hide histogram04/174d69::1776345006448•a248-86b6e36T3131","status": "Generated") 1"correlation_1d":"d8te2b34-1T65-4/dd-9T3a-T6cd4b33924a","trace_1d":"e3aa1b8/-319a-4d90-ad48-Ta80btTb361e"S© 2026, Amazon Web Services, Inc. or its affiliates.PrivacyTerms Cookie preferences...
|
41589
|
|
41588
|
NULL
|
0
|
2026-04-17T06:17:40.035834+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406660035_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorRu PhpStormFileEditViewNavigateCodeLaravelRefactorRunToolsGitWindowHelpEU (ssh)DOCKERDEV (-zsh)О 882APP (-zsh)883-zshXI11 DOCKER (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/infrastructure/dev/docker or its parentsPoetry could not find a pyproject.toml/docker or its parentsin /Users/lukas/jiminny/infrastructure/dev(all* Review screenpipe U...100% 1478Fri 17 Apr 9:17:39181*4-zsh®О885PROD (ssh)Run 'do-release-upgrade' to upgrade to it.• 26-zshPRODlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$Lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$ 0*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X L3 EU (ssh)New release '24.04.4 LTS' available.Run'do-release-upgrade'to upgrade to it.U*** System restart required ***login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$ |T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX T7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|...
|
NULL
|
9184018716060456144
|
NULL
|
click
|
ocr
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorRu PhpStormFileEditViewNavigateCodeLaravelRefactorRunToolsGitWindowHelpEU (ssh)DOCKERDEV (-zsh)О 882APP (-zsh)883-zshXI11 DOCKER (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/infrastructure/dev/docker or its parentsPoetry could not find a pyproject.toml/docker or its parentsin /Users/lukas/jiminny/infrastructure/dev(all* Review screenpipe U...100% 1478Fri 17 Apr 9:17:39181*4-zsh®О885PROD (ssh)Run 'do-release-upgrade' to upgrade to it.• 26-zshPRODlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$Lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop)$ 0*** System restart required ***Last login: Thu Apr 16 06:55:09 2026 from 212.39.71.189lukas@jiminny-prod-bastion:~$X L3 EU (ssh)New release '24.04.4 LTS' available.Run'do-release-upgrade'to upgrade to it.U*** System restart required ***login: Thu Apr 16 06:55:03 2026 from 212.39.71.189lukas@jiminny-eu-bastion:~$ |T4 STAGE (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$T5 QA (-zsh)Last login: Thu Apr 16 15:43:43 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsXT6 FE (-zsh)Last login: Thu Apr 16 15:48:07 on ttys004Poetry could not find a pyproject.toml file in /Users/lukas or its parents RONTENDPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IX T7 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|...
|
41585
|
|
41583
|
NULL
|
0
|
2026-04-17T06:17:33.872003+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406653872_m2.jpg...
|
Firefox
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactor#11 PhpStormFileEditViewNavigateCodeLaravelRefactor#11894 on JY-18909-automated-reports-ask-jiminny© AutomatedReportsService.phpToolsWindowHelpFV faVsco.js vProject v.gitignoreaudio.wav= custom.loe= hubspot-journal-poll.loc= laravel.log< phpunit.xmlIs ttt.js=oauth-private.key= oauth-public.keyE' storageE supervisord.pidlO text-relay.jsonv _tests> D Feature> D Integration› D Servicesv D Unit> Actions› D Component› D Configurationv M ConsoleM Commands› D Activities>DCrm> D Elasticsearchv D Reports© AutomatedRek© ImportUsersFrom› D Contracts→ Domain> MDTO> M Enums> MEvents> MExcentions› fixtures> D HelpersDJ HttpIntegrationsl interactionsO JobsD ActivityAlAutomationAUdIOM AutomatedReports(c) CreateResultsTes© RequestGenerate© RequestGenerate© SendReportJobTe© SendReportMailJiC CalendarCrmD DealRisks_ Mallbox_ Streamingeam_lelepnonyD User© ImportRecallAlRecon© SqsVisibilityControlT© SendReportJob.php© ReportController.phplokenbullaer.onoc leamsetuocontroller.ongpnp apl.onoFilesystem.php© AutomatedReportsCommand.php© AutomatedReportsCommandTest.phpC AutomatedReportsRepository.php© AskJiminnyReportsController.php© AutomatedReportsSendCommand.php(c CrealenelaAcuiviyevent.ono© Team.phpe) TrackProvidernstallled-vent.ono© CreateActivityLoggedEvent.php© UserPilotActivityListener.php© ActivityLogged.php© AutomatedReportsCallbackService.php© RequestGenerateAskJiminnyReportJob.phpC) RequestGenerateReportJob.php© AutomatedReportResult.php1.08.25 NikolovA8/1V1AV7.08.25Nikolov7.08.25 Nikolov7.08.25 Nikolovclass AutomatedReportResult extends Mor inpublic function getFromDate(): ?Carbonif (empty($payload) || empty($payload['from_date']))return null;7.08.25 Nikolov7.08.25 Nikolov3337.08.25Nikolovreturn Carbon: : parse($payload['from_date']):Nikolov33508.2 Nkolov3567.08.25 Nikolov7.08.25Nikolov7.08.25 Nikolov7.08.25Nikolov7.08.25Nikolov7.08.25Nikolov7.08.25Nikolov7.08.25NikolovNikolov108.29Nikolov7.08.25NIKOOV3383393407.08.25 Nikolov7.08.25 Nikolov7.08.25 Nikolov11.09.25 NikolovJo011.09.25 Nikolov11.09.25 Nikolov11.09.25 Nikolov11.09.2 Nkoov11.09.2 NkoovTON. NKOOV11.09.25 Nikolov37257357411.09.25 Nikolov11.09.25 Nikolov11.09.25 Nikolov11.09.25 Nikolov11.09.25 Nikolov11.09.25 NikolovNIKOlOV37738038218.438432 usagespublic function getToDate(): ?Carbon$payload = $this->getPayLoad();if (empty($payload) || empty($payload['to_date'))7return null;return Carbon::parse($payload['to_date']);1 usagepublic function getReportType(): ?string{...}public function getGroups(): arrayf...}7 usagespublic function getPdfUrl(): ?string$response = Sthis->getResponse();return $response['pdf_url'] ?? null;3 usagespublic function getPodcastAudioUrl(): ?string$response = $this->getResponse();return $response['podcast_audio_url'] ?? null;Helper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (18 minutes ago)= custom.log >= laravel.logA SF [jiminny@localhost]< console LUiconsole PRODA console [STAGING]V connect.vueV Onboard.vueA HS_local [jiminny@localhost]V4 л V"timestamp":"2026-04-13T01:11:48.648399+00:00","s3_Url":"s3: \/N/jiminnx-client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248"report_type":"coaching_profiles","podcast_url":"s3:\/N/jiminny-client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9"podcast_audio_url":"s3:\/\/iiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd|"podcast_ssml_url":"s3:\/Niiminnx-client-datfa\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3, 0lablU AutomatedReportsCommandTestv100% C•Fri 17 Apr 9:17:33CascadeFixing Sentry Error in SReview this sentry error Symfony|Component|Debug\Exception|FatalThrowableErrorcvellls loldlwLevel. ErronLeague|Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in1kone/iminy/vendor/aravel/iramework/sre/muminaterllesystem/rllesystemadagter.one on line 21ouncolneapesoos aulomaleakepons/senekeoonsoo.ono inJiminny Joos Auloreaneooris senareportvoo.nanale. osenakeportJod.onoaAucomareareportsservice. onoLet me look at oown tlles lo unaerstane tne IssueRead SendReportJob.php and AutomatedReportsService.php ›Now let me find the getMediaPath method:Exoloree Auromaleckeporsoervice.one ana searchea celmealaraln›Root CauseThe issue is clear. getMediaPath() returns ?string (nullable), but SendReportJob: :handle() passes itsreturn value directly lo Storage::d1sk→>ex1stsSssPath wiihout a null checkLine 77: $s3Path = $automatedReportsService->getMediaPath($report);Line 80: Storage: :disk('client-data-cloud')→>exists($s3Path) → crashes when $s3Path is nulloemednaracho rerurns nuu wient1. Sresult->getMediaType() doesn't match pdf or podcast (hits default = null)2. The URL is null (no pdf_url / podcast_audio_urt stored on the result)parse urlo returns an empty oathThe fix is to guard against a null $s3Path in the job before calling Storage: :exists() :• SendReportJob.phpSummaryRoot cause: getMediaPath() returns ?string but the result was passed directly to Storage::disk()->exists() without a null guard. Flysystem's has() has a strict string type, so it throws a FatalThrowableErro" When nult Is oasseeWnen coes detrednarath rerurnnuh•Inereport resultnas no pat_url/ podcast_audio_url stored (e.g. generation talled or the URLcolumn is empty)• An unknown media type hitsthe default = null branchparse_url() returns an empty/false pathFix: Added an explicit null check before the Storage::exists() call—logs the mediaType for debuggingand throws Fil eNotFoundFxcention with a clear messade. consistent with the error alreadv thrown Whenthe file isn't found in S3.C1l -1 file +9 ›Ask anything (24L)+ <>Code Claude Sonnet 4.6Reject allAccept allWinasun leams9:46uir-o( 4 spaces...
|
NULL
|
-7989604475511881010
|
NULL
|
app_switch
|
ocr
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactor#11 PhpStormFileEditViewNavigateCodeLaravelRefactor#11894 on JY-18909-automated-reports-ask-jiminny© AutomatedReportsService.phpToolsWindowHelpFV faVsco.js vProject v.gitignoreaudio.wav= custom.loe= hubspot-journal-poll.loc= laravel.log< phpunit.xmlIs ttt.js=oauth-private.key= oauth-public.keyE' storageE supervisord.pidlO text-relay.jsonv _tests> D Feature> D Integration› D Servicesv D Unit> Actions› D Component› D Configurationv M ConsoleM Commands› D Activities>DCrm> D Elasticsearchv D Reports© AutomatedRek© ImportUsersFrom› D Contracts→ Domain> MDTO> M Enums> MEvents> MExcentions› fixtures> D HelpersDJ HttpIntegrationsl interactionsO JobsD ActivityAlAutomationAUdIOM AutomatedReports(c) CreateResultsTes© RequestGenerate© RequestGenerate© SendReportJobTe© SendReportMailJiC CalendarCrmD DealRisks_ Mallbox_ Streamingeam_lelepnonyD User© ImportRecallAlRecon© SqsVisibilityControlT© SendReportJob.php© ReportController.phplokenbullaer.onoc leamsetuocontroller.ongpnp apl.onoFilesystem.php© AutomatedReportsCommand.php© AutomatedReportsCommandTest.phpC AutomatedReportsRepository.php© AskJiminnyReportsController.php© AutomatedReportsSendCommand.php(c CrealenelaAcuiviyevent.ono© Team.phpe) TrackProvidernstallled-vent.ono© CreateActivityLoggedEvent.php© UserPilotActivityListener.php© ActivityLogged.php© AutomatedReportsCallbackService.php© RequestGenerateAskJiminnyReportJob.phpC) RequestGenerateReportJob.php© AutomatedReportResult.php1.08.25 NikolovA8/1V1AV7.08.25Nikolov7.08.25 Nikolov7.08.25 Nikolovclass AutomatedReportResult extends Mor inpublic function getFromDate(): ?Carbonif (empty($payload) || empty($payload['from_date']))return null;7.08.25 Nikolov7.08.25 Nikolov3337.08.25Nikolovreturn Carbon: : parse($payload['from_date']):Nikolov33508.2 Nkolov3567.08.25 Nikolov7.08.25Nikolov7.08.25 Nikolov7.08.25Nikolov7.08.25Nikolov7.08.25Nikolov7.08.25Nikolov7.08.25NikolovNikolov108.29Nikolov7.08.25NIKOOV3383393407.08.25 Nikolov7.08.25 Nikolov7.08.25 Nikolov11.09.25 NikolovJo011.09.25 Nikolov11.09.25 Nikolov11.09.25 Nikolov11.09.2 Nkoov11.09.2 NkoovTON. NKOOV11.09.25 Nikolov37257357411.09.25 Nikolov11.09.25 Nikolov11.09.25 Nikolov11.09.25 Nikolov11.09.25 Nikolov11.09.25 NikolovNIKOlOV37738038218.438432 usagespublic function getToDate(): ?Carbon$payload = $this->getPayLoad();if (empty($payload) || empty($payload['to_date'))7return null;return Carbon::parse($payload['to_date']);1 usagepublic function getReportType(): ?string{...}public function getGroups(): arrayf...}7 usagespublic function getPdfUrl(): ?string$response = Sthis->getResponse();return $response['pdf_url'] ?? null;3 usagespublic function getPodcastAudioUrl(): ?string$response = $this->getResponse();return $response['podcast_audio_url'] ?? null;Helper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (18 minutes ago)= custom.log >= laravel.logA SF [jiminny@localhost]< console LUiconsole PRODA console [STAGING]V connect.vueV Onboard.vueA HS_local [jiminny@localhost]V4 л V"timestamp":"2026-04-13T01:11:48.648399+00:00","s3_Url":"s3: \/N/jiminnx-client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248"report_type":"coaching_profiles","podcast_url":"s3:\/N/jiminny-client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9"podcast_audio_url":"s3:\/\/iiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd|"podcast_ssml_url":"s3:\/Niiminnx-client-datfa\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3, 0lablU AutomatedReportsCommandTestv100% C•Fri 17 Apr 9:17:33CascadeFixing Sentry Error in SReview this sentry error Symfony|Component|Debug\Exception|FatalThrowableErrorcvellls loldlwLevel. ErronLeague|Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in1kone/iminy/vendor/aravel/iramework/sre/muminaterllesystem/rllesystemadagter.one on line 21ouncolneapesoos aulomaleakepons/senekeoonsoo.ono inJiminny Joos Auloreaneooris senareportvoo.nanale. osenakeportJod.onoaAucomareareportsservice. onoLet me look at oown tlles lo unaerstane tne IssueRead SendReportJob.php and AutomatedReportsService.php ›Now let me find the getMediaPath method:Exoloree Auromaleckeporsoervice.one ana searchea celmealaraln›Root CauseThe issue is clear. getMediaPath() returns ?string (nullable), but SendReportJob: :handle() passes itsreturn value directly lo Storage::d1sk→>ex1stsSssPath wiihout a null checkLine 77: $s3Path = $automatedReportsService->getMediaPath($report);Line 80: Storage: :disk('client-data-cloud')→>exists($s3Path) → crashes when $s3Path is nulloemednaracho rerurns nuu wient1. Sresult->getMediaType() doesn't match pdf or podcast (hits default = null)2. The URL is null (no pdf_url / podcast_audio_urt stored on the result)parse urlo returns an empty oathThe fix is to guard against a null $s3Path in the job before calling Storage: :exists() :• SendReportJob.phpSummaryRoot cause: getMediaPath() returns ?string but the result was passed directly to Storage::disk()->exists() without a null guard. Flysystem's has() has a strict string type, so it throws a FatalThrowableErro" When nult Is oasseeWnen coes detrednarath rerurnnuh•Inereport resultnas no pat_url/ podcast_audio_url stored (e.g. generation talled or the URLcolumn is empty)• An unknown media type hitsthe default = null branchparse_url() returns an empty/false pathFix: Added an explicit null check before the Storage::exists() call—logs the mediaType for debuggingand throws Fil eNotFoundFxcention with a clear messade. consistent with the error alreadv thrown Whenthe file isn't found in S3.C1l -1 file +9 ›Ask anything (24L)+ <>Code Claude Sonnet 4.6Reject allAccept allWinasun leams9:46uir-o( 4 spaces...
|
NULL
|
|
41397
|
NULL
|
0
|
2026-04-17T06:12:41.249365+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406361249_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEoitViewHistoryProfilesToolsWindowHelp4 FirefoxFileEoitViewHistoryProfilesToolsWindowHelp40halA100% 27lFri 17 Apr 9:12:40Platform Sprint 2 Q2 - Platform Te:[SRD-6793] Les Mills activity type:€ New Taba) Symfony|Component|Debug\Excep€ New Tab• NewhàbCa CloudWatch | us-east-2Z Configure SSH access to multiple© Console Home | Console Home | el+ New TabBookmarksus-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logsV2:logs-insights$3FqueryDetail$3D~(end~0~start~-3600~timeType~'RELATIVE~tz~'UTC~unit~'seconds~editorString~'fields*20*40timestamp*2c*20*40message*2c*20*40logStream*2c*20*40log*0a*7c*20fawsSearch[Option+S]©O EC2© Elastic Container ServiceG 53© CodeDeployCa CloudWatchElastiCache 0? Aurora and RDS iêl Amazon OpenSearch Ser... €® CloudFront a MediaLiveCloudWatch Logs Insights• Query definition Infog groupsrroperty selectorNew Tababout newta.ct up to 50 log groupsClear alltorina account4703467959431ow more chosen log groups (+25)@logstream, @logI filter @message not like /Analytic/ | filter @message not like /Transcript/I•filter @message not like /Webhook/ |• filter @message not like /MeetinaBot/1 limit 100005m30mAccount ID: 4103-4619-5943®United States (Ohio)12hCustomcompare totiUTC timezoneL? Start tailingBrowse: Lod Groups racers Lookud tablesLoas ins antsorvRun querycancelLogs (-)Patterns (-)Logs (-)*L Query generator ® FieldsD Saved and sample queries? Query commandsSaveSchedule query →)HistoryVisualization(# Summarize results ) (( # Investigate v ) (E Share results )Export resultsAdd to dashboardwo resullsRun a query to see related eventsCloudShellreedback9 2026, Amazon Web Services, Inc, or its arhliates.PrivacyTermscookie preferences...
|
NULL
|
-3333348121423815933
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEoitViewHistoryProfilesToolsWindowHelp4 FirefoxFileEoitViewHistoryProfilesToolsWindowHelp40halA100% 27lFri 17 Apr 9:12:40Platform Sprint 2 Q2 - Platform Te:[SRD-6793] Les Mills activity type:€ New Taba) Symfony|Component|Debug\Excep€ New Tab• NewhàbCa CloudWatch | us-east-2Z Configure SSH access to multiple© Console Home | Console Home | el+ New TabBookmarksus-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logsV2:logs-insights$3FqueryDetail$3D~(end~0~start~-3600~timeType~'RELATIVE~tz~'UTC~unit~'seconds~editorString~'fields*20*40timestamp*2c*20*40message*2c*20*40logStream*2c*20*40log*0a*7c*20fawsSearch[Option+S]©O EC2© Elastic Container ServiceG 53© CodeDeployCa CloudWatchElastiCache 0? Aurora and RDS iêl Amazon OpenSearch Ser... €® CloudFront a MediaLiveCloudWatch Logs Insights• Query definition Infog groupsrroperty selectorNew Tababout newta.ct up to 50 log groupsClear alltorina account4703467959431ow more chosen log groups (+25)@logstream, @logI filter @message not like /Analytic/ | filter @message not like /Transcript/I•filter @message not like /Webhook/ |• filter @message not like /MeetinaBot/1 limit 100005m30mAccount ID: 4103-4619-5943®United States (Ohio)12hCustomcompare totiUTC timezoneL? Start tailingBrowse: Lod Groups racers Lookud tablesLoas ins antsorvRun querycancelLogs (-)Patterns (-)Logs (-)*L Query generator ® FieldsD Saved and sample queries? Query commandsSaveSchedule query →)HistoryVisualization(# Summarize results ) (( # Investigate v ) (E Share results )Export resultsAdd to dashboardwo resullsRun a query to see related eventsCloudShellreedback9 2026, Amazon Web Services, Inc, or its arhliates.PrivacyTermscookie preferences...
|
NULL
|
|
41393
|
NULL
|
0
|
2026-04-17T06:12:32.419031+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406352419_m1.jpg...
|
Firefox
|
CloudWatch | us-east-2 — Work
|
True
|
us-east-2.console.aws.amazon.com/cloudwatch/home?r us-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logsV2:logs-insights$3FqueryDetail$3D~(end~0~start~-3600~timeType~'RELATIVE~tz~'UTC~unit~'seconds~editorString~'fields*20*40timestamp*2c*20*40message*2c*20*40logStream*2c*20*40log*0a*7c*20filter*20*40message*20like*20*2fXXXXX*2f*20*0a*7c*20filter*20*40message*20not*20like*20*2fAnalytic*2f*20*7c*20filter*20*40message*20not*20like*20*2fTranscript*2f*0a*7c*20filter*20*40message*20not*20like*20*2fWebhook*2f*20*7c*20filter*20*40message*20not*20like*20*2fMeetingBot*2f*20*0a*7c*20limit*2010000~queryId~'0551e814-f51a-4339-8372-80d7ba4cef27~source~(~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-analytics~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-app~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-audio~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-calendar~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-conferences~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-crm-sync~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-default~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-delayed~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-dialers~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-dialers-fifo~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-download~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-emails~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-meeting-bot~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-nudges~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-1~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-2~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-3~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-4~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-5~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-delayed~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-softphone~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-video~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-video-app~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aphp~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aphp-app)~lang~'CWLI~logClass~'STANDARD~queryBy~'logGroupName)...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
New Tab
New Tab
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
New Tab
New Tab
New Tab
New Tab
CloudWatch | us-east-2
CloudWatch | us-east-2
Close tab
Configure SSH access to multiple environment - Engineering - Confluence
Configure SSH access to multiple environment - Engineering - Confluence
Console Home | Console Home | eu-west-1
Console Home | Console Home | eu-west-1
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AWS Console Home
Skip to Main Content
Skip to Main Content
Amazon Q
Services
Search
Ask Amazon Q
[Option+S]
CloudShell
Notifications (none available)
Help & support
Settings
United States (Ohio)
United States (Ohio)
[EMAIL] @ jmny
Account ID: 4387-4037-0364
[EMAIL]
Account ID
Copy Account Id
4387-4037-0364
Account name
Access denied
Access denied
Account color
Access denied
Access denied
Account alias
Copy account alias
jmny
IAM user
Copy Username
[EMAIL]
Role history
Press Enter key to switch to this role
STAGE
Turn on multi-session support
Turn on multi-session support
Switch role
Switch role
Sign out
Sign out
EC2 EC2
EC2
Elastic Container Service Elastic Container Service
Elastic Container Service
S3 S3
S3
CodeDeploy CodeDeploy
CodeDeploy
CloudWatch CloudWatch
CloudWatch
ElastiCache ElastiCache
ElastiCache
Aurora and RDS Aurora and RDS
Aurora and RDS
Amazon OpenSearch Service Amazon OpenSearch Service
Amazon OpenSearch Service
CloudFront CloudFront
CloudFront
MediaLive MediaLive
MediaLive
Open side navigation
CloudWatch
CloudWatch
Logs Insights
Logs Insights
Query definition
Query definition
Info : Query definition
5m (5 Minutes)
30m (30 Minutes)
1h (1 Hour)
3h (3 Hours)
12h (12 Hours)
Custom
Custom
Compare (Off)
Compare
(
Off
)
Time zone UTC timezone
UTC timezone
Start tailing with selected log group (opens in a new tab)
Start tailing
Query scope
Query scope Log group name
Log group name
Select up to 50 log groups
Browse
:
Log Groups
|
Facets
|
Lookup tables
Undo
Redo
Logs Insights QL
Query generator
Query generator
Fields
Saved and sample queries
Query commands
Run query
Cancel
Save
History
Logs (-)
Logs
(
-
)
Patterns (-)
Patterns
(
-
)
Visualization
Visualization
Logs (-)
Logs (-)
Summarize results
Summarize results
Investigate
Investigate...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Symfony\\Component\\Debug\\Exception\\FatalThrowableError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Symfony\\Component\\Debug\\Exception\\FatalThrowableError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"CloudWatch | us-east-2","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"CloudWatch | us-east-2","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Configure SSH access to multiple environment - Engineering - Confluence","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Configure SSH access to multiple environment - Engineering - Confluence","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Console Home | Console Home | eu-west-1","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Console Home | Console Home | eu-west-1","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"AWS Console Home","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to Main Content","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to Main Content","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Amazon Q","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Services","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"Search","depth":16,"role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ask Amazon Q","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Option+S]","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CloudShell","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Notifications (none available)","depth":16,"help_text":"Notifications","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Help & support","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Settings","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"United States (Ohio)","depth":15,"value":"United States (Ohio)","help_text":"United States (Ohio)","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"United States (Ohio)","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"lukas.kovalik@jiminny.com @ jmny","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Account ID: 4387-4037-0364","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lukas.kovalik@jiminny.com","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Account ID","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy Account Id","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"4387-4037-0364","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Account name","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Access denied","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Access denied","depth":22,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Account color","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Access denied","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Access denied","depth":22,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Account alias","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy account alias","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jmny","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"IAM user","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy Username","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"lukas.kovalik@jiminny.com","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Role history","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Press Enter key to switch to this role","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"STAGE","depth":21,"help_text":"Staging_View_Only @ jmny","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Turn on multi-session support","depth":19,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Turn on multi-session support","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Switch role","depth":18,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Switch role","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sign out","depth":18,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sign out","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"EC2 EC2","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EC2","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Elastic Container Service Elastic Container Service","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Elastic Container Service","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"S3 S3","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"S3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CodeDeploy CodeDeploy","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CodeDeploy","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CloudWatch CloudWatch","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CloudWatch","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"ElastiCache ElastiCache","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ElastiCache","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Aurora and RDS Aurora and RDS","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Aurora and RDS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Amazon OpenSearch Service Amazon OpenSearch Service","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Amazon OpenSearch Service","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CloudFront CloudFront","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CloudFront","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"MediaLive MediaLive","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"MediaLive","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open side navigation","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"CloudWatch","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CloudWatch","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Logs Insights","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Logs Insights","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Query definition","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Query definition","depth":28,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Info : Query definition","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"5m (5 Minutes)","depth":27,"help_text":"5 Minutes","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"30m (30 Minutes)","depth":27,"help_text":"30 Minutes","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"1h (1 Hour)","depth":27,"help_text":"1 Hour","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"3h (3 Hours)","depth":27,"help_text":"3 Hours","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"12h (12 Hours)","depth":27,"help_text":"12 Hours","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Custom","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Compare (Off)","depth":26,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Compare","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Off","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Time zone UTC timezone","depth":26,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"UTC timezone","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Start tailing with selected log group (opens in a new tab)","depth":26,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Start tailing","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Query scope","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Query scope Log group name","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Log group name","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Select up to 50 log groups","depth":28,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Browse","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Log Groups","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"|","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Facets","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"|","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Lookup tables","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Undo","depth":28,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":28,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Logs Insights QL","depth":29,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Query generator","depth":26,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Query generator","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fields","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saved and sample queries","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Query commands","depth":28,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Run query","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Cancel","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Save","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"History","depth":27,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Logs (-)","depth":25,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Logs","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"-","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Patterns (-)","depth":25,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Patterns","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"-","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Visualization","depth":25,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Visualization","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Logs (-)","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Logs (-)","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize results","depth":26,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize results","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Investigate","depth":28,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Investigate","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5796181168865592184
|
8663867667266646710
|
click
|
accessibility
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
New Tab
New Tab
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
New Tab
New Tab
New Tab
New Tab
CloudWatch | us-east-2
CloudWatch | us-east-2
Close tab
Configure SSH access to multiple environment - Engineering - Confluence
Configure SSH access to multiple environment - Engineering - Confluence
Console Home | Console Home | eu-west-1
Console Home | Console Home | eu-west-1
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AWS Console Home
Skip to Main Content
Skip to Main Content
Amazon Q
Services
Search
Ask Amazon Q
[Option+S]
CloudShell
Notifications (none available)
Help & support
Settings
United States (Ohio)
United States (Ohio)
[EMAIL] @ jmny
Account ID: 4387-4037-0364
[EMAIL]
Account ID
Copy Account Id
4387-4037-0364
Account name
Access denied
Access denied
Account color
Access denied
Access denied
Account alias
Copy account alias
jmny
IAM user
Copy Username
[EMAIL]
Role history
Press Enter key to switch to this role
STAGE
Turn on multi-session support
Turn on multi-session support
Switch role
Switch role
Sign out
Sign out
EC2 EC2
EC2
Elastic Container Service Elastic Container Service
Elastic Container Service
S3 S3
S3
CodeDeploy CodeDeploy
CodeDeploy
CloudWatch CloudWatch
CloudWatch
ElastiCache ElastiCache
ElastiCache
Aurora and RDS Aurora and RDS
Aurora and RDS
Amazon OpenSearch Service Amazon OpenSearch Service
Amazon OpenSearch Service
CloudFront CloudFront
CloudFront
MediaLive MediaLive
MediaLive
Open side navigation
CloudWatch
CloudWatch
Logs Insights
Logs Insights
Query definition
Query definition
Info : Query definition
5m (5 Minutes)
30m (30 Minutes)
1h (1 Hour)
3h (3 Hours)
12h (12 Hours)
Custom
Custom
Compare (Off)
Compare
(
Off
)
Time zone UTC timezone
UTC timezone
Start tailing with selected log group (opens in a new tab)
Start tailing
Query scope
Query scope Log group name
Log group name
Select up to 50 log groups
Browse
:
Log Groups
|
Facets
|
Lookup tables
Undo
Redo
Logs Insights QL
Query generator
Query generator
Fields
Saved and sample queries
Query commands
Run query
Cancel
Save
History
Logs (-)
Logs
(
-
)
Patterns (-)
Patterns
(
-
)
Visualization
Visualization
Logs (-)
Logs (-)
Summarize results
Summarize results
Investigate
Investigate...
|
NULL
|
|
41244
|
NULL
|
0
|
2026-04-17T06:07:22.691644+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406042691_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEoitViewHistoryBookmarksProfilesToolsWi FirefoxFileEoitViewHistoryBookmarksProfilesToolsWindowHelpjiminny.sentry.io/organizations/jiminny/issues/6873095751/?environment=production&environment=production-eu&project=82419- Platform Sprint 2 Q2 - Platform TeccllAcID: 26d2294b13 hours ago | JSON[SRD-6793] Les Mills activity type:FeedNew TablautomatedRevortssenObject Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsServicevicessuesErrors & OutagesSymfony|Component|Debugle *obbispaccherOblect Jiminny Joos JoobispatchenBreached Metricslogger+ New TabexploreObject Illuminate\Log\LogManagerwalmailnes08DashboardsUser Feedbackvendor/arave/tramework/src/uminate/Container/BoundMethod.onv inuminate Container Boundvethoo.luminate containerclosureif (static::isCallableWithAtSign(Scallback) || SdefaultMethod) {return static::callClass(Scontainer. Scallback, Sparameters. SdefaultMethod):All ViewsmisrgtitConfigurereturn static::callBoundMethod(Scontainer, Scallback, function () use (Scontainer, Scallback, Sparameters) ‹recurn ocaliback(...array-values(stauic. gechechodbependencles(scontalner, scallback, sparameters))),Aicils}):Settings38* Call a string reference to a class using Classêmethod svntax./app/Queue/Worker/Worker.php:72 in Jiminny\Queue\Worker\Workerprocesssstartlime = (int) round(microtlme(crue) x 1000).68I/ Here we will fire off the job and let it process. We will catch any exceptions, soI/ they can be reported to the developers logs, etc. Once the job is finished theI/ proper events will be fired to let any listeners know this job has finished.Siob->fired:connectionNameSthis->raiseAfterJobEvent(SconnectionName, Sjob);) catch (Exception Se) 1ssexcedtion = true.Sthis→>handleJobException(SconnectionName, $job, Soptions, Se);SO5jobopcionsObject Illuminate\Queue\Jobs\SqsJobObject Illuminate\Queue\WorkerOptionsCalled from: /vendor/laravel/framework/src/Illuminate/Queue/Worker.php in Illuminate\Queue\Worker:runJobv Trace Preview0.00msInieaen soan, iz nibden issuesError - SOLSTAI: 25000J: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint talls (]Ce Error - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jge Error - SOLSTATE[23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (iCe Error - League\Flysystem\Filesystem::has0: Argument #1 (Slocation) must be of type string, null given, called in /home/jiminnlC Error - SQLSTATE(23000): Integrity constraint violation: 1062 Duplicate entry 749-003SZ00000kiwwBYAU' for key 'contacts._/Qe Error - [MatchActivitiesToNewOpportunity] Cannot find opportunity with ID: 20530935 Jiminny\Exceptions\InvalidArgumentE)33.33min1.67hr2.22hrLKv Tagscorrelation idenvarontenuhandledlaravel_versionlevelmechanismd8fe2b34-1f65-47dd-9f3a-f6cd4b33924aproauellotyes12.54.1elrorgenericredlonrereaseruntime- nameserver naneus-east-20/2394php 8.3.30php0090a0040040Jump to: HighlightsStack Trace, 0halA100% CS•Fri 17 Apr 9:07:22TraceContaytlaesShow 14 more framesIn App2.78hr3.33hrShow 17 more framasView Full Trace4AAhn5.00hrCustomApplicationClientOther...
|
NULL
|
-6005216163950004245
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEoitViewHistoryBookmarksProfilesToolsWi FirefoxFileEoitViewHistoryBookmarksProfilesToolsWindowHelpjiminny.sentry.io/organizations/jiminny/issues/6873095751/?environment=production&environment=production-eu&project=82419- Platform Sprint 2 Q2 - Platform TeccllAcID: 26d2294b13 hours ago | JSON[SRD-6793] Les Mills activity type:FeedNew TablautomatedRevortssenObject Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsServicevicessuesErrors & OutagesSymfony|Component|Debugle *obbispaccherOblect Jiminny Joos JoobispatchenBreached Metricslogger+ New TabexploreObject Illuminate\Log\LogManagerwalmailnes08DashboardsUser Feedbackvendor/arave/tramework/src/uminate/Container/BoundMethod.onv inuminate Container Boundvethoo.luminate containerclosureif (static::isCallableWithAtSign(Scallback) || SdefaultMethod) {return static::callClass(Scontainer. Scallback, Sparameters. SdefaultMethod):All ViewsmisrgtitConfigurereturn static::callBoundMethod(Scontainer, Scallback, function () use (Scontainer, Scallback, Sparameters) ‹recurn ocaliback(...array-values(stauic. gechechodbependencles(scontalner, scallback, sparameters))),Aicils}):Settings38* Call a string reference to a class using Classêmethod svntax./app/Queue/Worker/Worker.php:72 in Jiminny\Queue\Worker\Workerprocesssstartlime = (int) round(microtlme(crue) x 1000).68I/ Here we will fire off the job and let it process. We will catch any exceptions, soI/ they can be reported to the developers logs, etc. Once the job is finished theI/ proper events will be fired to let any listeners know this job has finished.Siob->fired:connectionNameSthis->raiseAfterJobEvent(SconnectionName, Sjob);) catch (Exception Se) 1ssexcedtion = true.Sthis→>handleJobException(SconnectionName, $job, Soptions, Se);SO5jobopcionsObject Illuminate\Queue\Jobs\SqsJobObject Illuminate\Queue\WorkerOptionsCalled from: /vendor/laravel/framework/src/Illuminate/Queue/Worker.php in Illuminate\Queue\Worker:runJobv Trace Preview0.00msInieaen soan, iz nibden issuesError - SOLSTAI: 25000J: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint talls (]Ce Error - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jge Error - SOLSTATE[23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (iCe Error - League\Flysystem\Filesystem::has0: Argument #1 (Slocation) must be of type string, null given, called in /home/jiminnlC Error - SQLSTATE(23000): Integrity constraint violation: 1062 Duplicate entry 749-003SZ00000kiwwBYAU' for key 'contacts._/Qe Error - [MatchActivitiesToNewOpportunity] Cannot find opportunity with ID: 20530935 Jiminny\Exceptions\InvalidArgumentE)33.33min1.67hr2.22hrLKv Tagscorrelation idenvarontenuhandledlaravel_versionlevelmechanismd8fe2b34-1f65-47dd-9f3a-f6cd4b33924aproauellotyes12.54.1elrorgenericredlonrereaseruntime- nameserver naneus-east-20/2394php 8.3.30php0090a0040040Jump to: HighlightsStack Trace, 0halA100% CS•Fri 17 Apr 9:07:22TraceContaytlaesShow 14 more framesIn App2.78hr3.33hrShow 17 more framasView Full Trace4AAhn5.00hrCustomApplicationClientOther...
|
NULL
|
|
41241
|
NULL
|
0
|
2026-04-17T06:07:19.154403+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776406039154_m1.jpg...
|
Firefox
|
Symfony\Component\Debug\Exception\FatalThrowableEr Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line — Work...
|
True
|
jiminny.sentry.io/organizations/jiminny/issues/687 jiminny.sentry.io/organizations/jiminny/issues/6873095751/?environment=production&environment=production-eu&project=82419...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
New Tab
New Tab
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to main content
Skip to main content
Toggle organization menu
Issues
Issues
Explore
Explore
Dashboards
Dashboards
Insights
Insights
Settings
Settings
Try Business
What's New
Help
[EMAIL]
Issues
Collapse
Feed
Feed
Errors & Outages
Errors & Outages
Breached Metrics
Breached Metrics
Warnings
Warnings
User Feedback
User Feedback
All Views
All Views
Configure
Alerts
Alerts
Issues
Issues
View Project Details
APP-1DTF
Symfony\Component\Debug\Exception\FatalThrowableError
View events
Events (total)
Users (90d)
Level: Error
League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218
1K
0
Ongoing
/app/Jobs/AutomatedReports/SendReportJob.php in Jiminny\Jobs\AutomatedReports\SendReportJob::handle
Quick Fix
Resolve
Resolve
More resolve options
Archive
Archive
Archive options
Subscribe
Share
More Actions
Priority
Modify issue priority
High
Assignee
Modify issue assignee
Nikolay Nikolov
production, production-eu
production, production-eu
90D
90D
Add a search term
Add a search term
Close sidebar
Toggle graph series - Events
Events
176
Toggle graph series - Users
Users
0
release 40% 869519
release
40%
869519
environment 100% production
environment
100%
production
level 100% error
level
100%
error
handled 100% yes
handled
100%
yes
View all tags
View all tags
Select issue content
Events
Previous Event
Next Event
First
First
First
Latest
Latest
Latest
Recommended
Recommended
View More Events
View More Events
Copy as
Copy as
ID: 26d2294b
13 hours ago
JSON
JSON
Highlights
Highlights
Stack Trace
Stack Trace
Trace
Trace
Tags
Tags
Context
Context
php
8.3.30...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Symfony\\Component\\Debug\\Exception\\FatalThrowableError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Symfony\\Component\\Debug\\Exception\\FatalThrowableError: League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to main content","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to main content","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Toggle organization menu","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Issues","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Explore","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Explore","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Dashboards","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dashboards","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Business","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"What's New","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Help","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"lukas.kovalik@jiminny.com","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Issues","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Feed","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Errors & Outages","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Errors & Outages","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Breached Metrics","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Breached Metrics","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Warnings","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Warnings","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"User Feedback","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"User Feedback","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"All Views","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All Views","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Configure","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Alerts","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Alerts","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Issues","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View Project Details","depth":13,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"APP-1DTF","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Symfony\\Component\\Debug\\Exception\\FatalThrowableError","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View events","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Events (total)","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Users (90d)","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Level: Error","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"League\\Flysystem\\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1K","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ongoing","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/app/Jobs/AutomatedReports/SendReportJob.php in Jiminny\\Jobs\\AutomatedReports\\SendReportJob::handle","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quick Fix","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Resolve","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Resolve","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More resolve options","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Archive","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Archive","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Archive options","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Subscribe","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More Actions","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Priority","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Modify issue priority","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"High","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assignee","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Modify issue assignee","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"production, production-eu","depth":12,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"production, production-eu","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"90D","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"90D","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Add a search term","depth":15,"help_text":"","placeholder":"Filter events…","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"Add a search term","depth":15,"help_text":"","placeholder":"Filter events…","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close sidebar","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Toggle graph series - Events","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Events","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"176","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Toggle graph series - Users","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Users","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"release 40% 869519","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"release","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"40%","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"869519","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"environment 100% production","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"environment","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"100%","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"production","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"level 100% error","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"level","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"100%","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"error","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"handled 100% yes","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"handled","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"100%","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"yes","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View all tags","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"View all tags","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Select issue content","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Events","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Previous Event","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Next Event","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"First","depth":13,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"First","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"First","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Latest","depth":13,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Latest","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Latest","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Recommended","depth":13,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Recommended","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View More Events","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"View More Events","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy as","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Copy as","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ID: 26d2294b","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13 hours ago","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JSON","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JSON","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Highlights","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Highlights","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Stack Trace","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Stack Trace","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Trace","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Trace","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Tags","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tags","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Context","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Context","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"php","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8.3.30","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
6620974621670850792
|
-7197739134828019470
|
app_switch
|
accessibility
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
New Tab
New Tab
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
Symfony\Component\Debug\Exception\FatalThrowableError: League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to main content
Skip to main content
Toggle organization menu
Issues
Issues
Explore
Explore
Dashboards
Dashboards
Insights
Insights
Settings
Settings
Try Business
What's New
Help
[EMAIL]
Issues
Collapse
Feed
Feed
Errors & Outages
Errors & Outages
Breached Metrics
Breached Metrics
Warnings
Warnings
User Feedback
User Feedback
All Views
All Views
Configure
Alerts
Alerts
Issues
Issues
View Project Details
APP-1DTF
Symfony\Component\Debug\Exception\FatalThrowableError
View events
Events (total)
Users (90d)
Level: Error
League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given, called in /home/jiminny/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php on line 218
1K
0
Ongoing
/app/Jobs/AutomatedReports/SendReportJob.php in Jiminny\Jobs\AutomatedReports\SendReportJob::handle
Quick Fix
Resolve
Resolve
More resolve options
Archive
Archive
Archive options
Subscribe
Share
More Actions
Priority
Modify issue priority
High
Assignee
Modify issue assignee
Nikolay Nikolov
production, production-eu
production, production-eu
90D
90D
Add a search term
Add a search term
Close sidebar
Toggle graph series - Events
Events
176
Toggle graph series - Users
Users
0
release 40% 869519
release
40%
869519
environment 100% production
environment
100%
production
level 100% error
level
100%
error
handled 100% yes
handled
100%
yes
View all tags
View all tags
Select issue content
Events
Previous Event
Next Event
First
First
First
Latest
Latest
Latest
Recommended
Recommended
View More Events
View More Events
Copy as
Copy as
ID: 26d2294b
13 hours ago
JSON
JSON
Highlights
Highlights
Stack Trace
Stack Trace
Trace
Trace
Tags
Tags
Context
Context
php
8.3.30...
|
NULL
|
|
41114
|
NULL
|
0
|
2026-04-17T06:02:15.684311+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776405735684_m2.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEoitViewHistoryBookmarksProfilesToolsWi FirefoxFileEoitViewHistoryBookmarksProfilesToolsWindowHelpjiminny.sentry.io/organizations/jiminny/issues/6873095751/?environment=production&environment=production-eu&project=82419- Platform Sprint 2 Q2 - Platform TeIssuesID: 26d2294b13 hours ago | JSONSs3Path = SautomatedReportsService->getMediaPath(Sreport):[SRD-6793] Les Mills activity type:FeedNew TabssuesSymfony|Component|DebuglE›Errors & OutagesBreached Metrics+ New TabexploreI/ Verify the file exists in S3if (! Storage: :disk('client-data-cloud')-›exists($s3Path)) {Slogger->error(self::LOG_PREFIXReport file not found in S3',l'uuid' => Sthis->reportUuid,soraln ossrdth,walmailnes08DashboardsUser FeedbackautomatedReportsServiCeObject Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsServiceAll ViewsjobDispatchermisrgtitConfigureloggerObject Jiminny\Jobs\JobDispatcherObject Illuminate\Log\LogManagerAicilsCalled from: /vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php in Illuminate\Container\BoundMethod:Illuminate\Container\(closure)Settings/app/Queue/Worker/Worker.php:72 in Jiminny\Queue\Worker\Worker:processCalled trom:/vendor/arave/tramework/src/uminate/Queue/worker.oho inuminate @ueue Worker.run.Joov Trace Preview1 hidden span, 12 hidden issuesC Error - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jCe Error - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jC Error - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (iCe Error - League\Flysystem\Filesystem:has0: Argument #1 (Slocation) must be of type string, null given, called in /home/jiminnCe Error - SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '749-003SZ00000kiWwBYAU' for key 'contacts_/C Error - [MatchActivitiesToNewOpportunity] Cannot find opportunity with ID: 20530935 Jiminny\Exceptions\InvalidArgumentE›v Tagscorrelation_idenvironmenthandledlaravel_versionlevelmecnanasilld8fe2b34-1f65-47dd-9f3a-f6cd4b33924aproductionbuildnale12.54.1erronenereLinux 6.1.141-155.222.amzn2023.aarch64#1 SMP Tue Jun 17 10:29:19 UTC 2025LInuxv ContextsUserGeographyColumbus. United States (US)RuntimeNameSaDulversionphp8.3.30, 0hihlA100% C•Fri 17 Apr 9:02:15yews moreJump to: HighlightsStack TraceTraceCantoytlaesv PeopleMPIN participatingSOBSIK IN viewedSimilar IssuesMerged IssuesView1.11hr1.67hr222hr2.78hr3.33hrShow 14 more tramesIn AppShow 17 more framesView Full Trace4.44hr5.00hnAll Custom Application Client Other(**)LKTeydonreleaseruncimeus-east-2872394php 8.3.30- nalleserver name669ca8d9602dOperating SystemBULLeSerle JneUC449Kerhes verszonLinux 669ca8d9602d 6.1.141-155.222.amzn2023.aarch64 #1 SMP Tue Jun 17 10:29:19 UTC 2025aarcho4NallleVersionLInux6.1.141-155.222.amzn2023.aarch64frace DecallsSpan IDStatusTrace ID9c8334fc542f4eaeunknown0388ce431d4c468f8d35f77c3700008e...
|
NULL
|
7184365828779277999
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEoitViewHistoryBookmarksProfilesToolsWi FirefoxFileEoitViewHistoryBookmarksProfilesToolsWindowHelpjiminny.sentry.io/organizations/jiminny/issues/6873095751/?environment=production&environment=production-eu&project=82419- Platform Sprint 2 Q2 - Platform TeIssuesID: 26d2294b13 hours ago | JSONSs3Path = SautomatedReportsService->getMediaPath(Sreport):[SRD-6793] Les Mills activity type:FeedNew TabssuesSymfony|Component|DebuglE›Errors & OutagesBreached Metrics+ New TabexploreI/ Verify the file exists in S3if (! Storage: :disk('client-data-cloud')-›exists($s3Path)) {Slogger->error(self::LOG_PREFIXReport file not found in S3',l'uuid' => Sthis->reportUuid,soraln ossrdth,walmailnes08DashboardsUser FeedbackautomatedReportsServiCeObject Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsServiceAll ViewsjobDispatchermisrgtitConfigureloggerObject Jiminny\Jobs\JobDispatcherObject Illuminate\Log\LogManagerAicilsCalled from: /vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php in Illuminate\Container\BoundMethod:Illuminate\Container\(closure)Settings/app/Queue/Worker/Worker.php:72 in Jiminny\Queue\Worker\Worker:processCalled trom:/vendor/arave/tramework/src/uminate/Queue/worker.oho inuminate @ueue Worker.run.Joov Trace Preview1 hidden span, 12 hidden issuesC Error - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jCe Error - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jC Error - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (iCe Error - League\Flysystem\Filesystem:has0: Argument #1 (Slocation) must be of type string, null given, called in /home/jiminnCe Error - SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '749-003SZ00000kiWwBYAU' for key 'contacts_/C Error - [MatchActivitiesToNewOpportunity] Cannot find opportunity with ID: 20530935 Jiminny\Exceptions\InvalidArgumentE›v Tagscorrelation_idenvironmenthandledlaravel_versionlevelmecnanasilld8fe2b34-1f65-47dd-9f3a-f6cd4b33924aproductionbuildnale12.54.1erronenereLinux 6.1.141-155.222.amzn2023.aarch64#1 SMP Tue Jun 17 10:29:19 UTC 2025LInuxv ContextsUserGeographyColumbus. United States (US)RuntimeNameSaDulversionphp8.3.30, 0hihlA100% C•Fri 17 Apr 9:02:15yews moreJump to: HighlightsStack TraceTraceCantoytlaesv PeopleMPIN participatingSOBSIK IN viewedSimilar IssuesMerged IssuesView1.11hr1.67hr222hr2.78hr3.33hrShow 14 more tramesIn AppShow 17 more framesView Full Trace4.44hr5.00hnAll Custom Application Client Other(**)LKTeydonreleaseruncimeus-east-2872394php 8.3.30- nalleserver name669ca8d9602dOperating SystemBULLeSerle JneUC449Kerhes verszonLinux 669ca8d9602d 6.1.141-155.222.amzn2023.aarch64 #1 SMP Tue Jun 17 10:29:19 UTC 2025aarcho4NallleVersionLInux6.1.141-155.222.amzn2023.aarch64frace DecallsSpan IDStatusTrace ID9c8334fc542f4eaeunknown0388ce431d4c468f8d35f77c3700008e...
|
41113
|