|
23120
|
981
|
48
|
2026-05-12T07:33:01.220152+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778571181220_m2.jpg...
|
QuickTime Player
|
PLanhat Petko interest event 2026-05-11.mp4
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
rewind
play/pause
fast forward
mute
More Controls
rewind
play/pause
fast forward
mute
More Controls
toggle full screen
show external playback menu
show external playback menu
show media selection menu
toggle picture-in-picture playback
show action menu
share
show chapter menu
zoom
zoom
playback speed
03:16
toggle elapsed time, timecode and framecount
04:55
toggle duration and remaining time
document actions
PLanhat Petko interest event 2026-05-11.mp4...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"rewind","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXCheckBox","text":"play/pause","depth":1,"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"fast forward","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"mute","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"More Controls","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXCheckBox","text":"toggle full screen","depth":1,"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"show external playback menu","depth":1,"on_screen":true,"role_description":"button","is_focused":false},{"role":"AXButton","text":"show external playback menu","depth":2,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"show media selection menu","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"toggle picture-in-picture playback","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"show action menu","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"share","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"show chapter menu","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXCheckBox","text":"zoom","depth":1,"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false},{"role":"AXCheckBox","text":"zoom","depth":1,"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false},{"role":"AXButton","text":"playback speed","depth":1,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"03:16","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"toggle elapsed time, timecode and framecount","depth":1,"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"04:55","depth":1,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"toggle duration and remaining time","depth":1,"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false},{"role":"AXMenuButton","text":"document actions","depth":1,"bounds":{"left":0.5618351,"top":1.0,"width":0.0033244682,"height":-0.028730989},"on_screen":true,"role_description":"menu button","is_enabled":false,"is_focused":false},{"role":"AXStaticText","text":"PLanhat Petko interest event 2026-05-11.mp4","depth":1,"bounds":{"left":0.46077126,"top":1.0,"width":0.10106383,"height":-0.028730989},"on_screen":true,"role_description":"text"}]...
|
8157718412761432867
|
5921993631634033268
|
click
|
hybrid
|
NULL
|
rewind
play/pause
fast forward
mute
More Controls
rewind
play/pause
fast forward
mute
More Controls
toggle full screen
show external playback menu
show external playback menu
show media selection menu
toggle picture-in-picture playback
show action menu
share
show chapter menu
zoom
zoom
playback speed
03:16
toggle elapsed time, timecode and framecount
04:55
toggle duration and remaining time
document actions
PLanhat Petko interest event 2026-05-11.mp4
rirerox•0 lNew Tab* Jy 20820 es reindex stream mode)# (UY-20725] [HubSpot] Optimise CF@ JY-20725 add HS rate limit handllPipelines - jiminny/appPull requests - jiminny/appWY-207731 User Pilot not receivini@JY-20773 fix user pilot tracking ofrWJY-20776) Automated report - sel) TypeError: League|Flysystem|Files)TypeError: Leaque\Flysystem\FilesPlatform Sprint 3 02 - Platform Tel@JY-20625 | JY-20742 | MCP POC ЬG LLM pricing overview with the mos= Data Explorer• Loain— New Tab• = ws.planhat.com/• Goodle geminidifferent versions and regions, you can trynavigating directly. However, note thatws.planhat.com is a global entry point for theupgraded platform.• Try navigating to: https://ws.planhat.com• If your account has been migrated to theupgraded version, it should recognize yoursession or prompt you to log in.• Note: If your data is specifically hosted onune eus cluster, the system mavautomatically redirect you to a regionalversion of the upgraded Ul (e.g., ws-eu3.planhat.com)2. The In-App "Switch" (If Available)If your tenant is eligible for the upgrade but youare still in the classic "app" view, look for theseUl elements:• The Top Gray Bar: Click on your TenantName/Logo in the top-left corner. Thisoften opens the "Global Tools" menu.• Upgrade Prompts: In some instances,Planhat olaces a "Irv the new Pannat" or"Upgraded Planhat" toggle in the Helpmenu (the "?" icon in the top right) or as abanner at the too of the screen.Why use ws.olanhat.com?You likely need this URL to access newer "GlobalEnter a prompt for GeminiFastvAl lt can make mistakes so double check it Your orivaev &. GerSummarize pagemetricdef?preview=UsageMetricDef.69f2c6529c9f21b58804f123E Metric~DatasetDara explorerQ autCalendanNameA Notifications** Morev EndUser 1automated-reports-track-interestCS Dav-to-dav"Getting started Guide& Just CS Data* Dailv OverationsWeekly prep® Renewals and UpsellRisk and Churn An..ImolementationImpl ProjectsTrial Opps (Under Rev..,Stovan's clients1 metricTypeUser ActivitiesModelQ Search Jiminnyautomated-reporis-track-interestactivities.automated-reoorts-track-interestOverview Raw Data TraceEndUserMetrics05 May06 MavCommentsAdd a commonti07 MayInDAYSVhhlsupport Dally • In 4h zom100% 5• lue 1z May 10•33.00L. Lukas•• XFilter by Company€ May 05, 2026 - May 11, 202609 Mav11 Mayas aSUMacross comoaniesNo groups found+ Show full lict...
|
23116
|
/Volumes/Work/2026/PLanhat Petko interest event 20 /Volumes/Work/2026/PLanhat Petko interest event 2026-05-11.mp4...
|
NULL
|
NULL
|
|
13554
|
602
|
3
|
2026-05-09T15:49:26.884252+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-09/1778 /Users/lukas/.screenpipe/data/data/2026-05-09/1778341766884_m2.jpg...
|
Firefox
|
lakylak - Gitea: Git with a cup of tea — Personal
|
True
|
gitea.com/lakylak
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
DNS / Nameservers | Hostinger
DNS / Nameservers | Hostinger
Nginx Proxy Manager
Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Payments Logger
Payments Logger
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
(25) Quora
(25) Quora
Location Logger
Location Logger
Finance Hub
Finance Hub
Finance Hub
Finance Hub
Select: transactions - db - Adminer
Select: transactions - db - Adminer
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
VIVACOM
VIVACOM
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
VIVACOM
VIVACOM
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Claude Code | Claude Platform
Claude Code | Claude Platform
Claude
Claude
Gitea Official Website
Gitea Official Website
lakylak - Gitea: Git with a cup of tea
lakylak - Gitea: Git with a cup of tea
Close tab
EU alternatives to github : r/github
EU alternatives to github : r/github
Comparison with Gitea | Forgejo – Beyond coding. We forge.
Comparison with Gitea | Forgejo – Beyond coding. We forge.
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said how many repositories can I have on free gitea
You said
how many repositories can I have on free gitea
Listen
Show more options
Show thinking
Gemini said
Gemini said
The number of repositories you can have on free Gitea depends on whether you are using their public hosted instance or running your own server.
Here is the breakdown:
1. On Gitea.com (Public Hosted Instance)
1. On Gitea.com (Public Hosted Instance)
If you are creating an account directly on
Gitea.com
, you are limited to
5 repositories
.
Gitea restricts the number of free repositories on its official public instance because the site's primary purpose is to host Gitea's own development and community projects, rather than serving as a general-purpose public code host like GitHub or GitLab.
2. Self-Hosted Gitea (Open-Source Software)
2. Self-Hosted Gitea (Open-Source Software)
If you are self-hosting Gitea on your own server or a Raspberry Pi, the open-source software is completely free and allows for
unlimited repositories
.
View source details. Opens side panel.
In a self-hosted environment, you are only limited by:
Your hardware's storage capacity.
Administrator limits:
If you are using an instance hosted by someone else, the administrator of that specific server can set custom creation limits per user (via the
setting). But if you are the admin, you have full control.
Sources
Sources
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Send message
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Dashboard
Notifications
Navigation Menu
Change your avatar…
lakylak
0 Followers
0 Followers
·
0 Following
0 Following
RSS Feed
[EMAIL]
[EMAIL]
Your email address is only visible to you and administrators
Joined on
Dec 29, 2025
Repositories 5
Repositories
5
Projects
Projects
Public Activity
Public Activity
Starred Repositories
Starred Repositories
Search repos…
Search…
Filter
Filter
Sort
Sort
screenpipe
screenpipe
Private
HTML
HTML
Stars 0
0
Forks 0
0
Updated
2 weeks ago
reminders-app
reminders-app
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
last month
location-logger
location-logger
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
2 months ago
appflowy
appflowy
Private
Rust
Rust
Stars 0
0
Forks 0
0
Updated
3 months ago
Personal-log-system
Personal-log-system
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
5 months ago
Powered by Gitea
Powered by Gitea
Licenses
Licenses
API
API
gitea.com/lakylak/Personal-log-system...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.113696806,"height":0.032721467},"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":5,"bounds":{"left":0.013297873,"top":0.0,"width":0.080784574,"height":0.010774142},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DNS / Nameservers | Hostinger","depth":4,"bounds":{"left":0.0,"top":0.008379889,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DNS / Nameservers | Hostinger","depth":5,"bounds":{"left":0.013297873,"top":0.019553073,"width":0.053856384,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Nginx Proxy Manager","depth":4,"bounds":{"left":0.0,"top":0.041101355,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Nginx Proxy Manager","depth":5,"bounds":{"left":0.013297873,"top":0.05227454,"width":0.036901597,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.0,"top":0.073822826,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.013297873,"top":0.08499601,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"bounds":{"left":0.0,"top":0.10654429,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"bounds":{"left":0.013297873,"top":0.117717475,"width":0.040724736,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"bounds":{"left":0.0,"top":0.13926576,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"bounds":{"left":0.013297873,"top":0.15043895,"width":0.03756649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":4,"bounds":{"left":0.0,"top":0.17198724,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":5,"bounds":{"left":0.013297873,"top":0.18316041,"width":0.11469415,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"bounds":{"left":0.0,"top":0.2047087,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"bounds":{"left":0.013297873,"top":0.21588188,"width":0.036901597,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"AFFiNE - All In One KnowledgeOS","depth":4,"bounds":{"left":0.0,"top":0.23743017,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AFFiNE - All In One KnowledgeOS","depth":5,"bounds":{"left":0.013297873,"top":0.24860336,"width":0.05851064,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"bounds":{"left":0.0,"top":0.27015164,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"bounds":{"left":0.013297873,"top":0.28132483,"width":0.029587766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Payments Logger","depth":4,"bounds":{"left":0.0,"top":0.3028731,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Payments Logger","depth":5,"bounds":{"left":0.013297873,"top":0.3140463,"width":0.030086435,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Your old PC can run Windows 11 in a VM, but not on bare metal - kovaliklukas@gmail.com - Gmail","depth":4,"bounds":{"left":0.0,"top":0.33559456,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your old PC can run Windows 11 in a VM, but not on bare metal - kovaliklukas@gmail.com - Gmail","depth":5,"bounds":{"left":0.013297873,"top":0.34676775,"width":0.16855054,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"(25) Quora","depth":4,"bounds":{"left":0.0,"top":0.36831605,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"(25) Quora","depth":5,"bounds":{"left":0.013297873,"top":0.3794892,"width":0.018949468,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Location Logger","depth":4,"bounds":{"left":0.0,"top":0.4010375,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Location Logger","depth":5,"bounds":{"left":0.013297873,"top":0.4122107,"width":0.028091755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"bounds":{"left":0.0,"top":0.43375897,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finance Hub","depth":5,"bounds":{"left":0.013297873,"top":0.44493216,"width":0.021609042,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"bounds":{"left":0.0,"top":0.46648043,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finance Hub","depth":5,"bounds":{"left":0.013297873,"top":0.47765362,"width":0.021609042,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Select: transactions - db - Adminer","depth":4,"bounds":{"left":0.0,"top":0.49920192,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Select: transactions - db - Adminer","depth":5,"bounds":{"left":0.013297873,"top":0.5103751,"width":0.061170213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":4,"bounds":{"left":0.0,"top":0.5319234,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":5,"bounds":{"left":0.013297873,"top":0.54309654,"width":0.09059176,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":4,"bounds":{"left":0.0,"top":0.5646449,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":5,"bounds":{"left":0.013297873,"top":0.57581806,"width":0.113696806,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"bounds":{"left":0.0,"top":0.59736633,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"VIVACOM","depth":5,"bounds":{"left":0.013297873,"top":0.6085395,"width":0.016788565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":4,"bounds":{"left":0.0,"top":0.6300878,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":5,"bounds":{"left":0.013297873,"top":0.641261,"width":0.10239362,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"bounds":{"left":0.0,"top":0.66280925,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"VIVACOM","depth":5,"bounds":{"left":0.013297873,"top":0.67398244,"width":0.016788565,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":4,"bounds":{"left":0.0,"top":0.6955307,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":5,"bounds":{"left":0.013297873,"top":0.7067039,"width":0.098902926,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Code | Claude Platform","depth":4,"bounds":{"left":0.0,"top":0.7282522,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Code | Claude Platform","depth":5,"bounds":{"left":0.013297873,"top":0.73942536,"width":0.053357713,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"bounds":{"left":0.0,"top":0.7609737,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"bounds":{"left":0.013297873,"top":0.7721468,"width":0.012134309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Gitea Official Website","depth":4,"bounds":{"left":0.0,"top":0.79369515,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gitea Official Website","depth":5,"bounds":{"left":0.013297873,"top":0.80486834,"width":0.03756649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"lakylak - Gitea: Git with a cup of tea","depth":4,"bounds":{"left":0.0,"top":0.8264166,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"lakylak - Gitea: Git with a cup of tea","depth":5,"bounds":{"left":0.013297873,"top":0.8375898,"width":0.06200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.10139628,"top":0.8335994,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"EU alternatives to github : r/github","depth":4,"bounds":{"left":0.0,"top":0.8591381,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EU alternatives to github : r/github","depth":5,"bounds":{"left":0.013297873,"top":0.87031126,"width":0.059674203,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Comparison with Gitea | Forgejo – Beyond coding. We forge.","depth":4,"bounds":{"left":0.0,"top":0.89185953,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Comparison with Gitea | Forgejo – Beyond coding. We forge.","depth":5,"bounds":{"left":0.013297873,"top":0.9030327,"width":0.10455452,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.92897046,"width":0.108211435,"height":0.025538707},"on_screen":true,"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.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.21875,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.23071809,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"bounds":{"left":0.22805852,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.11768617,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.18683511,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"bounds":{"left":0.20013298,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.21343085,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.11336436,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.11336436,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said how many repositories can I have on free gitea","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"how many repositories can I have on free gitea","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"bounds":{"left":0.22805852,"top":0.0,"width":0.013297873,"height":0.031923383},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"bounds":{"left":0.22805852,"top":0.0,"width":0.013297873,"height":0.031923383},"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":28,"bounds":{"left":0.13696809,"top":0.0,"width":0.030917553,"height":0.014764565},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"bounds":{"left":0.13464096,"top":0.0,"width":0.0003324468,"height":0.0007980846},"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"bounds":{"left":0.13464096,"top":0.0,"width":0.04105718,"height":0.01915403},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The number of repositories you can have on free Gitea depends on whether you are using their public hosted instance or running your own server.","depth":27,"bounds":{"left":0.12367021,"top":0.0,"width":0.1100399,"height":0.07861133},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here is the breakdown:","depth":27,"bounds":{"left":0.12367021,"top":0.082601756,"width":0.055518616,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1. On Gitea.com (Public Hosted Instance)","depth":26,"bounds":{"left":0.12367021,"top":0.12330407,"width":0.11502659,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1. On Gitea.com (Public Hosted Instance)","depth":27,"bounds":{"left":0.12367021,"top":0.12490024,"width":0.10571808,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are creating an account directly on","depth":27,"bounds":{"left":0.12367021,"top":0.15123703,"width":0.10023271,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gitea.com","depth":27,"bounds":{"left":0.12367021,"top":0.17198724,"width":0.026595745,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", you are limited to","depth":27,"bounds":{"left":0.15026596,"top":0.17198724,"width":0.045711435,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 repositories","depth":27,"bounds":{"left":0.19597739,"top":0.17198724,"width":0.03557181,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":27,"bounds":{"left":0.2315492,"top":0.17198724,"width":0.0013297872,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gitea restricts the number of free repositories on its official public instance because the site's primary purpose is to host Gitea's own development and community projects, rather than serving as a general-purpose public code host like GitHub or GitLab.","depth":27,"bounds":{"left":0.12367021,"top":0.20151636,"width":0.11502659,"height":0.12011173},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"2. Self-Hosted Gitea (Open-Source Software)","depth":26,"bounds":{"left":0.12367021,"top":0.34596968,"width":0.11502659,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2. Self-Hosted Gitea (Open-Source Software)","depth":27,"bounds":{"left":0.12367021,"top":0.34756583,"width":0.091755316,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are self-hosting Gitea on your own server or a Raspberry Pi, the open-source software is completely free and allows for","depth":27,"bounds":{"left":0.12367021,"top":0.39305666,"width":0.11502659,"height":0.057861134},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"unlimited repositories","depth":27,"bounds":{"left":0.12367021,"top":0.43455705,"width":0.099567816,"height":0.037110932},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":27,"bounds":{"left":0.15475398,"top":0.45530728,"width":0.0013297872,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details. Opens side panel.","depth":27,"bounds":{"left":0.16073804,"top":0.4557063,"width":0.008643617,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"In a self-hosted environment, you are only limited by:","depth":27,"bounds":{"left":0.12367021,"top":0.4848364,"width":0.102726065,"height":0.037110932},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Your hardware's storage capacity.","depth":29,"bounds":{"left":0.13630319,"top":0.5351157,"width":0.087765954,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Administrator limits:","depth":29,"bounds":{"left":0.13630319,"top":0.5646449,"width":0.053025264,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are using an instance hosted by someone else, the administrator of that specific server can set custom creation limits per user (via the","depth":29,"bounds":{"left":0.13630319,"top":0.5646449,"width":0.099734046,"height":0.09936153},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"setting). But if you are the admin, you have full control.","depth":29,"bounds":{"left":0.13630319,"top":0.64764565,"width":0.10056516,"height":0.037110932},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sources","depth":26,"bounds":{"left":0.12367021,"top":0.70590585,"width":0.036402926,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sources","depth":28,"bounds":{"left":0.13663563,"top":0.7146848,"width":0.017785905,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"bounds":{"left":0.12034574,"top":0.75059855,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"bounds":{"left":0.13098404,"top":0.75059855,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"bounds":{"left":0.14162233,"top":0.75059855,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"bounds":{"left":0.15226063,"top":0.75059855,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"bounds":{"left":0.16289894,"top":0.75059855,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"bounds":{"left":0.17353724,"top":0.75059855,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"bounds":{"left":0.12699468,"top":0.8216281,"width":0.10638298,"height":0.01915403},"on_screen":true,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"bounds":{"left":0.12699468,"top":0.82202715,"width":0.030086435,"height":0.018355945},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.123005316,"top":0.8575419,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.13896276,"top":0.8575419,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"bounds":{"left":0.19597739,"top":0.85514766,"width":0.026097074,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"bounds":{"left":0.20129654,"top":0.8639266,"width":0.007480053,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"bounds":{"left":0.22406915,"top":0.85514766,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Send message","depth":19,"bounds":{"left":0.23038563,"top":0.85434955,"width":0.013962766,"height":0.033519555},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"bounds":{"left":0.12483378,"top":0.90901834,"width":0.11070479,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"bounds":{"left":0.15807846,"top":0.92178774,"width":0.044215426,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"bounds":{"left":0.15807846,"top":0.92178774,"width":0.044215426,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"bounds":{"left":0.11336436,"top":0.92098963,"width":0.043218084,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.119015954,"top":0.95730245,"width":0.053523935,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.124667555,"top":0.96249,"width":0.042220745,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Dashboard","depth":7,"bounds":{"left":0.2528258,"top":0.057063047,"width":0.01861702,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Notifications","depth":7,"bounds":{"left":0.46775267,"top":0.056264963,"width":0.013962766,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Navigation Menu","depth":7,"bounds":{"left":0.48337767,"top":0.058260176,"width":0.013464096,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Change your avatar…","depth":9,"bounds":{"left":0.33726728,"top":0.11652035,"width":0.07513298,"height":0.18036711},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"lakylak","depth":9,"bounds":{"left":0.36751994,"top":0.3120511,"width":0.01462766,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"0 Followers","depth":10,"bounds":{"left":0.33992687,"top":0.33359936,"width":0.03174867,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0 Followers","depth":11,"bounds":{"left":0.34707448,"top":0.33359936,"width":0.024601065,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"·","depth":10,"bounds":{"left":0.37167552,"top":0.33359936,"width":0.0039893617,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"0 Following","depth":10,"bounds":{"left":0.3756649,"top":0.33359936,"width":0.02443484,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0 Following","depth":11,"bounds":{"left":0.3756649,"top":0.33359936,"width":0.02443484,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"RSS Feed","depth":10,"bounds":{"left":0.40142953,"top":0.33359936,"width":0.00831117,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"kovaliklukas@proton.me","depth":10,"bounds":{"left":0.26230052,"top":0.36831605,"width":0.22506648,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"kovaliklukas@proton.me","depth":11,"bounds":{"left":0.26230052,"top":0.36951315,"width":0.052027926,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your email address is only visible to you and administrators","depth":10,"bounds":{"left":0.48853058,"top":0.3699122,"width":0.005319149,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Joined on","depth":11,"bounds":{"left":0.26230052,"top":0.40223464,"width":0.022273935,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Dec 29, 2025","depth":12,"bounds":{"left":0.28457448,"top":0.40223464,"width":0.02925532,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Repositories 5","depth":8,"bounds":{"left":0.2521609,"top":0.4592977,"width":0.053357713,"height":0.033918597},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Repositories","depth":10,"bounds":{"left":0.26313165,"top":0.4688747,"width":0.028091755,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":10,"bounds":{"left":0.29637632,"top":0.47007182,"width":0.0023271276,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Projects","depth":8,"bounds":{"left":0.30551863,"top":0.4592977,"width":0.03357713,"height":0.033918597},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Projects","depth":10,"bounds":{"left":0.31648937,"top":0.4688747,"width":0.01761968,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Public Activity","depth":8,"bounds":{"left":0.33909574,"top":0.4592977,"width":0.047041222,"height":0.033918597},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Public Activity","depth":10,"bounds":{"left":0.34990028,"top":0.4688747,"width":0.030585106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Starred Repositories","depth":8,"bounds":{"left":0.38613698,"top":0.4592977,"width":0.06100399,"height":0.033918597},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Starred Repositories","depth":10,"bounds":{"left":0.39710772,"top":0.4688747,"width":0.043882977,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search repos…","depth":8,"bounds":{"left":0.2521609,"top":0.50558656,"width":0.18351063,"height":0.028332002},"on_screen":true,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search…","depth":8,"bounds":{"left":0.43567154,"top":0.50558656,"width":0.010970744,"height":0.028332002},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Filter","depth":8,"bounds":{"left":0.44896942,"top":0.5051876,"width":0.023936171,"height":0.029130088},"on_screen":true,"value":"Filter","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Filter","depth":10,"bounds":{"left":0.45295876,"top":0.51356745,"width":0.010139627,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Sort","depth":8,"bounds":{"left":0.47523272,"top":0.5051876,"width":0.022273935,"height":0.029130088},"on_screen":true,"value":"Sort","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sort","depth":10,"bounds":{"left":0.4792221,"top":0.51356745,"width":0.008477394,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"screenpipe","depth":7,"bounds":{"left":0.2627992,"top":0.55706304,"width":0.027925532,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe","depth":8,"bounds":{"left":0.2627992,"top":0.5574621,"width":0.027925532,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"bounds":{"left":0.2942154,"top":0.55905825,"width":0.013464096,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"HTML","depth":7,"bounds":{"left":0.453125,"top":0.55706304,"width":0.020944148,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"HTML","depth":8,"bounds":{"left":0.46126994,"top":0.5582602,"width":0.012799202,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"bounds":{"left":0.47639626,"top":0.55706304,"width":0.009474734,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.48287898,"top":0.5582602,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"bounds":{"left":0.48819813,"top":0.55706304,"width":0.00930851,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.49468085,"top":0.5582602,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"bounds":{"left":0.2627992,"top":0.5794094,"width":0.018450798,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2 weeks ago","depth":8,"bounds":{"left":0.28241357,"top":0.5794094,"width":0.026928192,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"reminders-app","depth":7,"bounds":{"left":0.2627992,"top":0.61332804,"width":0.03756649,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"reminders-app","depth":8,"bounds":{"left":0.2627992,"top":0.61372703,"width":0.03756649,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"bounds":{"left":0.30385637,"top":0.61532325,"width":0.013297873,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Python","depth":7,"bounds":{"left":0.4507979,"top":0.61332804,"width":0.023271276,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Python","depth":8,"bounds":{"left":0.45894283,"top":0.61452514,"width":0.01512633,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"bounds":{"left":0.47639626,"top":0.61332804,"width":0.009474734,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.48287898,"top":0.61452514,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"bounds":{"left":0.48819813,"top":0.61332804,"width":0.00930851,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.49468085,"top":0.61452514,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"bounds":{"left":0.2627992,"top":0.63567436,"width":0.018450798,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"last month","depth":8,"bounds":{"left":0.28241357,"top":0.63567436,"width":0.022772606,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"location-logger","depth":7,"bounds":{"left":0.2627992,"top":0.669593,"width":0.03873005,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"location-logger","depth":8,"bounds":{"left":0.2627992,"top":0.669992,"width":0.03873005,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"bounds":{"left":0.30501994,"top":0.6715882,"width":0.013464096,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Python","depth":7,"bounds":{"left":0.4507979,"top":0.669593,"width":0.023271276,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Python","depth":8,"bounds":{"left":0.45894283,"top":0.6707901,"width":0.01512633,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"bounds":{"left":0.47639626,"top":0.669593,"width":0.009474734,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.48287898,"top":0.6707901,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"bounds":{"left":0.48819813,"top":0.669593,"width":0.00930851,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.49468085,"top":0.6707901,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"bounds":{"left":0.2627992,"top":0.69193935,"width":0.018450798,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2 months ago","depth":8,"bounds":{"left":0.28241357,"top":0.69193935,"width":0.029587766,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"appflowy","depth":7,"bounds":{"left":0.2627992,"top":0.7258579,"width":0.023105053,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"appflowy","depth":8,"bounds":{"left":0.2627992,"top":0.72625697,"width":0.023105053,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"bounds":{"left":0.28939494,"top":0.7278532,"width":0.013464096,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Rust","depth":7,"bounds":{"left":0.45628324,"top":0.7258579,"width":0.017785905,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Rust","depth":8,"bounds":{"left":0.4644282,"top":0.7270551,"width":0.009640957,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"bounds":{"left":0.47639626,"top":0.7258579,"width":0.009474734,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.48287898,"top":0.7270551,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"bounds":{"left":0.48819813,"top":0.7258579,"width":0.00930851,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.49468085,"top":0.7270551,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"bounds":{"left":0.2627992,"top":0.7482043,"width":0.018450798,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3 months ago","depth":8,"bounds":{"left":0.28241357,"top":0.7482043,"width":0.029587766,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Personal-log-system","depth":7,"bounds":{"left":0.2627992,"top":0.7821229,"width":0.05285904,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Personal-log-system","depth":8,"bounds":{"left":0.2627992,"top":0.78252196,"width":0.05285904,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"bounds":{"left":0.31914893,"top":0.7841181,"width":0.013297873,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Python","depth":7,"bounds":{"left":0.4507979,"top":0.7821229,"width":0.023271276,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Python","depth":8,"bounds":{"left":0.45894283,"top":0.78332,"width":0.01512633,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"bounds":{"left":0.47639626,"top":0.7821229,"width":0.009474734,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.48287898,"top":0.78332,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"bounds":{"left":0.48819813,"top":0.7821229,"width":0.00930851,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"bounds":{"left":0.49468085,"top":0.78332,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"bounds":{"left":0.2627992,"top":0.8044693,"width":0.018450798,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 months ago","depth":8,"bounds":{"left":0.28241357,"top":0.8044693,"width":0.029587766,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Powered by Gitea","depth":8,"bounds":{"left":0.35605052,"top":0.95610535,"width":0.03756649,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Powered by Gitea","depth":9,"bounds":{"left":0.35605052,"top":0.95730245,"width":0.03756649,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Licenses","depth":8,"bounds":{"left":0.3784907,"top":0.9776536,"width":0.023936171,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Licenses","depth":9,"bounds":{"left":0.3834774,"top":0.9788508,"width":0.018949468,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"API","depth":8,"bounds":{"left":0.40708113,"top":0.9776536,"width":0.012134309,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"API","depth":9,"bounds":{"left":0.41206783,"top":0.9788508,"width":0.0071476065,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"gitea.com/lakylak/Personal-log-system","depth":5,"bounds":{"left":0.25083113,"top":0.9876297,"width":0.067652926,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8154825803494779115
|
-7321557618536084339
|
click
|
accessibility
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
DNS / Nameservers | Hostinger
DNS / Nameservers | Hostinger
Nginx Proxy Manager
Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Payments Logger
Payments Logger
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
(25) Quora
(25) Quora
Location Logger
Location Logger
Finance Hub
Finance Hub
Finance Hub
Finance Hub
Select: transactions - db - Adminer
Select: transactions - db - Adminer
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
VIVACOM
VIVACOM
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
VIVACOM
VIVACOM
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Claude Code | Claude Platform
Claude Code | Claude Platform
Claude
Claude
Gitea Official Website
Gitea Official Website
lakylak - Gitea: Git with a cup of tea
lakylak - Gitea: Git with a cup of tea
Close tab
EU alternatives to github : r/github
EU alternatives to github : r/github
Comparison with Gitea | Forgejo – Beyond coding. We forge.
Comparison with Gitea | Forgejo – Beyond coding. We forge.
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said how many repositories can I have on free gitea
You said
how many repositories can I have on free gitea
Listen
Show more options
Show thinking
Gemini said
Gemini said
The number of repositories you can have on free Gitea depends on whether you are using their public hosted instance or running your own server.
Here is the breakdown:
1. On Gitea.com (Public Hosted Instance)
1. On Gitea.com (Public Hosted Instance)
If you are creating an account directly on
Gitea.com
, you are limited to
5 repositories
.
Gitea restricts the number of free repositories on its official public instance because the site's primary purpose is to host Gitea's own development and community projects, rather than serving as a general-purpose public code host like GitHub or GitLab.
2. Self-Hosted Gitea (Open-Source Software)
2. Self-Hosted Gitea (Open-Source Software)
If you are self-hosting Gitea on your own server or a Raspberry Pi, the open-source software is completely free and allows for
unlimited repositories
.
View source details. Opens side panel.
In a self-hosted environment, you are only limited by:
Your hardware's storage capacity.
Administrator limits:
If you are using an instance hosted by someone else, the administrator of that specific server can set custom creation limits per user (via the
setting). But if you are the admin, you have full control.
Sources
Sources
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Send message
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Dashboard
Notifications
Navigation Menu
Change your avatar…
lakylak
0 Followers
0 Followers
·
0 Following
0 Following
RSS Feed
[EMAIL]
[EMAIL]
Your email address is only visible to you and administrators
Joined on
Dec 29, 2025
Repositories 5
Repositories
5
Projects
Projects
Public Activity
Public Activity
Starred Repositories
Starred Repositories
Search repos…
Search…
Filter
Filter
Sort
Sort
screenpipe
screenpipe
Private
HTML
HTML
Stars 0
0
Forks 0
0
Updated
2 weeks ago
reminders-app
reminders-app
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
last month
location-logger
location-logger
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
2 months ago
appflowy
appflowy
Private
Rust
Rust
Stars 0
0
Forks 0
0
Updated
3 months ago
Personal-log-system
Personal-log-system
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
5 months ago
Powered by Gitea
Powered by Gitea
Licenses
Licenses
API
API
gitea.com/lakylak/Personal-log-system...
|
13552
|
NULL
|
NULL
|
NULL
|
|
13555
|
601
|
2
|
2026-05-09T15:49:26.982254+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-09/1778 /Users/lukas/.screenpipe/data/data/2026-05-09/1778341766982_m1.jpg...
|
Firefox
|
lakylak - Gitea: Git with a cup of tea — Personal
|
True
|
gitea.com/lakylak
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
DNS / Nameservers | Hostinger
DNS / Nameservers | Hostinger
Nginx Proxy Manager
Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Payments Logger
Payments Logger
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
(25) Quora
(25) Quora
Location Logger
Location Logger
Finance Hub
Finance Hub
Finance Hub
Finance Hub
Select: transactions - db - Adminer
Select: transactions - db - Adminer
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
VIVACOM
VIVACOM
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
VIVACOM
VIVACOM
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Claude Code | Claude Platform
Claude Code | Claude Platform
Claude
Claude
Gitea Official Website
Gitea Official Website
lakylak - Gitea: Git with a cup of tea
lakylak - Gitea: Git with a cup of tea
Close tab
EU alternatives to github : r/github
EU alternatives to github : r/github
Comparison with Gitea | Forgejo – Beyond coding. We forge.
Comparison with Gitea | Forgejo – Beyond coding. We forge.
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said how many repositories can I have on free gitea
You said
how many repositories can I have on free gitea
Listen
Show more options
Show thinking
Gemini said
Gemini said
The number of repositories you can have on free Gitea depends on whether you are using their public hosted instance or running your own server.
Here is the breakdown:
1. On Gitea.com (Public Hosted Instance)
1. On Gitea.com (Public Hosted Instance)
If you are creating an account directly on
Gitea.com
, you are limited to
5 repositories
.
Gitea restricts the number of free repositories on its official public instance because the site's primary purpose is to host Gitea's own development and community projects, rather than serving as a general-purpose public code host like GitHub or GitLab.
2. Self-Hosted Gitea (Open-Source Software)
2. Self-Hosted Gitea (Open-Source Software)
If you are self-hosting Gitea on your own server or a Raspberry Pi, the open-source software is completely free and allows for
unlimited repositories
.
View source details. Opens side panel.
In a self-hosted environment, you are only limited by:
Your hardware's storage capacity.
Administrator limits:
If you are using an instance hosted by someone else, the administrator of that specific server can set custom creation limits per user (via the
setting). But if you are the admin, you have full control.
Sources
Sources
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Send message
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Dashboard
Notifications
Navigation Menu
Change your avatar…
lakylak
0 Followers
0 Followers
·
0 Following
0 Following
RSS Feed
[EMAIL]
[EMAIL]
Your email address is only visible to you and administrators
Joined on
Dec 29, 2025
Repositories 5
Repositories
5
Projects
Projects
Public Activity
Public Activity
Starred Repositories
Starred Repositories
Search repos…
Search…
Filter
Filter
Sort
Sort
screenpipe
screenpipe
Private
HTML
HTML
Stars 0
0
Forks 0
0
Updated
2 weeks ago
reminders-app
reminders-app
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
last month
location-logger
location-logger
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
2 months ago
appflowy
appflowy
Private
Rust
Rust
Stars 0
0
Forks 0
0
Updated
3 months ago
Personal-log-system
Personal-log-system
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
5 months ago
Powered by Gitea
Powered by Gitea
Licenses
Licenses
API
API
gitea.com/lakylak/Personal-log-system...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":4,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":5,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DNS / Nameservers | Hostinger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DNS / Nameservers | Hostinger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Nginx Proxy Manager","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Nginx Proxy Manager","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"AFFiNE - All In One KnowledgeOS","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AFFiNE - All In One KnowledgeOS","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Payments Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Payments Logger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Your old PC can run Windows 11 in a VM, but not on bare metal - kovaliklukas@gmail.com - Gmail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your old PC can run Windows 11 in a VM, but not on bare metal - kovaliklukas@gmail.com - Gmail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"(25) Quora","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"(25) Quora","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Location Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Location Logger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finance Hub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finance Hub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Select: transactions - db - Adminer","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Select: transactions - db - Adminer","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"VIVACOM","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"VIVACOM","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Code | Claude Platform","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Code | Claude Platform","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Gitea Official Website","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gitea Official Website","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"lakylak - Gitea: Git with a cup of tea","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"lakylak - Gitea: Git with a cup of tea","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"EU alternatives to github : r/github","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EU alternatives to github : r/github","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Comparison with Gitea | Forgejo – Beyond coding. We forge.","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Comparison with Gitea | Forgejo – Beyond coding. We forge.","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said how many repositories can I have on free gitea","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"how many repositories can I have on free gitea","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":24,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":23,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":28,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The number of repositories you can have on free Gitea depends on whether you are using their public hosted instance or running your own server.","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here is the breakdown:","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1. On Gitea.com (Public Hosted Instance)","depth":26,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1. On Gitea.com (Public Hosted Instance)","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are creating an account directly on","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gitea.com","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", you are limited to","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 repositories","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gitea restricts the number of free repositories on its official public instance because the site's primary purpose is to host Gitea's own development and community projects, rather than serving as a general-purpose public code host like GitHub or GitLab.","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"2. Self-Hosted Gitea (Open-Source Software)","depth":26,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2. Self-Hosted Gitea (Open-Source Software)","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are self-hosting Gitea on your own server or a Raspberry Pi, the open-source software is completely free and allows for","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"unlimited repositories","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View source details. Opens side panel.","depth":27,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"In a self-hosted environment, you are only limited by:","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Your hardware's storage capacity.","depth":29,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Administrator limits:","depth":29,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you are using an instance hosted by someone else, the administrator of that specific server can set custom creation limits per user (via the","depth":29,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"setting). But if you are the admin, you have full control.","depth":29,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sources","depth":26,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sources","depth":28,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":23,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":23,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":23,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share and export","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":23,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":22,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"on_screen":true,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Send message","depth":19,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Dashboard","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Notifications","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Navigation Menu","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Change your avatar…","depth":9,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"lakylak","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"0 Followers","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0 Followers","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"·","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"0 Following","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0 Following","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"RSS Feed","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"kovaliklukas@proton.me","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"kovaliklukas@proton.me","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your email address is only visible to you and administrators","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Joined on","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Dec 29, 2025","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Repositories 5","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Repositories","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Projects","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Projects","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Public Activity","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Public Activity","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Starred Repositories","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Starred Repositories","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search repos…","depth":8,"on_screen":true,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search…","depth":8,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Filter","depth":8,"on_screen":true,"value":"Filter","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Filter","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Sort","depth":8,"on_screen":true,"value":"Sort","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sort","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"screenpipe","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"HTML","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"HTML","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2 weeks ago","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"reminders-app","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"reminders-app","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Python","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Python","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"last month","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"location-logger","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"location-logger","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Python","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Python","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2 months ago","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"appflowy","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"appflowy","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Rust","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Rust","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3 months ago","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Personal-log-system","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Personal-log-system","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Private","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Python","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Python","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Stars 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forks 0","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated","depth":7,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5 months ago","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Powered by Gitea","depth":8,"bounds":{"left":0.17916666,"top":0.0,"width":0.07847222,"height":0.022222223},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Powered by Gitea","depth":9,"bounds":{"left":0.17916666,"top":0.0,"width":0.07847222,"height":0.018888889},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Licenses","depth":8,"bounds":{"left":0.22604166,"top":0.0,"width":0.05,"height":0.022222223},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Licenses","depth":9,"bounds":{"left":0.23645833,"top":0.0,"width":0.039583333,"height":0.018888889},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"API","depth":8,"bounds":{"left":0.2857639,"top":0.0,"width":0.025347222,"height":0.022222223},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"API","depth":9,"bounds":{"left":0.29618055,"top":0.0,"width":0.014930556,"height":0.018888889},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"gitea.com/lakylak/Personal-log-system","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.14131944,"height":0.015},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8154825803494779115
|
-7321557618536084339
|
click
|
accessibility
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
DNS / Nameservers | Hostinger
DNS / Nameservers | Hostinger
Nginx Proxy Manager
Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Payments Logger
Payments Logger
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
(25) Quora
(25) Quora
Location Logger
Location Logger
Finance Hub
Finance Hub
Finance Hub
Finance Hub
Select: transactions - db - Adminer
Select: transactions - db - Adminer
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
VIVACOM
VIVACOM
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
VIVACOM
VIVACOM
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Claude Code | Claude Platform
Claude Code | Claude Platform
Claude
Claude
Gitea Official Website
Gitea Official Website
lakylak - Gitea: Git with a cup of tea
lakylak - Gitea: Git with a cup of tea
Close tab
EU alternatives to github : r/github
EU alternatives to github : r/github
Comparison with Gitea | Forgejo – Beyond coding. We forge.
Comparison with Gitea | Forgejo – Beyond coding. We forge.
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said how many repositories can I have on free gitea
You said
how many repositories can I have on free gitea
Listen
Show more options
Show thinking
Gemini said
Gemini said
The number of repositories you can have on free Gitea depends on whether you are using their public hosted instance or running your own server.
Here is the breakdown:
1. On Gitea.com (Public Hosted Instance)
1. On Gitea.com (Public Hosted Instance)
If you are creating an account directly on
Gitea.com
, you are limited to
5 repositories
.
Gitea restricts the number of free repositories on its official public instance because the site's primary purpose is to host Gitea's own development and community projects, rather than serving as a general-purpose public code host like GitHub or GitLab.
2. Self-Hosted Gitea (Open-Source Software)
2. Self-Hosted Gitea (Open-Source Software)
If you are self-hosting Gitea on your own server or a Raspberry Pi, the open-source software is completely free and allows for
unlimited repositories
.
View source details. Opens side panel.
In a self-hosted environment, you are only limited by:
Your hardware's storage capacity.
Administrator limits:
If you are using an instance hosted by someone else, the administrator of that specific server can set custom creation limits per user (via the
setting). But if you are the admin, you have full control.
Sources
Sources
Good response
Bad response
Redo
Share and export
Copy
Show more options
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Send message
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Dashboard
Notifications
Navigation Menu
Change your avatar…
lakylak
0 Followers
0 Followers
·
0 Following
0 Following
RSS Feed
[EMAIL]
[EMAIL]
Your email address is only visible to you and administrators
Joined on
Dec 29, 2025
Repositories 5
Repositories
5
Projects
Projects
Public Activity
Public Activity
Starred Repositories
Starred Repositories
Search repos…
Search…
Filter
Filter
Sort
Sort
screenpipe
screenpipe
Private
HTML
HTML
Stars 0
0
Forks 0
0
Updated
2 weeks ago
reminders-app
reminders-app
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
last month
location-logger
location-logger
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
2 months ago
appflowy
appflowy
Private
Rust
Rust
Stars 0
0
Forks 0
0
Updated
3 months ago
Personal-log-system
Personal-log-system
Private
Python
Python
Stars 0
0
Forks 0
0
Updated
5 months ago
Powered by Gitea
Powered by Gitea
Licenses
Licenses
API
API
gitea.com/lakylak/Personal-log-system...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
23379
|
987
|
24
|
2026-05-12T07:48:14.939672+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778572094939_m2.jpg...
|
Slack
|
Steliyan Georgiev (DM) - Jiminny Inc - 4 new items Steliyan Georgiev (DM) - Jiminny Inc - 4 new items - Slack...
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Steliyan Georgiev
Petko Kashinski
Galya Dimitrova
Aneliya Angelova
Stefka Stoyanova
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Google Calendar
Messages
Messages
Add canvas
Add canvas
Files
Files
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Steliyan Georgiev
Apr 9th at 3:42:35 PM
3:42 PM
не, то Профет няма планети. ПХП планетите работят с prophet staging,
Lukas Kovalik
Apr 9th at 3:42:54 PM
3:42 PM
ами тогава трябва да чакамве
(edited)
Steliyan Georgiev
Apr 9th at 3:42:56 PM
3:42 PM
Другаде няма да работи за сега
Steliyan Georgiev
Apr 9th at 4:54:44 PM
4:54 PM
Деплойнах пак на стейджинг panorama reports
Jump to date
Lukas Kovalik
Today at 10:40:03 AM
10:40 AM
здрасти Стели
Today at 10:40:36 AM
10:40
Галя ме помоли да видим това със липсващ pdf_url на репорти
Today at 10:41:14 AM
10:41
може ли по-късно да се чуем да видим какво може да направим
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Steliyan Georgiev
Today at 10:44:58 AM
10:44 AM
Здрасти Лукаш, да
има ли тикет?
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Today at 10:46:01 AM
10:46 AM
https://jiminny.atlassian.net/browse/JY-20776
https://jiminny.atlassian.net/browse/JY-20776
Jira Cloud
Jira Cloud
Remove preview
Jira Cloud Bug JY-20776 Automated report - sentry Bug JY-20776 in Jira Cloud Preview in Slack Status Backlog Priority Medium Medium Assignee Unassigned Unassigned As of today at 10:46 AM Refresh Open in Jira ✨ Summarise
Automated report - sentry
Bug JY-20776 in Jira Cloud
Preview in Slack
Status
Backlog
Priority
Medium
Assignee
Unassigned
As of today at 10:46 AM
Refresh
Open in Jira
✨ Summarise
Open in browser
Share Bug JY-20776
View conversations
More actions
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 10:47:00 AM
10:47
проблем беше че няма pdf_url сега ще се разровя за конкретен репорт
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 10:47:35 AM
10:47
и идеята е на PHP да не го пробваме през час но Галя попита за регенериране
React with white_check_mark...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.5152925,"top":1.0,"width":0.011968086,"height":-0.058260202},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.01761968,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.018284574,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.02925532,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.5980718,"top":1.0,"width":0.0026595744,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.5465425,"top":1.0,"width":0.024268618,"height":-0.09177971},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Petko Kashinski","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"you","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"bounds":{"left":0.61170214,"top":1.0,"width":0.030917553,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Add canvas","depth":18,"bounds":{"left":0.64361703,"top":1.0,"width":0.034242023,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Add canvas","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"bounds":{"left":0.6788564,"top":1.0,"width":0.020944148,"height":-0.09177971},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"bounds":{"left":0.70113033,"top":1.0,"width":0.010638298,"height":-0.09177971},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"on_screen":false,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":21,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Steliyan Georgiev","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 3:42:35 PM","depth":22,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3:42 PM","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"не, то Профет няма планети. ПХП планетите работят с prophet staging,","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Lukas Kovalik","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 3:42:54 PM","depth":22,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3:42 PM","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ами тогава трябва да чакамве","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(edited)","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Steliyan Georgiev","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 3:42:56 PM","depth":22,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3:42 PM","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Другаде няма да работи за сега","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Steliyan Georgiev","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Apr 9th at 4:54:44 PM","depth":22,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4:54 PM","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Деплойнах пак на стейджинг panorama reports","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":21,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 10:40:03 AM","depth":22,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:40 AM","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"здрасти Стели","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 10:40:36 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:40","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Галя ме помоли да видим това със липсващ pdf_url на репорти","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 10:41:14 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:41","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"може ли по-късно да се чуем да видим какво може да направим","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":24,"on_screen":true,"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":24,"on_screen":true,"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":24,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":24,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":24,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Steliyan Georgiev","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 10:44:58 AM","depth":22,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:44 AM","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Здрасти Лукаш, да","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"има ли тикет?","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":24,"on_screen":true,"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":24,"on_screen":true,"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":24,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":24,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":24,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 10:46:01 AM","depth":22,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:46 AM","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://jiminny.atlassian.net/browse/JY-20776","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"https://jiminny.atlassian.net/browse/JY-20776","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Jira Cloud","depth":22,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Remove preview","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Jira Cloud Bug JY-20776 Automated report - sentry Bug JY-20776 in Jira Cloud Preview in Slack Status Backlog Priority Medium Medium Assignee Unassigned Unassigned As of today at 10:46 AM Refresh Open in Jira ✨ Summarise","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Automated report - sentry","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Bug JY-20776 in Jira Cloud","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Preview in Slack","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Backlog","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Priority","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Medium","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Assignee","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unassigned","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"As of today at 10:46 AM","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Refresh","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Jira","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"✨ Summarise","depth":26,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Open in browser","depth":26,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share Bug JY-20776","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View conversations","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More actions","depth":25,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with white_check_mark","depth":24,"on_screen":true,"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":24,"on_screen":true,"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":24,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":24,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":24,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Today at 10:47:00 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:47","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"проблем беше че няма pdf_url сега ще се разровя за конкретен репорт","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":24,"on_screen":true,"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":24,"on_screen":true,"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":24,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":24,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":24,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":24,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Today at 10:47:35 AM","depth":23,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:47","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"и идеята е на PHP да не го пробваме през час но Галя попита за регенериране","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":24,"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8152759558003674918
|
-1357318575825221538
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Steliyan Georgiev
Petko Kashinski
Galya Dimitrova
Aneliya Angelova
Stefka Stoyanova
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Google Calendar
Messages
Messages
Add canvas
Add canvas
Files
Files
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Steliyan Georgiev
Apr 9th at 3:42:35 PM
3:42 PM
не, то Профет няма планети. ПХП планетите работят с prophet staging,
Lukas Kovalik
Apr 9th at 3:42:54 PM
3:42 PM
ами тогава трябва да чакамве
(edited)
Steliyan Georgiev
Apr 9th at 3:42:56 PM
3:42 PM
Другаде няма да работи за сега
Steliyan Georgiev
Apr 9th at 4:54:44 PM
4:54 PM
Деплойнах пак на стейджинг panorama reports
Jump to date
Lukas Kovalik
Today at 10:40:03 AM
10:40 AM
здрасти Стели
Today at 10:40:36 AM
10:40
Галя ме помоли да видим това със липсващ pdf_url на репорти
Today at 10:41:14 AM
10:41
може ли по-късно да се чуем да видим какво може да направим
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Steliyan Georgiev
Today at 10:44:58 AM
10:44 AM
Здрасти Лукаш, да
има ли тикет?
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Today at 10:46:01 AM
10:46 AM
https://jiminny.atlassian.net/browse/JY-20776
https://jiminny.atlassian.net/browse/JY-20776
Jira Cloud
Jira Cloud
Remove preview
Jira Cloud Bug JY-20776 Automated report - sentry Bug JY-20776 in Jira Cloud Preview in Slack Status Backlog Priority Medium Medium Assignee Unassigned Unassigned As of today at 10:46 AM Refresh Open in Jira ✨ Summarise
Automated report - sentry
Bug JY-20776 in Jira Cloud
Preview in Slack
Status
Backlog
Priority
Medium
Assignee
Unassigned
As of today at 10:46 AM
Refresh
Open in Jira
✨ Summarise
Open in browser
Share Bug JY-20776
View conversations
More actions
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 10:47:00 AM
10:47
проблем беше че няма pdf_url сега ще се разровя за конкретен репорт
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 10:47:35 AM
10:47
и идеята е на PHP да не го пробваме през час но Галя попита за регенериране
React with white_check_mark
rireroxNew TabJy 20820 es reindex stream mode)# (UY-20725) [HubSpot] Optimise CF@ Jy-20725 add HS rate limit handlilO'Pipolines - jiminny/appf Pull requests • jiminny/app4 (JY-20773) User Pilot not receivins@JY-20773 fix user pilot tracking ofrfJY-207761 Automated report - se) TypeError: League|Flysystem|Files)2 Platform Sprint 3 Q2 - Platform Te:Q JY-20625 | JY-20742 | MCP PОС Ь= Data Explorer(UY-20776] Automated report - x+ New TabProtllesO JIMINNY@ For you© Recent|# Starred8f Apps0, Spaces+...Recent2 Jiminny (New) + ...IWD Platform TeamIID Capture TeamID Enterprise Stability I…..W Processing TeamWID SE Kanban(Q Service-Desk= More spaces= FiltersC DashboardsC Operations& Confluence: Teams= Customise sidebarQ SearchSpaces / E Jiminny (New) / & JY-18631 / Qf JY-20776Automated report - sentry~ Key detailsDescriptionWe still get Sentry error when attempting to send report result without paf url.lWe hed tu no wech trepen eniarieo to o or neu ug or senaig gan in one hour.,Steps to reproduceNoneActual outcomeAdd textExoected outcomeAdd textSubtasksAdd subtaskLinked work itemsAdd linked work itemActivityComments History Work logAdd a comment….Suggest a reply... Who is working on this...? Status update….Pro tip: press M to commentLukas Kovalik•1 hour aaolThere are few more errors, we need to confirm the case is the same as the sentry error from the description (seems so on the quick glance).n d @ @ (Unsaved changes) ...< S0 liil l SupportDaily- in 4h 12m БГ100% C/2 8 • Tue 12 May 10:48:14Ask Rovo ® Ê Q+ CreateBacklog* Improve BugDetailsAssigneeReporterDevelopmentLabelsSub-ProductStory PointsOrganisationsComponentsFix versionsParentSprintPriorityRegressionDaysNeed QACanny Links& UnassignedAssign to me@ Lukas Kovalik[ Open with VS Code33 Create branch/ Create commitNoneAdd optionsNonePlatformNone• JY-18631 Automate Exec reports in the productPlatform Sprint 4 Q2= MediumNo2Add optionOpen Canny Links> More fields story point estimate, Original estimate, Time tracking> Automation 4 Rule executions> featureOS Open featureOs...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
901
|
31
|
19
|
2026-05-07T07:41:14.229173+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778139674229_m1.jpg...
|
Claude
|
Claude
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Click to collapse
Skip to content
Skip to content
Click to collapse
⌘B
Drag to resize
Open sidebar
Chat
Cowork
Code
New chat ⌘N
New chat
⌘N
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe retention policy code location
More options for Screenpipe retention policy code location
Viewing retention policy in screenpipe
More options for Viewing retention policy in screenpipe
Clean shot x video recording termination issue
More options for Clean shot x video recording termination issue
HubSpot rate limit handling with executeRequest
More options for HubSpot rate limit handling with executeRequest
Untitled
More options
💬 Screen pipe. Is there ability…
More options for 💬 Screen pipe. Is there ability…
SMB mount access inconsistency between Finder and iTerm
More options for SMB mount access inconsistency between Finder and iTerm
💬 What is the best switch I can…
More options for 💬 What is the best switch I can…
Permission denied on screenpipe volume
More options for Permission denied on screenpipe volume
Screenpipe sync database attachment error
More options for Screenpipe sync database attachment error
Last swimming outing with Dani
More options for Last swimming outing with Dani
Definition of incarcerated
More options for Definition of incarcerated
Chromecast remote volume buttons not working
More options for Chromecast remote volume buttons not working
Salesforce API errors with Organization and FieldDefinition queries
More options for Salesforce API errors with Organization and FieldDefinition queries
Daily activity summary from screenpipe data
More options for Daily activity summary from screenpipe data
MacBook unexpected restarts and kanji screen
More options for MacBook unexpected restarts and kanji screen
Security patch review and testing guidance
More options for Security patch review and testing guidance
Food calorie values reference
More options for Food calorie values reference
Tracking location history from last week
More options for Tracking location history from last week
Screenpipe WAL processing when stopped
More options for Screenpipe WAL processing when stopped
Lukas Pro
Get apps and extensions
Coffee and Claude time?
So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:
• updating activity (engagement, meeting, call, note)
• searching for a company or contact
• updating deal
• patching IDs
Review what the limit is at the moment in the HubSpot documentation and then think of the solution:
• where to store it
• how to read it
• how to work with multiple jobs
• how to work with paginated requests
Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?
So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:
updating activity (engagement, meeting, call, note)
searching for a company or contact
updating deal
patching IDs
Review what the limit is at the moment in the HubSpot documentation and then think of the solution:
where to store it
how to read it
how to work with multiple jobs
how to work with paginated requests
Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?
Add files, connectors, and more
Model: Sonnet 4.6
Sonnet 4.6
Send message
Use incognito...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Click to collapse","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"⌘B","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drag to resize","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Open sidebar","depth":14,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat ⌘N","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New chat","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"⌘N","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Projects","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe retention policy code location","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe retention policy code location","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Viewing retention policy in screenpipe","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Viewing retention policy in screenpipe","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Clean shot x video recording termination issue","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Clean shot x video recording termination issue","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit handling with executeRequest","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit handling with executeRequest","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Untitled","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"💬 Screen pipe. Is there ability…","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for 💬 Screen pipe. Is there ability…","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"SMB mount access inconsistency between Finder and iTerm","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for SMB mount access inconsistency between Finder and iTerm","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"💬 What is the best switch I can…","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for 💬 What is the best switch I can…","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Permission denied on screenpipe volume","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Permission denied on screenpipe volume","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync database attachment error","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync database attachment error","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last swimming outing with Dani","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last swimming outing with Dani","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Definition of incarcerated","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Definition of incarcerated","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chromecast remote volume buttons not working","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Chromecast remote volume buttons not working","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Salesforce API errors with Organization and FieldDefinition queries","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Salesforce API errors with Organization and FieldDefinition queries","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Daily activity summary from screenpipe data","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Daily activity summary from screenpipe data","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"MacBook unexpected restarts and kanji screen","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for MacBook unexpected restarts and kanji screen","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Security patch review and testing guidance","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Security patch review and testing guidance","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Food calorie values reference","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Food calorie values reference","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tracking location history from last week","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Tracking location history from last week","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe WAL processing when stopped","depth":18,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe WAL processing when stopped","depth":19,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Coffee and Claude time?","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:\n• updating activity (engagement, meeting, call, note)\n• searching for a company or contact\n• updating deal\n• patching IDs \nReview what the limit is at the moment in the HubSpot documentation and then think of the solution:\n• where to store it\n• how to read it\n• how to work with multiple jobs\n• how to work with paginated requests \nLet's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?","depth":22,"on_screen":true,"value":"So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:\n• updating activity (engagement, meeting, call, note)\n• searching for a company or contact\n• updating deal\n• patching IDs \nReview what the limit is at the moment in the HubSpot documentation and then think of the solution:\n• where to store it\n• how to read it\n• how to work with multiple jobs\n• how to work with paginated requests \nLet's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"updating activity (engagement, meeting, call, note)","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"searching for a company or contact","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"updating deal","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"patching IDs","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Review what the limit is at the moment in the HubSpot documentation and then think of the solution:","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"where to store it","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"how to read it","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"how to work with multiple jobs","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"how to work with paginated requests","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":24,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Sonnet 4.6","depth":24,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sonnet 4.6","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Send message","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Use incognito","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8152732881939354267
|
-3292590129430017892
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Click to collapse
Skip to content
Skip to content
Click to collapse
⌘B
Drag to resize
Open sidebar
Chat
Cowork
Code
New chat ⌘N
New chat
⌘N
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe retention policy code location
More options for Screenpipe retention policy code location
Viewing retention policy in screenpipe
More options for Viewing retention policy in screenpipe
Clean shot x video recording termination issue
More options for Clean shot x video recording termination issue
HubSpot rate limit handling with executeRequest
More options for HubSpot rate limit handling with executeRequest
Untitled
More options
💬 Screen pipe. Is there ability…
More options for 💬 Screen pipe. Is there ability…
SMB mount access inconsistency between Finder and iTerm
More options for SMB mount access inconsistency between Finder and iTerm
💬 What is the best switch I can…
More options for 💬 What is the best switch I can…
Permission denied on screenpipe volume
More options for Permission denied on screenpipe volume
Screenpipe sync database attachment error
More options for Screenpipe sync database attachment error
Last swimming outing with Dani
More options for Last swimming outing with Dani
Definition of incarcerated
More options for Definition of incarcerated
Chromecast remote volume buttons not working
More options for Chromecast remote volume buttons not working
Salesforce API errors with Organization and FieldDefinition queries
More options for Salesforce API errors with Organization and FieldDefinition queries
Daily activity summary from screenpipe data
More options for Daily activity summary from screenpipe data
MacBook unexpected restarts and kanji screen
More options for MacBook unexpected restarts and kanji screen
Security patch review and testing guidance
More options for Security patch review and testing guidance
Food calorie values reference
More options for Food calorie values reference
Tracking location history from last week
More options for Tracking location history from last week
Screenpipe WAL processing when stopped
More options for Screenpipe WAL processing when stopped
Lukas Pro
Get apps and extensions
Coffee and Claude time?
So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:
• updating activity (engagement, meeting, call, note)
• searching for a company or contact
• updating deal
• patching IDs
Review what the limit is at the moment in the HubSpot documentation and then think of the solution:
• where to store it
• how to read it
• how to work with multiple jobs
• how to work with paginated requests
Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?
So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:
updating activity (engagement, meeting, call, note)
searching for a company or contact
updating deal
patching IDs
Review what the limit is at the moment in the HubSpot documentation and then think of the solution:
where to store it
how to read it
how to work with multiple jobs
how to work with paginated requests
Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?
Add files, connectors, and more
Model: Sonnet 4.6
Sonnet 4.6
Send message
Use incognito...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
902
|
32
|
25
|
2026-05-07T07:41:14.304459+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778139674304_m2.jpg...
|
Claude
|
Claude
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Click to collapse
Skip to content
Skip to content
Click to collapse
⌘B
Drag to resize
Open sidebar
Chat
Cowork
Code
New chat ⌘N
New chat
⌘N
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe retention policy code location
More options for Screenpipe retention policy code location
Viewing retention policy in screenpipe
More options for Viewing retention policy in screenpipe
Clean shot x video recording termination issue
More options for Clean shot x video recording termination issue
HubSpot rate limit handling with executeRequest
More options for HubSpot rate limit handling with executeRequest
Untitled
More options
💬 Screen pipe. Is there ability…
More options for 💬 Screen pipe. Is there ability…
SMB mount access inconsistency between Finder and iTerm
More options for SMB mount access inconsistency between Finder and iTerm
💬 What is the best switch I can…
More options for 💬 What is the best switch I can…
Permission denied on screenpipe volume
More options for Permission denied on screenpipe volume
Screenpipe sync database attachment error
More options for Screenpipe sync database attachment error
Last swimming outing with Dani
More options for Last swimming outing with Dani
Definition of incarcerated
More options for Definition of incarcerated
Chromecast remote volume buttons not working
More options for Chromecast remote volume buttons not working
Salesforce API errors with Organization and FieldDefinition queries
More options for Salesforce API errors with Organization and FieldDefinition queries
Daily activity summary from screenpipe data
More options for Daily activity summary from screenpipe data
MacBook unexpected restarts and kanji screen
More options for MacBook unexpected restarts and kanji screen
Security patch review and testing guidance
More options for Security patch review and testing guidance
Food calorie values reference
More options for Food calorie values reference
Tracking location history from last week
More options for Tracking location history from last week
Screenpipe WAL processing when stopped
More options for Screenpipe WAL processing when stopped
Lukas Pro
Get apps and extensions
Coffee and Claude time?
So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:
• updating activity (engagement, meeting, call, note)
• searching for a company or contact
• updating deal
• patching IDs
Review what the limit is at the moment in the HubSpot documentation and then think of the solution:
• where to store it
• how to read it
• how to work with multiple jobs
• how to work with paginated requests
Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?
So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:
updating activity (engagement, meeting, call, note)
searching for a company or contact
updating deal
patching IDs
Review what the limit is at the moment in the HubSpot documentation and then think of the solution:
where to store it
how to read it
how to work with multiple jobs
how to work with paginated requests
Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?
Add files, connectors, and more
Model: Sonnet 4.6
Sonnet 4.6
Send message
Use incognito...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.029587766,"top":0.03830806,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Click to collapse","depth":16,"bounds":{"left":0.10239362,"top":0.06703911,"width":0.030585106,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.10239362,"top":0.06703911,"width":0.0029920214,"height":0.011971269}},{"char_start":1,"char_count":16,"bounds":{"left":0.10538564,"top":0.06703911,"width":0.027925532,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"⌘B","depth":16,"bounds":{"left":0.1349734,"top":0.06703911,"width":0.0063164895,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drag to resize","depth":16,"bounds":{"left":0.10239362,"top":0.079010375,"width":0.025930852,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.10239362,"top":0.079010375,"width":0.0029920214,"height":0.011971269}},{"char_start":1,"char_count":13,"bounds":{"left":0.10538564,"top":0.079010375,"width":0.022938829,"height":0.011971269}}],"role_description":"text"},{"role":"AXButton","text":"Open sidebar","depth":14,"bounds":{"left":0.029920213,"top":0.02793296,"width":0.00930851,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.004986702,"top":0.059856344,"width":0.025930852,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.03158245,"top":0.059856344,"width":0.03125,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.0631649,"top":0.059856344,"width":0.026928192,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat ⌘N","depth":15,"bounds":{"left":0.0043218085,"top":0.08938547,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New chat","depth":16,"bounds":{"left":0.014295213,"top":0.0933759,"width":0.018949468,"height":0.012769354},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014295213,"top":0.0933759,"width":0.003656915,"height":0.013567438}},{"char_start":1,"char_count":7,"bounds":{"left":0.01761968,"top":0.0933759,"width":0.015957447,"height":0.013567438}}],"role_description":"text"},{"role":"AXStaticText","text":"⌘N","depth":17,"bounds":{"left":0.08178192,"top":0.0933759,"width":0.006981383,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Projects","depth":15,"bounds":{"left":0.0043218085,"top":0.110135674,"width":0.08643617,"height":0.019952115},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":15,"bounds":{"left":0.0043218085,"top":0.1300878,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":15,"bounds":{"left":0.0043218085,"top":0.15003991,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.0063164895,"top":0.18914606,"width":0.08377659,"height":0.013567438},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.0043218085,"top":0.20590582,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":19,"bounds":{"left":0.08344415,"top":0.20909816,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":18,"bounds":{"left":0.0043218085,"top":0.22745411,"width":0.08643617,"height":0.019952115},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":19,"bounds":{"left":0.08344415,"top":0.22984837,"width":0.005984043,"height":0.015163607},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.0063164895,"top":0.25698325,"width":0.06349734,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.07114362,"top":0.25698325,"width":0.018949468,"height":0.012769354},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe retention policy code location","depth":18,"bounds":{"left":0.0043218085,"top":0.27294493,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe retention policy code location","depth":19,"bounds":{"left":0.08344415,"top":0.27613726,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Viewing retention policy in screenpipe","depth":18,"bounds":{"left":0.0043218085,"top":0.29449323,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Viewing retention policy in screenpipe","depth":19,"bounds":{"left":0.08344415,"top":0.29768556,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Clean shot x video recording termination issue","depth":18,"bounds":{"left":0.0043218085,"top":0.31524342,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Clean shot x video recording termination issue","depth":19,"bounds":{"left":0.08344415,"top":0.31843576,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HubSpot rate limit handling with executeRequest","depth":18,"bounds":{"left":0.0043218085,"top":0.3367917,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for HubSpot rate limit handling with executeRequest","depth":19,"bounds":{"left":0.08344415,"top":0.33998403,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Untitled","depth":18,"bounds":{"left":0.0043218085,"top":0.3575419,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options","depth":19,"bounds":{"left":0.08344415,"top":0.36073422,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"💬 Screen pipe. Is there ability…","depth":18,"bounds":{"left":0.0043218085,"top":0.3790902,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for 💬 Screen pipe. Is there ability…","depth":19,"bounds":{"left":0.08344415,"top":0.38228253,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"SMB mount access inconsistency between Finder and iTerm","depth":18,"bounds":{"left":0.0043218085,"top":0.39984038,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for SMB mount access inconsistency between Finder and iTerm","depth":19,"bounds":{"left":0.08344415,"top":0.40303272,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"💬 What is the best switch I can…","depth":18,"bounds":{"left":0.0043218085,"top":0.42138866,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for 💬 What is the best switch I can…","depth":19,"bounds":{"left":0.08344415,"top":0.4237829,"width":0.005984043,"height":0.015163607},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Permission denied on screenpipe volume","depth":18,"bounds":{"left":0.0043218085,"top":0.44213888,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Permission denied on screenpipe volume","depth":19,"bounds":{"left":0.08344415,"top":0.44533122,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe sync database attachment error","depth":18,"bounds":{"left":0.0043218085,"top":0.46288908,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe sync database attachment error","depth":19,"bounds":{"left":0.08344415,"top":0.4660814,"width":0.005984043,"height":0.015163607},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Last swimming outing with Dani","depth":18,"bounds":{"left":0.0043218085,"top":0.48443735,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Last swimming outing with Dani","depth":19,"bounds":{"left":0.08344415,"top":0.48762968,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Definition of incarcerated","depth":18,"bounds":{"left":0.0043218085,"top":0.5051876,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Definition of incarcerated","depth":19,"bounds":{"left":0.08344415,"top":0.5083799,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chromecast remote volume buttons not working","depth":18,"bounds":{"left":0.0043218085,"top":0.52673584,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Chromecast remote volume buttons not working","depth":19,"bounds":{"left":0.08344415,"top":0.52992815,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Salesforce API errors with Organization and FieldDefinition queries","depth":18,"bounds":{"left":0.0043218085,"top":0.547486,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Salesforce API errors with Organization and FieldDefinition queries","depth":19,"bounds":{"left":0.08344415,"top":0.5506784,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Daily activity summary from screenpipe data","depth":18,"bounds":{"left":0.0043218085,"top":0.56903434,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Daily activity summary from screenpipe data","depth":19,"bounds":{"left":0.08344415,"top":0.57222664,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"MacBook unexpected restarts and kanji screen","depth":18,"bounds":{"left":0.0043218085,"top":0.5897845,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for MacBook unexpected restarts and kanji screen","depth":19,"bounds":{"left":0.08344415,"top":0.59297687,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Security patch review and testing guidance","depth":18,"bounds":{"left":0.0043218085,"top":0.6113328,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Security patch review and testing guidance","depth":19,"bounds":{"left":0.08344415,"top":0.61452514,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Food calorie values reference","depth":18,"bounds":{"left":0.0043218085,"top":0.632083,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Food calorie values reference","depth":19,"bounds":{"left":0.08344415,"top":0.63527536,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tracking location history from last week","depth":18,"bounds":{"left":0.0043218085,"top":0.65363127,"width":0.08643617,"height":0.0207502},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Tracking location history from last week","depth":19,"bounds":{"left":0.08344415,"top":0.65682364,"width":0.005984043,"height":0.014365523},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe WAL processing when stopped","depth":18,"bounds":{"left":0.0043218085,"top":0.6743815,"width":0.08643617,"height":0.011173184},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe WAL processing when stopped","depth":19,"bounds":{"left":0.08344415,"top":0.6775738,"width":0.005984043,"height":0.007980846},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Lukas Pro","depth":15,"bounds":{"left":0.0043218085,"top":0.6943336,"width":0.037898935,"height":0.01915403},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.08277926,"top":0.6943336,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Coffee and Claude time?","depth":18,"bounds":{"left":0.18550532,"top":0.3056664,"width":0.1462766,"height":0.040702313},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.18583776,"top":0.3064645,"width":0.010305851,"height":0.03990423}},{"char_start":1,"char_count":22,"bounds":{"left":0.19614361,"top":0.3064645,"width":0.1356383,"height":0.03990423}}],"role_description":"text"},{"role":"AXTextArea","text":"So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:\n• updating activity (engagement, meeting, call, note)\n• searching for a company or contact\n• updating deal\n• patching IDs \nReview what the limit is at the moment in the HubSpot documentation and then think of the solution:\n• where to store it\n• how to read it\n• how to work with multiple jobs\n• how to work with paginated requests \nLet's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?","depth":22,"bounds":{"left":0.14660904,"top":0.39185953,"width":0.21210106,"height":0.28651237},"on_screen":true,"value":"So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:\n• updating activity (engagement, meeting, call, note)\n• searching for a company or contact\n• updating deal\n• patching IDs \nReview what the limit is at the moment in the HubSpot documentation and then think of the solution:\n• where to store it\n• how to read it\n• how to work with multiple jobs\n• how to work with paginated requests \nLet's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:","depth":24,"bounds":{"left":0.14660904,"top":0.3926576,"width":0.20611702,"height":0.0518755},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.14660904,"top":0.3934557,"width":0.0033244682,"height":0.015961692}},{"char_start":1,"char_count":247,"bounds":{"left":0.14660904,"top":0.3934557,"width":0.20611702,"height":0.0518755}}],"role_description":"text"},{"role":"AXStaticText","text":"updating activity (engagement, meeting, call, note)","depth":26,"bounds":{"left":0.15724733,"top":0.4461293,"width":0.12666224,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.15724733,"top":0.44692737,"width":0.0033244682,"height":0.015961692}},{"char_start":1,"char_count":50,"bounds":{"left":0.16057181,"top":0.44692737,"width":0.123005316,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"searching for a company or contact","depth":26,"bounds":{"left":0.15724733,"top":0.46448523,"width":0.087765954,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.15724733,"top":0.46448523,"width":0.0026595744,"height":0.016759777}},{"char_start":1,"char_count":33,"bounds":{"left":0.15990691,"top":0.46448523,"width":0.08510638,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"updating deal","depth":26,"bounds":{"left":0.15724733,"top":0.4820431,"width":0.033909574,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.15724733,"top":0.4828412,"width":0.0033244682,"height":0.015961692}},{"char_start":1,"char_count":12,"bounds":{"left":0.16057181,"top":0.4828412,"width":0.030917553,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"patching IDs","depth":26,"bounds":{"left":0.15724733,"top":0.49960095,"width":0.03125,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.15724733,"top":0.50039905,"width":0.0033244682,"height":0.015961692}},{"char_start":1,"char_count":11,"bounds":{"left":0.16057181,"top":0.50039905,"width":0.027925532,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"Review what the limit is at the moment in the HubSpot documentation and then think of the solution:","depth":24,"bounds":{"left":0.14660904,"top":0.5179569,"width":0.19980054,"height":0.03431764},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.14660904,"top":0.5179569,"width":0.0013297872,"height":0.016759777}},{"char_start":1,"char_count":98,"bounds":{"left":0.14660904,"top":0.5179569,"width":0.19980054,"height":0.03431764}}],"role_description":"text"},{"role":"AXStaticText","text":"where to store it","depth":26,"bounds":{"left":0.15724733,"top":0.55387074,"width":0.041223403,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.15724733,"top":0.55387074,"width":0.0043218085,"height":0.016759777}},{"char_start":1,"char_count":16,"bounds":{"left":0.16156915,"top":0.55387074,"width":0.036901597,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"how to read it","depth":26,"bounds":{"left":0.15724733,"top":0.5714286,"width":0.034242023,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.15724733,"top":0.57222664,"width":0.0033244682,"height":0.015961692}},{"char_start":1,"char_count":13,"bounds":{"left":0.16057181,"top":0.57222664,"width":0.030917553,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"how to work with multiple jobs","depth":26,"bounds":{"left":0.15724733,"top":0.58898646,"width":0.076130316,"height":0.016759777},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.15724733,"top":0.5897845,"width":0.0033244682,"height":0.015961692}},{"char_start":1,"char_count":29,"bounds":{"left":0.16057181,"top":0.5897845,"width":0.07280585,"height":0.015961692}}],"role_description":"text"},{"role":"AXStaticText","text":"how to work with paginated requests","depth":26,"bounds":{"left":0.15724733,"top":0.60734236,"width":0.09242021,"height":0.015961692},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.15724733,"top":0.60734236,"width":0.0033244682,"height":0.016759777}},{"char_start":1,"char_count":34,"bounds":{"left":0.16057181,"top":0.60734236,"width":0.08909574,"height":0.016759777}}],"role_description":"text"},{"role":"AXStaticText","text":"Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?","depth":24,"bounds":{"left":0.14660904,"top":0.6249002,"width":0.2081117,"height":0.052673582},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.14660904,"top":0.6256983,"width":0.0013297872,"height":0.015961692}},{"char_start":1,"char_count":187,"bounds":{"left":0.14660904,"top":0.6256983,"width":0.2081117,"height":0.0518755}}],"role_description":"text"},{"role":"AXPopUpButton","text":"Add files, connectors, and more","depth":24,"bounds":{"left":0.14527926,"top":0.68715084,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Model: Sonnet 4.6","depth":24,"bounds":{"left":0.31083778,"top":0.68715084,"width":0.034574468,"height":0.026336791},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Sonnet 4.6","depth":26,"bounds":{"left":0.31416222,"top":0.6927374,"width":0.023271276,"height":0.014365523},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.31416222,"top":0.6935355,"width":0.0029920214,"height":0.014365523}},{"char_start":1,"char_count":9,"bounds":{"left":0.3168218,"top":0.6935355,"width":0.020611702,"height":0.014365523}}],"role_description":"text"},{"role":"AXButton","text":"Send message","depth":23,"bounds":{"left":0.3480718,"top":0.68715084,"width":0.010638298,"height":0.026336791},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Use incognito","depth":19,"bounds":{"left":0.48537233,"top":0.02793296,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8152732881939354267
|
-3292590129430017892
|
click
|
accessibility
|
NULL
|
Skip to content
Skip to content
Click to collapse
Skip to content
Skip to content
Click to collapse
⌘B
Drag to resize
Open sidebar
Chat
Cowork
Code
New chat ⌘N
New chat
⌘N
Projects
Artifacts
Customize
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Screenpipe retention policy code location
More options for Screenpipe retention policy code location
Viewing retention policy in screenpipe
More options for Viewing retention policy in screenpipe
Clean shot x video recording termination issue
More options for Clean shot x video recording termination issue
HubSpot rate limit handling with executeRequest
More options for HubSpot rate limit handling with executeRequest
Untitled
More options
💬 Screen pipe. Is there ability…
More options for 💬 Screen pipe. Is there ability…
SMB mount access inconsistency between Finder and iTerm
More options for SMB mount access inconsistency between Finder and iTerm
💬 What is the best switch I can…
More options for 💬 What is the best switch I can…
Permission denied on screenpipe volume
More options for Permission denied on screenpipe volume
Screenpipe sync database attachment error
More options for Screenpipe sync database attachment error
Last swimming outing with Dani
More options for Last swimming outing with Dani
Definition of incarcerated
More options for Definition of incarcerated
Chromecast remote volume buttons not working
More options for Chromecast remote volume buttons not working
Salesforce API errors with Organization and FieldDefinition queries
More options for Salesforce API errors with Organization and FieldDefinition queries
Daily activity summary from screenpipe data
More options for Daily activity summary from screenpipe data
MacBook unexpected restarts and kanji screen
More options for MacBook unexpected restarts and kanji screen
Security patch review and testing guidance
More options for Security patch review and testing guidance
Food calorie values reference
More options for Food calorie values reference
Tracking location history from last week
More options for Tracking location history from last week
Screenpipe WAL processing when stopped
More options for Screenpipe WAL processing when stopped
Lukas Pro
Get apps and extensions
Coffee and Claude time?
So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:
• updating activity (engagement, meeting, call, note)
• searching for a company or contact
• updating deal
• patching IDs
Review what the limit is at the moment in the HubSpot documentation and then think of the solution:
• where to store it
• how to read it
• how to work with multiple jobs
• how to work with paginated requests
Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?
So just a solution for rate limit implementation. The situation currently is that there are some daily and secondary limits for HubSpot. I would like to make sure I never reach a 429 error rate limit. The requests can come from any flow. It can be:
updating activity (engagement, meeting, call, note)
searching for a company or contact
updating deal
patching IDs
Review what the limit is at the moment in the HubSpot documentation and then think of the solution:
where to store it
how to read it
how to work with multiple jobs
how to work with paginated requests
Let's consider a situation when there are 600 opportunities to sync. What would be the flow? How would the rate limit be recognized? How would it be handled? What are the potential issues?
Add files, connectors, and more
Model: Sonnet 4.6
Sonnet 4.6
Send message
Use incognito...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
4682
|
169
|
20
|
2026-05-07T14:21:10.152363+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778163670152_m1.jpg...
|
iTerm2
|
DEV (docker)
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpA Lukas/Stefka 121 • in 9 m100% <47DOCKERO 81DEV (docker)H82APP (-zsh)DEV (docker)883-zsh• $4screenpipe*configcachecompiledeventsroutesviewsjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedjiminny-worker-processing-2:jiminny-worker-processing-2_00:stoppedjiminny-worker-processing-3:jiminny-worker-processing-3_00:stoppedjiminny-worker-processing-4:jiminny-worker-processing-4_00:stoppedjiminny-worker-processing-5:jiminny-worker-processing-5_00:stoppedworker-analytics:worker-analytics_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00: stoppedworker-nudges:worker-nudges_00: stoppedworker-conferences:worker-conferences_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker:worker_00: stoppedworker-audio:worker-audio_00: stoppedworker-calendar:worker-calendar_00: stoppedworker-crm-sync:worker-crm-sync_00: stoppedworker-emails:worker-emails_00: stoppedworker-es-update:worker-es-update_00: stoppedartisan-schedule:artisan-schedule_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2: jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00: startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00:startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00:startedroot@docker_lamp_1:/home/jiminny#php artisan optimize:clear && supervisorctl restart all• ₴56.77ms DONE25.55ms DONE3.87ms DONE4.96ms DONE2.23ms DONE7.50ms DONE-zshThu 7 May 17:21:11T&1*6DEV...
|
NULL
|
8152178490315095210
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpA Lukas/Stefka 121 • in 9 m100% <47DOCKERO 81DEV (docker)H82APP (-zsh)DEV (docker)883-zsh• $4screenpipe*configcachecompiledeventsroutesviewsjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedjiminny-worker-processing-2:jiminny-worker-processing-2_00:stoppedjiminny-worker-processing-3:jiminny-worker-processing-3_00:stoppedjiminny-worker-processing-4:jiminny-worker-processing-4_00:stoppedjiminny-worker-processing-5:jiminny-worker-processing-5_00:stoppedworker-analytics:worker-analytics_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00: stoppedworker-nudges:worker-nudges_00: stoppedworker-conferences:worker-conferences_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker:worker_00: stoppedworker-audio:worker-audio_00: stoppedworker-calendar:worker-calendar_00: stoppedworker-crm-sync:worker-crm-sync_00: stoppedworker-emails:worker-emails_00: stoppedworker-es-update:worker-es-update_00: stoppedartisan-schedule:artisan-schedule_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2: jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00: startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00:startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00:startedroot@docker_lamp_1:/home/jiminny#php artisan optimize:clear && supervisorctl restart all• ₴56.77ms DONE25.55ms DONE3.87ms DONE4.96ms DONE2.23ms DONE7.50ms DONE-zshThu 7 May 17:21:11T&1*6DEV...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
24473
|
1022
|
5
|
2026-05-12T09:17:40.464384+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778577460464_m1.jpg...
|
Slack
|
Toast (DM) - Jiminny Inc - 4 new items - Slack
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Galya Dimitrova
Steliyan Georgiev
Petko Kashinski
Aneliya Angelova
Stefka Stoyanova
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Google Calendar
Home
Messages
Messages
About
Jump to date
Toast
APP
Today at 10:00:03 AM
10:00 AM
Review
prophet
#507 JY-20361: Add call scores in Panorama
#507 JY-20361: Add call scores in Panorama
35 minutes old・9 files changed・
@Steliyan Georgiev
@Steliyan Georgiev
Added by
Toast for GitHub
Toast for GitHub
app
#12059 Jy 20820 es reindex stream model hydration
#12059 Jy 20820 es reindex stream model hydration
3 days old・12 files changed・
@Vasil Vasilev
@Vasil Vasilev
Added by
Toast for GitHub
Toast for GitHub
Merge
app
#12066 JY-20725 add HS rate limit handling on activities rematching
#12066 JY-20725 add HS rate limit handling on activities rematching
4 minutes old・12 files changed
Added by
Toast for GitHub
Toast for GitHub
Resolve Conflicts
app
#11443 Test hublets latency
#11443 Test hublets latency
5 months old・20 files changed
#11327 JY-19501 webhook based opportunity sync
#11327 JY-19501 webhook based opportunity sync
Show more
Added by
Toast for GitHub
Toast for GitHub
Needs Love
app
#12024 JY-20773 fix user pilot tracking ofr automated report generated
#12024 JY-20773 fix user pilot tracking ofr automated report generated
13 days old・1 file changed
Added by
Toast for GitHub
Toast for GitHub
New
Messenger Toast
APP
Today at 11:51:12 AM
11:51 AM
#12066 JY-20725 add HS rate limit handling on activities rematching - Comment Review
@Vasil Vasilev
@Vasil Vasilev
commented on your PR
#12066 JY-20725 add HS rate limit handling on activities rematching
#12066 JY-20725 add HS rate limit handling on activities rematching
You can wrap this entire section in a something like validateRateLimitLock / validateRateLimitCache method that does all the checks and throws an exception if necessary. It will make the method a bit
…
Show more
jiminny/app
jiminny/app
Added by
Toast for GitHub
Toast for GitHub
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 11:52:54 AM
11:52
#12066 JY-20725 add HS rate limit handling on activities rematching - Comment Review
@Vasil Vasilev
@Vasil Vasilev
commented on your PR
#12066 JY-20725 add HS rate limit handling on activities rematching
#12066 JY-20725 add HS rate limit handling on activities rematching
Overall good PR. I've added a comment for minor optimisation, but overall looks like a solid PR.
jiminny/app
jiminny/app
Added by
Toast for GitHub
Toast for GitHub
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Processing uploaded file… complete! Message ready to be sent.
Channel...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.20347223,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"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.19791667,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20555556,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.19791667,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20763889,"top":0.26777777,"width":0.016666668,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.19791667,"top":0.2911111,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20277777,"top":0.34333333,"width":0.027083334,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.20277777,"top":0.34333333,"width":0.0055555557,"height":0.015555556}},{"char_start":1,"char_count":7,"bounds":{"left":0.20763889,"top":0.34333333,"width":0.022222223,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.19791667,"top":0.36666667,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20833333,"top":0.4188889,"width":0.015972223,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.20833333,"top":0.4188889,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":4,"bounds":{"left":0.2125,"top":0.4188889,"width":0.011805556,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.19791667,"top":0.4422222,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20694445,"top":0.49444443,"width":0.018055556,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.19791667,"top":0.5177778,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20694445,"top":0.57,"width":0.01875,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.37638888,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.050694443,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.09166667,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.093055554,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.046527777,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.025694445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.022222223,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.072222225,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.27986112,"top":0.13333334,"width":0.057638887,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.27986112,"top":0.13333334,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":12,"bounds":{"left":0.2847222,"top":0.13333334,"width":0.05277778,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.27986112,"top":0.16444445,"width":0.054166667,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"bounds":{"left":0.27986112,"top":0.19555555,"width":0.034027778,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"bounds":{"left":0.27986112,"top":0.22666667,"width":0.048611112,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"bounds":{"left":0.27986112,"top":0.25777778,"width":0.072916664,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.27986112,"top":0.25777778,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":15,"bounds":{"left":0.28611112,"top":0.25777778,"width":0.06666667,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"bounds":{"left":0.27986112,"top":0.2888889,"width":0.08055556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"bounds":{"left":0.27986112,"top":0.32,"width":0.035416666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"bounds":{"left":0.27986112,"top":0.3511111,"width":0.036805555,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"bounds":{"left":0.27986112,"top":0.38222224,"width":0.05138889,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.27986112,"top":0.38222224,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":11,"bounds":{"left":0.2847222,"top":0.38222224,"width":0.045833334,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"bounds":{"left":0.27986112,"top":0.41333333,"width":0.036111113,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"bounds":{"left":0.27986112,"top":0.44444445,"width":0.05138889,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"bounds":{"left":0.27986112,"top":0.47555557,"width":0.094444446,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.27986112,"top":0.47555557,"width":0.004166667,"height":0.02}},{"char_start":1,"char_count":20,"bounds":{"left":0.28402779,"top":0.47555557,"width":0.09861111,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"bounds":{"left":0.27986112,"top":0.54888886,"width":0.07361111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"bounds":{"left":0.27986112,"top":0.58,"width":0.07986111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Petko Kashinski","depth":23,"bounds":{"left":0.27986112,"top":0.6111111,"width":0.072222225,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"bounds":{"left":0.27986112,"top":0.6422222,"width":0.07847222,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"bounds":{"left":0.27986112,"top":0.67333335,"width":0.079166666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"bounds":{"left":0.27986112,"top":0.70444447,"width":0.055555556,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.27986112,"top":0.70444447,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":12,"bounds":{"left":0.28611112,"top":0.70444447,"width":0.048611112,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":24,"bounds":{"left":0.27986112,"top":0.7355555,"width":0.06736111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"bounds":{"left":0.27986112,"top":0.76666665,"width":0.07847222,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"bounds":{"left":0.35833332,"top":0.76666665,"width":0.013194445,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"bounds":{"left":0.36319444,"top":0.76666665,"width":0.029861111,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.36319444,"top":0.76666665,"width":0.008333334,"height":0.02}},{"char_start":1,"char_count":13,"bounds":{"left":0.3715278,"top":0.76666665,"width":0.060416665,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"bounds":{"left":0.27986112,"top":0.7977778,"width":0.060416665,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":23,"bounds":{"left":0.27986112,"top":0.8288889,"width":0.061805554,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you","depth":23,"bounds":{"left":0.3472222,"top":0.8288889,"width":0.013194445,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.3472222,"top":0.8288889,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":2,"bounds":{"left":0.35208333,"top":0.8288889,"width":0.011805556,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"bounds":{"left":0.27986112,"top":0.9022222,"width":0.045833334,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"bounds":{"left":0.27986112,"top":0.93333334,"width":0.024305556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":23,"bounds":{"left":0.27986112,"top":0.96444446,"width":0.06388889,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.27986112,"top":0.96444446,"width":0.007638889,"height":0.02}},{"char_start":1,"char_count":14,"bounds":{"left":0.2875,"top":0.96444446,"width":0.06875,"height":0.02}}],"role_description":"text"},{"role":"AXRadioButton","text":"Home","depth":17,"bounds":{"left":0.41041666,"top":0.12888889,"width":0.025,"height":0.04},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Messages","depth":17,"bounds":{"left":0.45416668,"top":0.12888889,"width":0.039583333,"height":0.04},"on_screen":true,"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.45416668,"top":0.14,"width":0.039583333,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"About","depth":17,"bounds":{"left":0.51319444,"top":0.12888889,"width":0.025,"height":0.04},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"bounds":{"left":0.66875,"top":0.17555556,"width":0.05277778,"height":0.031111112},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Toast","depth":24,"bounds":{"left":0.43819445,"top":0.16,"width":0.025694445,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":24,"bounds":{"left":0.46805555,"top":0.16,"width":0.013888889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.48402777,"top":0.16,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 10:00:03 AM","depth":24,"bounds":{"left":0.4888889,"top":0.16,"width":0.0375,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:00 AM","depth":25,"bounds":{"left":0.4888889,"top":0.16,"width":0.0375,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Review","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.034027778,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"prophet","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.0375,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"#507 JY-20361: Add call scores in Panorama","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.20555556,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"#507 JY-20361: Add call scores in Panorama","depth":28,"bounds":{"left":0.44930556,"top":0.16,"width":0.20555556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"35 minutes old・9 files changed・","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.15763889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"@Steliyan Georgiev","depth":27,"bounds":{"left":0.60625,"top":0.16,"width":0.09166667,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"@Steliyan Georgiev","depth":28,"bounds":{"left":0.6076389,"top":0.16,"width":0.08888889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":26,"bounds":{"left":0.44930556,"top":0.16,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Toast for GitHub","depth":26,"bounds":{"left":0.4861111,"top":0.16,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Toast for GitHub","depth":27,"bounds":{"left":0.4861111,"top":0.16,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.017361112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"#12059 Jy 20820 es reindex stream model hydration","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.24375,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"#12059 Jy 20820 es reindex stream model hydration","depth":28,"bounds":{"left":0.44930556,"top":0.16,"width":0.24375,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3 days old・12 files changed・","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.14166667,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"@Vasil Vasilev","depth":27,"bounds":{"left":0.59097224,"top":0.16,"width":0.06666667,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"@Vasil Vasilev","depth":28,"bounds":{"left":0.5923611,"top":0.16,"width":0.06388889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":26,"bounds":{"left":0.44930556,"top":0.16,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Toast for GitHub","depth":26,"bounds":{"left":0.4861111,"top":0.16,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Toast for GitHub","depth":27,"bounds":{"left":0.4861111,"top":0.16,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Merge","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.030555556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.017361112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"#12066 JY-20725 add HS rate limit handling on activities rematching","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.31875,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"#12066 JY-20725 add HS rate limit handling on activities rematching","depth":28,"bounds":{"left":0.44930556,"top":0.16,"width":0.31875,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4 minutes old・12 files changed","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.14722222,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":26,"bounds":{"left":0.44930556,"top":0.16,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Toast for GitHub","depth":26,"bounds":{"left":0.4861111,"top":0.16,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Toast for GitHub","depth":27,"bounds":{"left":0.4861111,"top":0.16,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Resolve Conflicts","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.07986111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.017361112,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"#11443 Test hublets latency","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.13055556,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"#11443 Test hublets latency","depth":28,"bounds":{"left":0.44930556,"top":0.16,"width":0.13055556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5 months old・20 files changed","depth":27,"bounds":{"left":0.44930556,"top":0.16,"width":0.14513889,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"#11327 JY-19501 webhook based opportunity sync","depth":27,"bounds":{"left":0.44930556,"top":0.16111112,"width":0.23958333,"height":0.02},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"#11327 JY-19501 webhook based opportunity sync","depth":28,"bounds":{"left":0.44930556,"top":0.16111112,"width":0.23958333,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":26,"bounds":{"left":0.44930556,"top":0.18333334,"width":0.052083332,"height":0.024444444},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Added by","depth":26,"bounds":{"left":0.44930556,"top":0.21666667,"width":0.036805555,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Toast for GitHub","depth":26,"bounds":{"left":0.4861111,"top":0.21666667,"width":0.06111111,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Toast for GitHub","depth":27,"bounds":{"left":0.4861111,"top":0.21666667,"width":0.06111111,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.4861111,"top":0.21666667,"width":0.004166667,"height":0.016666668}},{"char_start":1,"char_count":15,"bounds":{"left":0.48958334,"top":0.21666667,"width":0.057638887,"height":0.016666668}}],"role_description":"text"},{"role":"AXStaticText","text":"Needs Love","depth":27,"bounds":{"left":0.44930556,"top":0.24666667,"width":0.054166667,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.44930556,"top":0.2711111,"width":0.017361112,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"#12024 JY-20773 fix user pilot tracking ofr automated report generated","depth":27,"bounds":{"left":0.44930556,"top":0.29555556,"width":0.3326389,"height":0.02},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"#12024 JY-20773 fix user pilot tracking ofr automated report generated","depth":28,"bounds":{"left":0.44930556,"top":0.29555556,"width":0.3326389,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"13 days old・1 file changed","depth":27,"bounds":{"left":0.44930556,"top":0.32,"width":0.12708333,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":26,"bounds":{"left":0.44930556,"top":0.35555556,"width":0.036805555,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Toast for GitHub","depth":26,"bounds":{"left":0.4861111,"top":0.35555556,"width":0.06111111,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Toast for GitHub","depth":27,"bounds":{"left":0.4861111,"top":0.35555556,"width":0.06111111,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.4861111,"top":0.35555556,"width":0.004166667,"height":0.016666668}},{"char_start":1,"char_count":15,"bounds":{"left":0.48958334,"top":0.35555556,"width":0.057638887,"height":0.016666668}}],"role_description":"text"},{"role":"AXStaticText","text":"New","depth":22,"bounds":{"left":0.96458334,"top":0.37222221,"width":0.01875,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Messenger Toast","depth":24,"bounds":{"left":0.43819445,"top":0.38555557,"width":0.07847222,"height":0.024444444},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"APP","depth":24,"bounds":{"left":0.52152777,"top":0.3911111,"width":0.013888889,"height":0.013333334},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.53680557,"top":0.38777778,"width":0.0055555557,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 11:51:12 AM","depth":24,"bounds":{"left":0.54236114,"top":0.3911111,"width":0.036805555,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:51 AM","depth":25,"bounds":{"left":0.54236114,"top":0.3911111,"width":0.036805555,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#12066 JY-20725 add HS rate limit handling on activities rematching - Comment Review","depth":25,"bounds":{"left":0.43819445,"top":0.41222224,"width":0.40486112,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"@Vasil Vasilev","depth":27,"bounds":{"left":0.44930556,"top":0.4422222,"width":0.068055555,"height":0.022222223},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"@Vasil Vasilev","depth":28,"bounds":{"left":0.45069444,"top":0.44333333,"width":0.06527778,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"commented on your PR","depth":27,"bounds":{"left":0.51666665,"top":0.44333333,"width":0.11111111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"#12066 JY-20725 add HS rate limit handling on activities rematching","depth":27,"bounds":{"left":0.44930556,"top":0.4677778,"width":0.31875,"height":0.02},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"#12066 JY-20725 add HS rate limit handling on activities rematching","depth":28,"bounds":{"left":0.44930556,"top":0.4677778,"width":0.31875,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"You can wrap this entire section in a something like validateRateLimitLock / validateRateLimitCache method that does all the checks and throws an exception if necessary. It will make the method a bit","depth":27,"bounds":{"left":0.44930556,"top":0.49222222,"width":0.33541667,"height":0.06888889},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.44930556,"top":0.49222222,"width":0.0055555557,"height":0.02}},{"char_start":1,"char_count":198,"bounds":{"left":0.44930556,"top":0.49222222,"width":0.33541667,"height":0.06888889}}],"role_description":"text"},{"role":"AXStaticText","text":"…","depth":27,"bounds":{"left":0.68472224,"top":0.5411111,"width":0.008333334,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":26,"bounds":{"left":0.44930556,"top":0.56333333,"width":0.052083332,"height":0.024444444},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"jiminny/app","depth":26,"bounds":{"left":0.44930556,"top":0.6011111,"width":0.047222223,"height":0.017777778},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":27,"bounds":{"left":0.44930556,"top":0.6011111,"width":0.047222223,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":26,"bounds":{"left":0.44930556,"top":0.63,"width":0.036805555,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Toast for GitHub","depth":26,"bounds":{"left":0.4861111,"top":0.63,"width":0.06111111,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Toast for GitHub","depth":27,"bounds":{"left":0.4861111,"top":0.63,"width":0.06111111,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.4861111,"top":0.63,"width":0.004166667,"height":0.016666668}},{"char_start":1,"char_count":15,"bounds":{"left":0.48958334,"top":0.63,"width":0.057638887,"height":0.016666668}}],"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"bounds":{"left":0.8041667,"top":0.36777776,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.8263889,"top":0.36777776,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.8486111,"top":0.36777776,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.87083334,"top":0.36777776,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.89305556,"top":0.36777776,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.9152778,"top":0.36777776,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.9375,"top":0.36777776,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"bounds":{"left":0.9597222,"top":0.36777776,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Today at 11:52:54 AM","depth":25,"bounds":{"left":0.41111112,"top":0.66555554,"width":0.021527778,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:52","depth":26,"bounds":{"left":0.41111112,"top":0.66555554,"width":0.021527778,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#12066 JY-20725 add HS rate limit handling on activities rematching - Comment Review","depth":25,"bounds":{"left":0.43819445,"top":0.6622222,"width":0.40486112,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"@Vasil Vasilev","depth":27,"bounds":{"left":0.44930556,"top":0.69222224,"width":0.068055555,"height":0.022222223},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"@Vasil Vasilev","depth":28,"bounds":{"left":0.45069444,"top":0.6933333,"width":0.06527778,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"commented on your PR","depth":27,"bounds":{"left":0.51666665,"top":0.6933333,"width":0.11111111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"#12066 JY-20725 add HS rate limit handling on activities rematching","depth":27,"bounds":{"left":0.44930556,"top":0.7177778,"width":0.31875,"height":0.02},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"#12066 JY-20725 add HS rate limit handling on activities rematching","depth":28,"bounds":{"left":0.44930556,"top":0.7177778,"width":0.31875,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Overall good PR. I've added a comment for minor optimisation, but overall looks like a solid PR.","depth":27,"bounds":{"left":0.44930556,"top":0.74222225,"width":0.30416667,"height":0.044444446},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.44930556,"top":0.74222225,"width":0.008333334,"height":0.02}},{"char_start":1,"char_count":95,"bounds":{"left":0.44930556,"top":0.74222225,"width":0.30416667,"height":0.044444446}}],"role_description":"text"},{"role":"AXLink","text":"jiminny/app","depth":26,"bounds":{"left":0.44930556,"top":0.8066667,"width":0.047222223,"height":0.017777778},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"jiminny/app","depth":27,"bounds":{"left":0.44930556,"top":0.8066667,"width":0.047222223,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added by","depth":26,"bounds":{"left":0.44930556,"top":0.83555555,"width":0.036805555,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Toast for GitHub","depth":26,"bounds":{"left":0.4861111,"top":0.83555555,"width":0.06111111,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Toast for GitHub","depth":27,"bounds":{"left":0.4861111,"top":0.83555555,"width":0.06111111,"height":0.016666668},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.4861111,"top":0.83555555,"width":0.004166667,"height":0.016666668}},{"char_start":1,"char_count":15,"bounds":{"left":0.48958334,"top":0.83555555,"width":0.057638887,"height":0.016666668}}],"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"on_screen":false,"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,"on_screen":false,"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,"on_screen":false,"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,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":24,"bounds":{"left":0.40833333,"top":0.88,"width":0.57361114,"height":0.04222222},"on_screen":true,"value":"","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Processing uploaded file… complete! Message ready to be sent.","depth":11,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Channel","depth":11,"on_screen":false,"role_description":"text"}]...
|
8151477969705630897
|
-4274044873338061598
|
visual_change
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
alerts
backend
bugs
confusion-clinic
curiosity_lab
engineering
general
jiminny-bg
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Galya Dimitrova
Steliyan Georgiev
Petko Kashinski
Aneliya Angelova
Stefka Stoyanova
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stoyan Tanev
Lukas Kovalik
you
Jira Cloud
Toast
Google Calendar
Home
Messages
Messages
About
Jump to date
Toast
APP
Today at 10:00:03 AM
10:00 AM
Review
prophet
#507 JY-20361: Add call scores in Panorama
#507 JY-20361: Add call scores in Panorama
35 minutes old・9 files changed・
@Steliyan Georgiev
@Steliyan Georgiev
Added by
Toast for GitHub
Toast for GitHub
app
#12059 Jy 20820 es reindex stream model hydration
#12059 Jy 20820 es reindex stream model hydration
3 days old・12 files changed・
@Vasil Vasilev
@Vasil Vasilev
Added by
Toast for GitHub
Toast for GitHub
Merge
app
#12066 JY-20725 add HS rate limit handling on activities rematching
#12066 JY-20725 add HS rate limit handling on activities rematching
4 minutes old・12 files changed
Added by
Toast for GitHub
Toast for GitHub
Resolve Conflicts
app
#11443 Test hublets latency
#11443 Test hublets latency
5 months old・20 files changed
#11327 JY-19501 webhook based opportunity sync
#11327 JY-19501 webhook based opportunity sync
Show more
Added by
Toast for GitHub
Toast for GitHub
Needs Love
app
#12024 JY-20773 fix user pilot tracking ofr automated report generated
#12024 JY-20773 fix user pilot tracking ofr automated report generated
13 days old・1 file changed
Added by
Toast for GitHub
Toast for GitHub
New
Messenger Toast
APP
Today at 11:51:12 AM
11:51 AM
#12066 JY-20725 add HS rate limit handling on activities rematching - Comment Review
@Vasil Vasilev
@Vasil Vasilev
commented on your PR
#12066 JY-20725 add HS rate limit handling on activities rematching
#12066 JY-20725 add HS rate limit handling on activities rematching
You can wrap this entire section in a something like validateRateLimitLock / validateRateLimitCache method that does all the checks and throws an exception if necessary. It will make the method a bit
…
Show more
jiminny/app
jiminny/app
Added by
Toast for GitHub
Toast for GitHub
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 11:52:54 AM
11:52
#12066 JY-20725 add HS rate limit handling on activities rematching - Comment Review
@Vasil Vasilev
@Vasil Vasilev
commented on your PR
#12066 JY-20725 add HS rate limit handling on activities rematching
#12066 JY-20725 add HS rate limit handling on activities rematching
Overall good PR. I've added a comment for minor optimisation, but overall looks like a solid PR.
jiminny/app
jiminny/app
Added by
Toast for GitHub
Toast for GitHub
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Processing uploaded file… complete! Message ready to be sent.
Channel
SlackFileEditViewGoHistoryWindowHelpDOCKERDOCKER (-zsh)DE\kibanaasticsearch"h:9200/"}["type" : "log""@t"data"], "pid" :7, "messkibana{"type" : "log""@tasticsearch","data"],"pid":7,"messkibana1 {"type" : "log"ugins","@t"licensing"], "pid" :7,"messoasticsearch due to Error:NoLivinkibana1 {"type" : "log""@tticsearch", "data"], "pid" :7, "messagarch elasticsearch: 9200"}kibana1 {"type" : "log""@tasticsearch", "data"],"pid" :7,"messh:9200/"}kibana1 {"type": "log""@tasticsearch", "data"],"pid":7,"messkibanains"1 {"type": "log""@t,"taskManager'""taskManager"],Livingconnections"}kibana{"type" : "log""@tticsearch""data"],"pid" :7, "messagarch elasticsearch:9200*}kibana1 {"type": "log""@tasticsearch", "data"],"pid" :7,"messh:9200/ "3kibana1 {"type" : "log","®tasticsearch", "data"],"pid" :7,"messkibana1 {"type": "log", "@tins","taskManager"Living connections"]"taskManager"],kibana1 {"type" : "log""@t)ticsearch","data"], "pid" :7,"messagarchelasticsearch:9200"}kibana1 {"type" : "log""@tasticsearch", "data"],"pid" :7, "messh:9200/"}kibana1 {"type": "log", "®t)asticsearch", "data"],'"pid" :7,"messkibana1 {"type": "log", "®t)ins",, "taskManager","taskManager"],Living connections"}unexpected EOFkas@Lukas-Kovaliks-MacBook-Pro-JHomeDMsActivityFilesLaterMore+j Support Daily - in 2h 43 m100% C 8• Tue 12 May 12:17:40→Jiminny ...# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product _launches# random# releases# sofia-office# support# thank-yous# the _people_of jimi…..0 Direct messages. Galya DimitrovaR. Steliyan GeorgievPetko KashinskiP. Aneliya Angel...Stefka Stoyanova*. Vasil VasilevNikolay IvanovAneliya Angelova, ...Stoyan Tanev 2Lukas Kovalik y…..AppsJira CloudToastGoogle Cale...Describe what you are looking forToastHomeMessagesAbout#T13Z7 JY-19501 WEDNOOK Dasea opportunity svncShow moreAdded by Toast for GitHubToday ~Needs Loveapp#12024 JY-20773 fix user pilot tracking ofr automated report generated13 days old • 1 file changedAdded by Toast for GitHubMessenger Toast APP 11:51 AM#12066 JY-20725 add HS rate limit handling on activities rematching - Comment Review@Vasil Vasilev commented on your PR#12066 JY-20725 add HS rate limit handling on activities rematchingYou can wrap this entire section in a something like validateRateLimitLock/ validateRateLimitCache method that does all the checks and throws anexception if necessary. It will make the method a bit...Show morejiminny/appAdded by Toast for GitHub#12066 JY-20725 add HS rate limit handling on activities rematching - Comment Review@Vasil Vasilev commented on your PR#12066 JY-20725 add HS rate limit handling on activities rematchingOverall good PR. l've added a comment for minor optimisation, butoverall looks like a solid PR.jiminny/appAdded by Toast for GitHubMessage ToastNew...
|
24471
|
NULL
|
NULL
|
NULL
|
|
2511
|
106
|
36
|
2026-05-07T11:23:20.328258+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778153000328_m2.jpg...
|
iTerm2
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PostmanFileEditVIeWWindowmelpHubSpot rate limit PostmanFileEditVIeWWindowmelpHubSpot rate limit implementation strategythem), not in any endpoint. It's a documented cons• Daily usage broken out by app within a portal — the daily endpoint aggregates all papps. You can t tell from the Art wnich app spent the buaget.• Per-app burst limit programmatically — only inferred from Max in headers from acthat app made.Postman recipe to fully profile a portalThree calls, in order:1. GET /account-info/v3/details → grab portalId, timeZone, also note the X-HubSpot-RateLimit-* res Reply * lers (this is your burst profile).2. GET /account-info/v3/api-usage/daily/private-apps → daily limit, current spereserome3. (Optional) Trigger a 429 deliberately on a sandbox to confirm policyName shape, biisn't necessary just for inspection.That gives you everything HubSpot will tell you about a specific portal's limits. Save the trequests as a Postman collection with ({{access_token}} and {{portal_idf} as collectvariables and you can profile any portal in two clicks.I can see daily [URL_WITH_CREDENTIALS] fix user pilo8JiminnyDổ Search the CRM - Hub— New TabXx Hubspot vQ SearchYour team is now on the Free plan with 1 admin. You retain editing access and other members are read-only. View team permissions to see who can edit, or upgrade to restore collaboration.GET next off. • POST search •HTTP https:pi.hubapi.com/account-info/v3/api-usaqe/daily/private-appshttps://api.hubapi.com/account-info/v3/api-usage/daily/private-apps= DocsParams Authorization • Headers 9 Body Scripts SettinasHeaderso 9 hiddenSupport Daily - in 37 mNo environmentg SaveCookiesBulk Edit Presetsv100% L2* AIVariables in requestG tokenAll variablesv COLLECtIONs› CRM ObjectsCRM Owners› CRM Pipelines> DealsEngagements• D OLD ENGAGEMENTSGET list meetingsPOST search moditied companiesPost search tasksGET read call> Post search callsGET list callsPoST meetings scheduledGET get meetingPost get link to task> POST Create Contact with Association› HubspotJournal & webhoooks v4POST Get tokenGET get subscriptionsPOST create subscriptionGET Journal earliestGET Journal latestGET https:/ubspot-webhooks-journal-nal.s.GET next offsetPOST aet Token prodDEL DELETE SUBSCRIPTION PER PORTALGET DEAL WITH HISTORY PROPERTIES V3> OAuth› Properties> PESCAPCHV SEARCHIPoST search contact by phonePost search contact ov emailliPOST search meetingsPOST search notes> post Soarch calle v2POST Search related meetings v3PoSt search deals>ENVIRONMENTS> SPFCS>FLOWS$ Connect Git @ Console TermirCNeR-JHaMxlZoiNd.DescriotionBOdVCookiesJSONvPreviewe. Visualize"results":- nane"i mfrivatg-appo-api-calls-daily*,#currontllcado". Ol"collectedat": "2026-05-07T11:23:01.362Z""2026-05-08T04:00:002"200 OK • 190 ms • 1.2 KB •C| .•=Q108Globals Vault Tools?000...
|
NULL
|
8150849826291258279
|
NULL
|
click
|
ocr
|
NULL
|
PostmanFileEditVIeWWindowmelpHubSpot rate limit PostmanFileEditVIeWWindowmelpHubSpot rate limit implementation strategythem), not in any endpoint. It's a documented cons• Daily usage broken out by app within a portal — the daily endpoint aggregates all papps. You can t tell from the Art wnich app spent the buaget.• Per-app burst limit programmatically — only inferred from Max in headers from acthat app made.Postman recipe to fully profile a portalThree calls, in order:1. GET /account-info/v3/details → grab portalId, timeZone, also note the X-HubSpot-RateLimit-* res Reply * lers (this is your burst profile).2. GET /account-info/v3/api-usage/daily/private-apps → daily limit, current spereserome3. (Optional) Trigger a 429 deliberately on a sandbox to confirm policyName shape, biisn't necessary just for inspection.That gives you everything HubSpot will tell you about a specific portal's limits. Save the trequests as a Postman collection with ({{access_token}} and {{portal_idf} as collectvariables and you can profile any portal in two clicks.I can see daily [URL_WITH_CREDENTIALS] fix user pilo8JiminnyDổ Search the CRM - Hub— New TabXx Hubspot vQ SearchYour team is now on the Free plan with 1 admin. You retain editing access and other members are read-only. View team permissions to see who can edit, or upgrade to restore collaboration.GET next off. • POST search •HTTP https:pi.hubapi.com/account-info/v3/api-usaqe/daily/private-appshttps://api.hubapi.com/account-info/v3/api-usage/daily/private-apps= DocsParams Authorization • Headers 9 Body Scripts SettinasHeaderso 9 hiddenSupport Daily - in 37 mNo environmentg SaveCookiesBulk Edit Presetsv100% L2* AIVariables in requestG tokenAll variablesv COLLECtIONs› CRM ObjectsCRM Owners› CRM Pipelines> DealsEngagements• D OLD ENGAGEMENTSGET list meetingsPOST search moditied companiesPost search tasksGET read call> Post search callsGET list callsPoST meetings scheduledGET get meetingPost get link to task> POST Create Contact with Association› HubspotJournal & webhoooks v4POST Get tokenGET get subscriptionsPOST create subscriptionGET Journal earliestGET Journal latestGET https:/ubspot-webhooks-journal-nal.s.GET next offsetPOST aet Token prodDEL DELETE SUBSCRIPTION PER PORTALGET DEAL WITH HISTORY PROPERTIES V3> OAuth› Properties> PESCAPCHV SEARCHIPoST search contact by phonePost search contact ov emailliPOST search meetingsPOST search notes> post Soarch calle v2POST Search related meetings v3PoSt search deals>ENVIRONMENTS> SPFCS>FLOWS$ Connect Git @ Console TermirCNeR-JHaMxlZoiNd.DescriotionBOdVCookiesJSONvPreviewe. Visualize"results":- nane"i mfrivatg-appo-api-calls-daily*,#currontllcado". Ol"collectedat": "2026-05-07T11:23:01.362Z""2026-05-08T04:00:002"200 OK • 190 ms • 1.2 KB •C| .•=Q108Globals Vault Tools?000...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27041
|
1126
|
13
|
2026-05-12T14:02:20.712410+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778594540712_m2.jpg...
|
Firefox
|
[JY-20776] Automated report - sentry - Jira — Work
|
True
|
jiminny.atlassian.net/browse/JY-20776
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Unnamed Group
TypeError: League\Flysystem\Filesyst Unnamed Group
TypeError: 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 — jiminny — app
TypeError: 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 — jiminny — app
CloudWatch | us-east-2
CloudWatch | us-east-2
Pipelines - jiminny/app
Pipelines - jiminny/app
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app
[JY-20776] Automated report - sentry - Jira
[JY-20776] Automated report - sentry - Jira
Close tab...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Unnamed Group","depth":4,"bounds":{"left":0.0028257978,"top":0.057063047,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXRadioButton","text":"TypeError: 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 — jiminny — app","depth":4,"bounds":{"left":0.0028257978,"top":0.08060654,"width":0.07679521,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: 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 — jiminny — app","depth":5,"bounds":{"left":0.015957447,"top":0.09217877,"width":0.40492022,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"CloudWatch | us-east-2","depth":4,"bounds":{"left":0.0028257978,"top":0.11332801,"width":0.07679521,"height":0.032721467},"on_screen":true,"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.015957447,"top":0.12490024,"width":0.04138963,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.14604948,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.15762171,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira","depth":4,"bounds":{"left":0.0,"top":0.17877094,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.19034317,"width":0.16140293,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.21149242,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.22306465,"width":0.18816489,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.0,"top":0.2442139,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.25578612,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.27693537,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.28850758,"width":0.1931516,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20776] Automated report - sentry - Jira","depth":4,"bounds":{"left":0.0,"top":0.30965683,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"[JY-20776] Automated report - sentry - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32122904,"width":0.07646277,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.31683958,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8150100278095590405
|
-2720927667855460180
|
click
|
accessibility
|
NULL
|
Unnamed Group
TypeError: League\Flysystem\Filesyst Unnamed Group
TypeError: 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 — jiminny — app
TypeError: 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 — jiminny — app
CloudWatch | us-east-2
CloudWatch | us-east-2
Pipelines - jiminny/app
Pipelines - jiminny/app
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app
[JY-20776] Automated report - sentry - Jira
[JY-20776] Automated report - sentry - Jira
Close tab...
|
27039
|
NULL
|
NULL
|
NULL
|
|
27042
|
1124
|
17
|
2026-05-12T14:02:23.346784+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778594543346_m1.jpg...
|
Firefox
|
[JY-20776] Automated report - sentry - Jira — Work
|
True
|
jiminny.atlassian.net/browse/JY-20776
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Unnamed Group
TypeError: League\Flysystem\Filesyst Unnamed Group
TypeError: 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 — jiminny — app
TypeError: 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 — jiminny — app
CloudWatch | us-east-2
CloudWatch | us-east-2
Pipelines - jiminny/app
Pipelines - jiminny/app
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app
[JY-20776] Automated report - sentry - Jira
[JY-20776] Automated report - sentry - Jira
Close tab...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Unnamed Group","depth":4,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXRadioButton","text":"TypeError: 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 — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: 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 — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"CloudWatch | us-east-2","depth":4,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20776] Automated report - sentry - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"[JY-20776] Automated report - sentry - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8150100278095590405
|
-2720927667855460180
|
visual_change
|
accessibility
|
NULL
|
Unnamed Group
TypeError: League\Flysystem\Filesyst Unnamed Group
TypeError: 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 — jiminny — app
TypeError: 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 — jiminny — app
CloudWatch | us-east-2
CloudWatch | us-east-2
Pipelines - jiminny/app
Pipelines - jiminny/app
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking for automated report generated by LakyLak · Pull Request #12024 · jiminny/app
[JY-20776] Automated report - sentry - Jira
[JY-20776] Automated report - sentry - Jira
Close tab...
|
27040
|
NULL
|
NULL
|
NULL
|
|
18226
|
790
|
20
|
2026-05-11T11:05:25.019983+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778497525019_m1.jpg...
|
PhpStorm
|
faVsco.js – custom.log
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelp• 0DOCKERcompi SlackFileEditViewGoHistoryWindowHelp• 0DOCKERcompiledeventsroutesviewsO ₴1DEV (docker)$2APP (-zsh)883Jiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00:stoppedjiminny-worker-processing-2:jiminny-worker-processing-2_00: stoppedjiminny-worker-processing-3:jiminny-worker-processing-3_00: stoppedjiminny-worker-processing-4:jiminny-worker-processing-4_00:stoppedjiminny-worker-processing-5: jiminny-worker-processing-5_00:stoppedworker-analytics:worker-analytics_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00:stoppedworker-nudges:worker-nudges_00:stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker:worker_00: stoppedworker-calendar:worker-calendar_00:worker-conferences:worker-conferences_00:worker-crm-sync:worker-crm-sync_00: stoppedworker-es-update:worker-es-update_00:worker-emails:worker-emails_00: stoppedworker-audio:worker-audio_00: stoppedartisan-schedule:artisan-schedule_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00:startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00:startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00: startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00:startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny#php artisan jiminny:debugDispatching 100 MatchActivityCrmDatajobs (portal=2)Done.Watch logs and runjiminny:debug observeRateLimit to inspect cache state.root@docker_lamp_1:/home/jiminny# ]DEV (dl-zshHomeDMsActivityFilesLater...Morealo)• Preparation for Refi... in 55 m100% <78• Mon 11 May 14:05:24→Describe what you are looking forJiminny ...# contusion-clinic# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messagesP. Aneliya Angelova®. Galya Dimitrova& Petko Kashinski&. Stefka StoyanovaVasil Vasilev&. Nikolay IvanovAneliya Angelova, ...Stoyan Tanev• VesE Lukas Kovalik y…..::: AppsS Jira CloudToastGanala Cala# thank-yous406 0Messagest* Add canvas+O FilesWednesday, May 6th~It shows increaiuie skir tu jump into Supportand not miss a beat.More importantly, itshows great heart and helped delight ourcustomers on two ways at the same time:Support and Trials.You embodied so many of our values duringthis period.#selflessness #lowego #customerfocus#positiveattitudeView Recognition Moment011 reply 5 days agoToday ~Greg 1:31 PMShout out to engineering/infrastructure teamand their stability work. Did you know ... last weekour Product had 100% uptime? ..not99.9999999% but /2 %!lots of little things (and a few big things) make thathappen. well done all!81#1NewKara Jones 1:54 PM100!!!!!! That is amazing!!! Power team!!Message #thank-yous+...
|
NULL
|
8148209080537704809
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelp• 0DOCKERcompi SlackFileEditViewGoHistoryWindowHelp• 0DOCKERcompiledeventsroutesviewsO ₴1DEV (docker)$2APP (-zsh)883Jiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00:stoppedjiminny-worker-processing-2:jiminny-worker-processing-2_00: stoppedjiminny-worker-processing-3:jiminny-worker-processing-3_00: stoppedjiminny-worker-processing-4:jiminny-worker-processing-4_00:stoppedjiminny-worker-processing-5: jiminny-worker-processing-5_00:stoppedworker-analytics:worker-analytics_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00:stoppedworker-nudges:worker-nudges_00:stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker:worker_00: stoppedworker-calendar:worker-calendar_00:worker-conferences:worker-conferences_00:worker-crm-sync:worker-crm-sync_00: stoppedworker-es-update:worker-es-update_00:worker-emails:worker-emails_00: stoppedworker-audio:worker-audio_00: stoppedartisan-schedule:artisan-schedule_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00:startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00:startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00: startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00:startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny#php artisan jiminny:debugDispatching 100 MatchActivityCrmDatajobs (portal=2)Done.Watch logs and runjiminny:debug observeRateLimit to inspect cache state.root@docker_lamp_1:/home/jiminny# ]DEV (dl-zshHomeDMsActivityFilesLater...Morealo)• Preparation for Refi... in 55 m100% <78• Mon 11 May 14:05:24→Describe what you are looking forJiminny ...# contusion-clinic# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messagesP. Aneliya Angelova®. Galya Dimitrova& Petko Kashinski&. Stefka StoyanovaVasil Vasilev&. Nikolay IvanovAneliya Angelova, ...Stoyan Tanev• VesE Lukas Kovalik y…..::: AppsS Jira CloudToastGanala Cala# thank-yous406 0Messagest* Add canvas+O FilesWednesday, May 6th~It shows increaiuie skir tu jump into Supportand not miss a beat.More importantly, itshows great heart and helped delight ourcustomers on two ways at the same time:Support and Trials.You embodied so many of our values duringthis period.#selflessness #lowego #customerfocus#positiveattitudeView Recognition Moment011 reply 5 days agoToday ~Greg 1:31 PMShout out to engineering/infrastructure teamand their stability work. Did you know ... last weekour Product had 100% uptime? ..not99.9999999% but /2 %!lots of little things (and a few big things) make thathappen. well done all!81#1NewKara Jones 1:54 PM100!!!!!! That is amazing!!! Power team!!Message #thank-yous+...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
13958
|
621
|
23
|
2026-05-09T16:42:38.206086+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-09/1778 /Users/lukas/.screenpipe/data/data/2026-05-09/1778344958206_m1.jpg...
|
iTerm2
|
ssh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpssh‹ 40screenpipe"• *5100% <7*886DOCKERO ₴1DEV (-zsh)O 82APP (-zsh)• *3-zsh• $4-zsh=>[frontendinternal]load.dockerignore=>transferring context:2B[frontend internal] loadbuildcontexttransferring context:9.17KBCACHED [frontend 2/5] WORKDIR/app=CACHED [frontend 3/5]COPYpackage.json package-lock.json* ./=> CACHED [frontend 4/5] RUN npminstall[frontend 5/5] COPY[frontend]exportingtoimage= exporting layers=>= writingimagesha256:bd3575158c657b460d39b1be98aa3e7122328a467c1158eb196ed1846dcec7c7namingto docker.io/library/finance-hub-frontend[+] Running 4/4• Container finance-hub-db-1Healthy• Container finance-hub-backend-1Started• Container finance-hub-adminer-1Running• Container finance-hub-frontend-1StartedAdm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hubsudo dockercompose up-d --build backend[sudo] password for Admin:WARN [0000] /volume2/docker/finance/finance-hub/docker-compose.yml: 'version' is obsolete[+] Building 1.9s (13/13) FINISHED=> [backend internal] load build definition from Dockerfile= => transferring dockerfile: 329B= [backend internal] load metadatafor docker.io/library/node:20-alpine→ [backend internal] loaddockerignore= = transferring context: 2B=> [backend internal]load build context→ => transferring context: 4.68kB= [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293=> CACHED [backend 2/8] RUN apk add--no-cache openssl=> CACHED [backend 3/8] WORKDIR/app=> CACHED[backend 4/8] COPY package.json package-lock.json* ./=> CACHED[backend 5/8] RUN npminstall=> CACHED [backend 6/8]COPYprisma•/prisma=> CACHED [backend 7/8] RUN npx prisma generate=> [backend 8/8] COPY src./src[backend]exportingto image=>=> exporting layers= writing image sha256:8978e6f8af14daaa785df5f55bb63017dc71f7aaceabfc442f0edb6ad697fcdenaming to docker.io/library/finance-hub-backend[+] Running 2/2• Container finance-hub-db-1Healthy/ Container finance-hub-backend-1StartedAdm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ curl -s -o /dev/null -w "%{http_code}"https://finance-hub.lakylak.xyz/api/paymentsSat 9 May 19:42:38sshT81+0.150.0s0.150.0s0.0s0.0s0.0s0.2s0.2s0.1s0.0s0.0s0.0s10.650.0s0.5sdocker:default0.150.0s1.1s0.0s0.0s0.150.0s0.0s0.0s0.0s0.0s0.050.0s0.0s0.2s0.2s0.150.0s0.0s0.0s10.65...
|
NULL
|
8147385555221970066
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpssh‹ 40screenpipe"• *5100% <7*886DOCKERO ₴1DEV (-zsh)O 82APP (-zsh)• *3-zsh• $4-zsh=>[frontendinternal]load.dockerignore=>transferring context:2B[frontend internal] loadbuildcontexttransferring context:9.17KBCACHED [frontend 2/5] WORKDIR/app=CACHED [frontend 3/5]COPYpackage.json package-lock.json* ./=> CACHED [frontend 4/5] RUN npminstall[frontend 5/5] COPY[frontend]exportingtoimage= exporting layers=>= writingimagesha256:bd3575158c657b460d39b1be98aa3e7122328a467c1158eb196ed1846dcec7c7namingto docker.io/library/finance-hub-frontend[+] Running 4/4• Container finance-hub-db-1Healthy• Container finance-hub-backend-1Started• Container finance-hub-adminer-1Running• Container finance-hub-frontend-1StartedAdm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hubsudo dockercompose up-d --build backend[sudo] password for Admin:WARN [0000] /volume2/docker/finance/finance-hub/docker-compose.yml: 'version' is obsolete[+] Building 1.9s (13/13) FINISHED=> [backend internal] load build definition from Dockerfile= => transferring dockerfile: 329B= [backend internal] load metadatafor docker.io/library/node:20-alpine→ [backend internal] loaddockerignore= = transferring context: 2B=> [backend internal]load build context→ => transferring context: 4.68kB= [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293=> CACHED [backend 2/8] RUN apk add--no-cache openssl=> CACHED [backend 3/8] WORKDIR/app=> CACHED[backend 4/8] COPY package.json package-lock.json* ./=> CACHED[backend 5/8] RUN npminstall=> CACHED [backend 6/8]COPYprisma•/prisma=> CACHED [backend 7/8] RUN npx prisma generate=> [backend 8/8] COPY src./src[backend]exportingto image=>=> exporting layers= writing image sha256:8978e6f8af14daaa785df5f55bb63017dc71f7aaceabfc442f0edb6ad697fcdenaming to docker.io/library/finance-hub-backend[+] Running 2/2• Container finance-hub-db-1Healthy/ Container finance-hub-backend-1StartedAdm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ curl -s -o /dev/null -w "%{http_code}"https://finance-hub.lakylak.xyz/api/paymentsSat 9 May 19:42:38sshT81+0.150.0s0.150.0s0.0s0.0s0.0s0.2s0.2s0.1s0.0s0.0s0.0s10.650.0s0.5sdocker:default0.150.0s1.1s0.0s0.0s0.150.0s0.0s0.0s0.0s0.0s0.050.0s0.0s0.2s0.2s0.150.0s0.0s0.0s10.65...
|
13956
|
NULL
|
NULL
|
NULL
|
|
17153
|
766
|
13
|
2026-05-11T10:08:26.616515+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778494106616_m1.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
Start Listening for PHP Debug Connections
HandleHubspotRateLimitTest
Run 'HandleHubspotRateLimitTest'
Debug 'HandleHubspotRateLimitTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
5
133
11
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Carbon\CarbonImmutable;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Redis;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\Crm\Delete\VerifyActivityCrmTaskJob;
use Jiminny\Jobs\Crm\MatchActivityCrmData;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
UserPilotClient $userPilotClient
): void {
// Choose ONE of the following to run, then comment out the others.
// 1) Dispatch a storm of MatchActivityCrmData jobs against team 2
$this->simulateMatchActivityStorm(teamId: 2, count: 100);
// 2) Dispatch a storm of VerifyActivityCrmTaskJob jobs (simulates DeleteCrmEntityTrait fan-out)
// $this->simulateVerifyTaskStorm(teamId: 2, count: 100);
// 3) Inspect Redis circuit-breaker state for the team's HubSpot portal
// $this->observeRateLimitCache(teamId: 2);
// 4) Make 3 synchronous matchByName calls (foreground, hits API directly)
// $this->rateLimit();
exit(1);
$report = AutomatedReport::find(71);
$last = AutomatedReportResult::query()
->where('report_id', $report->getId())
->whereIn('status', [AutomatedReportResult::STATUS_DEFAULT, AutomatedReportResult::STATUS_FAILED])
// ->where('reason', '!=', AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES)
->whereDate('created_at', CarbonImmutable::now()->toDateString())
->latest()
->first();
$this->info("Last: {$last->getId()}");
exit(1);
$user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
$payload = [
'report_type' => 'ask_jiminny',
'frequency' => 'weekly',
];
$userPilotClient->track($user, 'ask-jiminny-report-generated', $payload);
exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
private function rateLimit()
{
$team = Team::find(2);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
for ($i = 0 ; $i < 3; $i++) {
// if ($i % 25 === 0) {
// $this->info("Syncing opportunity {$i}");
$this->info("Matching contact {$i}");
// }
// $crmService->syncOpportunity('374720564');
$crmService->matchByName('Robot');
}
}
private function simulateMatchActivityStorm(int $teamId = 2, int $count = 100): void
{
$team = Team::find($teamId);
$config = $team->getCrmConfiguration();
$activities = Activity::query()
->where('crm_configuration_id', $config->getId())
->orderByDesc('id')
->limit($count)
->get();
$this->info("Dispatching {$activities->count()} MatchActivityCrmData jobs (portal={$config->getId()})");
foreach ($activities as $activity) {
MatchActivityCrmData::dispatch($activity->getId(), $config, true);
}
$this->info('Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.');
}
private function simulateVerifyTaskStorm(int $teamId = 2, int $count = 100): void
{
$activities = Activity::query()
->where('team_id', $teamId)
->whereNotNull('crm_provider_id')
->orderByDesc('id')
->limit($count)
->get();
$this->info("Dispatching {$activities->count()} VerifyActivityCrmTaskJob jobs");
foreach ($activities as $activity) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
$this->info('Done.');
}
private function observeRateLimitCache(int $teamId = 2): void
{
$team = Team::find($teamId);
$config = $team->getCrmConfiguration();
$key = sprintf('hubspot:ratelimit:portal:%d', $config->getId());
$value = Redis::get($key);
$ttl = Redis::ttl($key);
$this->info("Redis key: {$key}");
$this->info('Value: ' . ($value ?? '(empty)'));
$this->info("TTL: {$ttl}s");
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
240
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:07:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":615092,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [MatchActivityCrmData] Participants old state {"activity":615092,"participants":[{"id":1004102,"user_id":null,"contact_id":null,"lead_id":null},{"id":1004103,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [Hubspot] Failed to fetch contact {"email":"[EMAIL]","reason":"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/nikolay.nikolov%40jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [Hubspot] Pagination completed {"team_id":2,"endpoint":"https://api.hubapi.com/crm/v3/objects/contact/search","total_requests":1,"total_records_fetched":0,"total_elapsed_seconds":0.36,"average_seconds_per_request":0.36} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [Prospect match] Cache miss {"identifier_type":"domain","identifier":"jiminny.com","crm":"hubspot"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"domain","identifier":"jiminny.com"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [HubSpot] importAccount {"crm_provider_id":"749766179","config_id":2} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [HubSpot] CRM Search requested {"request":{"filterGroups":[{"filters":[{"propertyName":"associations.company","operator":"EQ","value":"749766179"},{"propertyName":"dealstage","operator":"NOT_IN","values":["closedwon","4040964","59247967"]},{"propertyName":"dealstage","operator":"NOT_IN","values":["closedlost","4040965","59247968"]}]}],"sorts":[{"propertyName":"modifieddate","direction":"DESCENDING"}],"properties":["dealname","amount","hubspot_owner_id","pipeline","dealstage","closedate","deal_currency_code"],"limit":200}} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [Hubspot] Pagination completed {"team_id":2,"endpoint":"https://api.hubapi.com/crm/v3/objects/deals/search","total_requests":1,"total_records_fetched":10,"total_elapsed_seconds":0.29,"average_seconds_per_request":0.29} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {"worker":"","peak_memory":"99.73 MB","elapsed_seconds":1.02,"update_target":"activities","should_iterate_again":false} {"correlation_id":"59e3fe1b-aa6d-4cb1-9824-74a21abcce17","trace_id":"8ccca438-10cb-4f24-a0a1-4bcd63b85711"}
[2026-05-11 10:07:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":615092,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":615092,"participants_processed":2,"exact_matches":0,"domain_matches":1,"best_match_found":true} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":615092,"remote_search":true,"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614436,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Participants old state {"activity":614436,"participants":[{"id":1002751,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002752,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":614436,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":614436,"participants_processed":2,"exact_matches":0,"domain_matches":1,"best_match_found":true} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":614436,"remote_search":true,"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614382,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Participants old state {"activity":614382,"participants":[{"id":1002632,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002633,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":614382,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":614382,"participants_processed":2,"exact_matches":0,"domain_matches":1,"best_match_found":true} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":614382,"remote_search":true,"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614381,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {"activity":614381,"participants":[{"id":1002630,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002631,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":614381,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":614381,"participants_processed":2,"exact_matches":0,"domain_matches":1,"best_match_found":true} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":614381,"remote_search":true,"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614378} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614378,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {"activity":614378,"participants":[{"id":1002623,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002624,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002625,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Syncing potentially stale record {"model":"Jiminny\\Models\\Contact","id":6167,"crm_provider_id":"175190591289","updated_at":"2025-11-17 11:17:50"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [HubSpot] importContact {"crm_provider_id":"175190591289","config_id":2} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Record synced successfully {"model":"Jiminny\\Models\\Contact","id":6167,"crm_provider_id":"175190591289"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":614378,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":614378,"participants_processed":3,"exact_matches":1,"domain_matches":1,"best_match_found":true} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614378} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614378,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":614378,"remote_search":true,"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":613840,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":244,"opportunity_id":350,"stage_id":34}} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":613840} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":613840,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {"activity":613840,"participants":[{"id":1001764,"user_id":null,"contact_id":4487,"lead_id":null},{"id":1001765,"user_id":261,"contact_id":null,"lead_id":null}]} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {"account_id":244,"contact_id":4487,"owner_id":261} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: ProspectCache - Opportunity DB search results {"account_id":244,"contact_id":4487,"opportunity_id":299} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":613840,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":613840,"participants_processed":2,"exact_matches":1,"domain_matches":0,"best_match_found":true} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":613840} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":613840,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":613840,"remote_search":true,"lead_id":null,"contact_id":4487,"account_id":244,"opportunity_id":299,"stage_id":36} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":613833,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":244,"opportunity_id":350,"stage_id":34}} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":613833} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":613833,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {"activity":613833,"participants":[{"id":1001750,"user_id":null,"contact_id":4487,"lead_id":null},{"id":1001751,"user_id":261,"contact_id":null,"lead_id":null}]} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":613833,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","tr...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"on_screen":true,"help_text":"Git Branch: JY-20725-handle-HS-search-rate-limit","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"HandleHubspotRateLimitTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'HandleHubspotRateLimitTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'HandleHubspotRateLimitTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"5","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"133","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"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\\Console\\Commands;\n\nuse Carbon\\Carbon;\nuse Carbon\\CarbonImmutable;\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Support\\Facades\\Redis;\nuse InvalidArgumentException;\nuse Jiminny\\Jobs\\AutomatedReports\\RequestGenerateAskJiminnyReportJob;\nuse Jiminny\\Jobs\\AutomatedReports\\SendReportMailJob;\nuse Jiminny\\Jobs\\Crm\\Delete\\VerifyActivityCrmTaskJob;\nuse Jiminny\\Jobs\\Crm\\MatchActivityCrmData;\nuse Jiminny\\Jobs\\JobDispatcherInterface;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Models\\User;\nuse Jiminny\\Repositories\\AutomatedReportsRepository;\nuse Jiminny\\Services\\Activity\\CrmOwnerResolver;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Jiminny\\Services\\UserPilot\\UserPilotClient;\n\n/**\n * Class JiminnyDebugCommand\n *\n * @package Jiminny\\Console\\Commands\n */\nclass JiminnyDebugCommand extends Command\n{\n public const string FREQUENCY_DAILY = 'daily';\n public const string FREQUENCY_WEEKLY = 'weekly';\n public const string FREQUENCY_MONTHLY = 'monthly';\n public const string FREQUENCY_QUARTERLY = 'quarterly';\n public const string FREQUENCY_ONE_OFF = 'one_off';\n protected $signature = 'jiminny:debug';\n\n public function handle(\n JobDispatcherInterface $jobDispatcher,\n AutomatedReportsService $automatedReportsService,\n AutomatedReportsRepository $automatedReportsRepository,\n UserPilotClient $userPilotClient\n ): void {\n // Choose ONE of the following to run, then comment out the others.\n // 1) Dispatch a storm of MatchActivityCrmData jobs against team 2\n $this->simulateMatchActivityStorm(teamId: 2, count: 100);\n\n // 2) Dispatch a storm of VerifyActivityCrmTaskJob jobs (simulates DeleteCrmEntityTrait fan-out)\n // $this->simulateVerifyTaskStorm(teamId: 2, count: 100);\n\n // 3) Inspect Redis circuit-breaker state for the team's HubSpot portal\n // $this->observeRateLimitCache(teamId: 2);\n\n // 4) Make 3 synchronous matchByName calls (foreground, hits API directly)\n // $this->rateLimit();\n exit(1);\n\n\n\n $report = AutomatedReport::find(71);\n $last = AutomatedReportResult::query()\n ->where('report_id', $report->getId())\n ->whereIn('status', [AutomatedReportResult::STATUS_DEFAULT, AutomatedReportResult::STATUS_FAILED])\n// ->where('reason', '!=', AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES)\n ->whereDate('created_at', CarbonImmutable::now()->toDateString())\n ->latest()\n ->first();\n\n $this->info(\"Last: {$last->getId()}\");\n\n exit(1);\n\n $user = User::find(143);\n // $count = $automatedReportsRepository->countUserReports($user);\n // $this->info(\"Count: {$count}\");\n // $count = $automatedReportsRepository->countAllUserReports($user);\n // $this->info(\"All count: {$count}\");\n\n $payload = [\n 'report_type' => 'ask_jiminny',\n 'frequency' => 'weekly',\n ];\n $userPilotClient->track($user, 'ask-jiminny-report-generated', $payload);\n\n exit(1);\n\n $now = Carbon::now()->subDay(1);\n $this->info(\"Now: {$now->toDateTimeString()}\");\n $weekStart = Carbon::getWeekStartsAt();\n $this->info(\"Now: {$weekStart}\");\n\n // $from = $now->copy()->previousWeekday()->startOfDay();\n // $to = $now->copy()->previousWeekday()->endOfDay();\n\n // $fromOld = $now->copy()->subWeeks(1)->startOfDay();\n // $toOld = $now->copy()->subDay()->endOfDay();\n // $fromNew = $now->copy()->subWeek()->startOfWeek();\n // $toNew = $now->copy()->subWeek()->endOfWeek();\n\n // $fromOld = $now->copy()->subMonths(1)->startOfDay();\n // $toOld = $now->copy()->subDay()->endOfDay();\n // $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();\n // $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();\n\n $fromOld = $now->copy()->subMonths(3)->startOfDay();\n $toOld = $now->copy()->subDay()->endOfDay();\n $fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();\n $toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();\n\n $this->info(\"From old: {$fromOld->toDateTimeString()}\");\n $this->info(\"To old: {$toOld->toDateTimeString()}\");\n $this->info(\"From new: {$fromNew->toDateTimeString()}\");\n $this->info(\"To new: {$toNew->toDateTimeString()}\");\n\n exit(1);\n\n $report = AutomatedReport::find(71);\n\n $job = new RequestGenerateAskJiminnyReportJob($report->getUuid());\n $jobDispatcher->dispatch($job);\n\n exit(1);\n\n\n // $this->formatDate($jobDispatcher);\n // $this->sendMail($jobDispatcher, $automatedReportsService);\n // $this->crmService();\n\n $this->getPayload($automatedReportsService);\n\n exit(1);\n }\n\n\n\n private function crmService()\n {\n $activity = Activity::find(418141);\n\n $team = Team::find(19);\n $config = $team->getCrmConfiguration();\n\n $crmResolver = app(CrmOwnerResolver::class, [\n 'team' => $team,\n 'integrationAdmin' => $team->getOwner(),\n 'providerSlug' => $config->getProviderName(),\n ]);\n\n $crmService = $crmResolver->prepareCrmService();\n\n $crmService->createTranscriptNotes($activity);\n }\n\n private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)\n {\n $reportUuid = '';\n // $report = $automatedReportsService->getReportResult($reportUuid);\n $report = AutomatedReportResult::find(275);\n $validRecipients = $automatedReportsService->getValidRecipientUsers(\n $report->getReport(),\n includeJiminny: true,\n );\n\n $recipient = $validRecipients[0];\n\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 $s3Path = $automatedReportsService->getMediaPath($report);\n\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));\n\n $jobDispatcher->dispatch(\n new SendReportMailJob(\n reportUuid: $report->getUuid(),\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: true,\n )\n );\n\n exit(1);\n }\n\n private function formatDate(JobDispatcherInterface $jobDispatcher): void\n {\n $customName = 'Custom report name';\n // $frequency = self::FREQUENCY_DAILY;\n // $frequency = self::FREQUENCY_WEEKLY;\n $frequency = self::FREQUENCY_MONTHLY;\n // $frequency = self::FREQUENCY_QUARTERLY;\n // $frequency = self::FREQUENCY_ONE_OFF;\n $period = $this->calculateFromAndToDatePeriod($frequency);\n $from = $period['fromDate'];\n $to = $period['toDate'];\n $periodName = $this->formatReportPeriodName($frequency, $from, $to);\n $filenameSuffix = null;\n\n if ($customName) {\n if ($filenameSuffix) {\n $customName .= \" {$filenameSuffix}\";\n }\n\n $result = $this->sanitizeFileName(\"{$customName} - {$periodName}\");\n }\n\n $this->info($result);\n }\n\n public function calculateFromAndToDatePeriod(\n string $frequency,\n ?Carbon $fromDate = null,\n ?Carbon $toDate = null\n ): array {\n if ($frequency === self::FREQUENCY_ONE_OFF) {\n return [\n 'fromDate' => $fromDate,\n 'toDate' => $toDate,\n ];\n }\n\n $now = Carbon::now();\n\n return match ($frequency) {\n self::FREQUENCY_DAILY => [\n 'fromDate' => $now->copy()->subDay()->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_WEEKLY => [\n 'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_MONTHLY => [\n 'fromDate' => $now->copy()->subMonths(1)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_QUARTERLY => [\n 'fromDate' => $now->copy()->subMonths(3)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n default => throw new InvalidArgumentException(\"Unsupported frequency: {$frequency}\"),\n };\n }\n\n private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string\n {\n $fromYear = $from->format('Y');\n $toYear = $to->format('Y');\n $differentYears = $fromYear !== $toYear;\n\n switch ($frequency) {\n case self::FREQUENCY_DAILY:\n return $from->format('j M Y');\n\n case self::FREQUENCY_QUARTERLY:\n // 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ\n $startMonth = $from->format('M');\n $endMonth = $to->copy()->subMonth();\n $endMonthName = $endMonth->format('M');\n $endMonthYear = $endMonth->format('Y');\n\n if ($differentYears) {\n return \"{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}\";\n }\n\n return \"{$startMonth} - {$endMonthName} {$toYear}\";\n\n case self::FREQUENCY_MONTHLY:\n // 'May 2025' - monthly reports are always within the same year\n return $from->format('M Y');\n\n case self::FREQUENCY_WEEKLY:\n // '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ\n $startDay = $from->format('j');\n $endDay = $to->format('j');\n $startMonth = $from->format('M');\n $endMonth = $to->format('M');\n\n if ($differentYears) {\n return \"{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n if ($startMonth !== $endMonth) {\n return \"{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n return \"{$startDay} - {$endDay} {$endMonth} {$toYear}\";\n\n case self::FREQUENCY_ONE_OFF:\n // '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ\n $startDay = $from->format('j');\n $startMonth = $from->format('M');\n $endDay = $to->format('j');\n $endMonth = $to->format('M');\n\n // If same month and year, use a format like '2-31 May 2025'\n if ($startMonth === $endMonth && ! $differentYears) {\n return \"{$startDay} - {$endDay} {$startMonth} {$toYear}\";\n }\n\n // If different years, include both years\n if ($differentYears) {\n return \"{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n // Same year but different months\n return \"{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}\";\n\n default:\n // Default format for unknown frequencies\n return $from->format('j M Y') . ' - ' . $to->format('j M Y');\n }\n }\n\n public function sanitizeFileName(string $fileName): string\n {\n return str_replace(['/', '\\\\'], '-', $fileName);\n }\n\n private function getPayload(AutomatedReportsService $automatedReportsService)\n {\n $reportResult = AutomatedReportResult::find(269);\n $automatedReport = $reportResult->getReport();\n $activityIds = [1,2,3];\n $payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(\n automatedReport: $automatedReport,\n reportResult: $reportResult,\n activityIds: $activityIds,\n );\n\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));\n }\n\n private function rateLimit()\n {\n $team = Team::find(2);\n $config = $team->getCrmConfiguration();\n\n $crmResolver = app(CrmOwnerResolver::class, [\n 'team' => $team,\n 'integrationAdmin' => $team->getOwner(),\n 'providerSlug' => $config->getProviderName(),\n ]);\n\n $crmService = $crmResolver->prepareCrmService();\n\n for ($i = 0 ; $i < 3; $i++) {\n// if ($i % 25 === 0) {\n// $this->info(\"Syncing opportunity {$i}\");\n $this->info(\"Matching contact {$i}\");\n// }\n// $crmService->syncOpportunity('374720564');\n $crmService->matchByName('Robot');\n }\n }\n\n private function simulateMatchActivityStorm(int $teamId = 2, int $count = 100): void\n {\n $team = Team::find($teamId);\n $config = $team->getCrmConfiguration();\n\n $activities = Activity::query()\n ->where('crm_configuration_id', $config->getId())\n ->orderByDesc('id')\n ->limit($count)\n ->get();\n\n $this->info(\"Dispatching {$activities->count()} MatchActivityCrmData jobs (portal={$config->getId()})\");\n\n foreach ($activities as $activity) {\n MatchActivityCrmData::dispatch($activity->getId(), $config, true);\n }\n\n $this->info('Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.');\n }\n\n private function simulateVerifyTaskStorm(int $teamId = 2, int $count = 100): void\n {\n $activities = Activity::query()\n ->where('team_id', $teamId)\n ->whereNotNull('crm_provider_id')\n ->orderByDesc('id')\n ->limit($count)\n ->get();\n\n $this->info(\"Dispatching {$activities->count()} VerifyActivityCrmTaskJob jobs\");\n\n foreach ($activities as $activity) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n\n $this->info('Done.');\n }\n\n private function observeRateLimitCache(int $teamId = 2): void\n {\n $team = Team::find($teamId);\n $config = $team->getCrmConfiguration();\n $key = sprintf('hubspot:ratelimit:portal:%d', $config->getId());\n\n $value = Redis::get($key);\n $ttl = Redis::ttl($key);\n\n $this->info(\"Redis key: {$key}\");\n $this->info('Value: ' . ($value ?? '(empty)'));\n $this->info(\"TTL: {$ttl}s\");\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Console\\Commands;\n\nuse Carbon\\Carbon;\nuse Carbon\\CarbonImmutable;\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Support\\Facades\\Redis;\nuse InvalidArgumentException;\nuse Jiminny\\Jobs\\AutomatedReports\\RequestGenerateAskJiminnyReportJob;\nuse Jiminny\\Jobs\\AutomatedReports\\SendReportMailJob;\nuse Jiminny\\Jobs\\Crm\\Delete\\VerifyActivityCrmTaskJob;\nuse Jiminny\\Jobs\\Crm\\MatchActivityCrmData;\nuse Jiminny\\Jobs\\JobDispatcherInterface;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Models\\User;\nuse Jiminny\\Repositories\\AutomatedReportsRepository;\nuse Jiminny\\Services\\Activity\\CrmOwnerResolver;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Jiminny\\Services\\UserPilot\\UserPilotClient;\n\n/**\n * Class JiminnyDebugCommand\n *\n * @package Jiminny\\Console\\Commands\n */\nclass JiminnyDebugCommand extends Command\n{\n public const string FREQUENCY_DAILY = 'daily';\n public const string FREQUENCY_WEEKLY = 'weekly';\n public const string FREQUENCY_MONTHLY = 'monthly';\n public const string FREQUENCY_QUARTERLY = 'quarterly';\n public const string FREQUENCY_ONE_OFF = 'one_off';\n protected $signature = 'jiminny:debug';\n\n public function handle(\n JobDispatcherInterface $jobDispatcher,\n AutomatedReportsService $automatedReportsService,\n AutomatedReportsRepository $automatedReportsRepository,\n UserPilotClient $userPilotClient\n ): void {\n // Choose ONE of the following to run, then comment out the others.\n // 1) Dispatch a storm of MatchActivityCrmData jobs against team 2\n $this->simulateMatchActivityStorm(teamId: 2, count: 100);\n\n // 2) Dispatch a storm of VerifyActivityCrmTaskJob jobs (simulates DeleteCrmEntityTrait fan-out)\n // $this->simulateVerifyTaskStorm(teamId: 2, count: 100);\n\n // 3) Inspect Redis circuit-breaker state for the team's HubSpot portal\n // $this->observeRateLimitCache(teamId: 2);\n\n // 4) Make 3 synchronous matchByName calls (foreground, hits API directly)\n // $this->rateLimit();\n exit(1);\n\n\n\n $report = AutomatedReport::find(71);\n $last = AutomatedReportResult::query()\n ->where('report_id', $report->getId())\n ->whereIn('status', [AutomatedReportResult::STATUS_DEFAULT, AutomatedReportResult::STATUS_FAILED])\n// ->where('reason', '!=', AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES)\n ->whereDate('created_at', CarbonImmutable::now()->toDateString())\n ->latest()\n ->first();\n\n $this->info(\"Last: {$last->getId()}\");\n\n exit(1);\n\n $user = User::find(143);\n // $count = $automatedReportsRepository->countUserReports($user);\n // $this->info(\"Count: {$count}\");\n // $count = $automatedReportsRepository->countAllUserReports($user);\n // $this->info(\"All count: {$count}\");\n\n $payload = [\n 'report_type' => 'ask_jiminny',\n 'frequency' => 'weekly',\n ];\n $userPilotClient->track($user, 'ask-jiminny-report-generated', $payload);\n\n exit(1);\n\n $now = Carbon::now()->subDay(1);\n $this->info(\"Now: {$now->toDateTimeString()}\");\n $weekStart = Carbon::getWeekStartsAt();\n $this->info(\"Now: {$weekStart}\");\n\n // $from = $now->copy()->previousWeekday()->startOfDay();\n // $to = $now->copy()->previousWeekday()->endOfDay();\n\n // $fromOld = $now->copy()->subWeeks(1)->startOfDay();\n // $toOld = $now->copy()->subDay()->endOfDay();\n // $fromNew = $now->copy()->subWeek()->startOfWeek();\n // $toNew = $now->copy()->subWeek()->endOfWeek();\n\n // $fromOld = $now->copy()->subMonths(1)->startOfDay();\n // $toOld = $now->copy()->subDay()->endOfDay();\n // $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();\n // $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();\n\n $fromOld = $now->copy()->subMonths(3)->startOfDay();\n $toOld = $now->copy()->subDay()->endOfDay();\n $fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();\n $toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();\n\n $this->info(\"From old: {$fromOld->toDateTimeString()}\");\n $this->info(\"To old: {$toOld->toDateTimeString()}\");\n $this->info(\"From new: {$fromNew->toDateTimeString()}\");\n $this->info(\"To new: {$toNew->toDateTimeString()}\");\n\n exit(1);\n\n $report = AutomatedReport::find(71);\n\n $job = new RequestGenerateAskJiminnyReportJob($report->getUuid());\n $jobDispatcher->dispatch($job);\n\n exit(1);\n\n\n // $this->formatDate($jobDispatcher);\n // $this->sendMail($jobDispatcher, $automatedReportsService);\n // $this->crmService();\n\n $this->getPayload($automatedReportsService);\n\n exit(1);\n }\n\n\n\n private function crmService()\n {\n $activity = Activity::find(418141);\n\n $team = Team::find(19);\n $config = $team->getCrmConfiguration();\n\n $crmResolver = app(CrmOwnerResolver::class, [\n 'team' => $team,\n 'integrationAdmin' => $team->getOwner(),\n 'providerSlug' => $config->getProviderName(),\n ]);\n\n $crmService = $crmResolver->prepareCrmService();\n\n $crmService->createTranscriptNotes($activity);\n }\n\n private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)\n {\n $reportUuid = '';\n // $report = $automatedReportsService->getReportResult($reportUuid);\n $report = AutomatedReportResult::find(275);\n $validRecipients = $automatedReportsService->getValidRecipientUsers(\n $report->getReport(),\n includeJiminny: true,\n );\n\n $recipient = $validRecipients[0];\n\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 $s3Path = $automatedReportsService->getMediaPath($report);\n\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));\n\n $jobDispatcher->dispatch(\n new SendReportMailJob(\n reportUuid: $report->getUuid(),\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: true,\n )\n );\n\n exit(1);\n }\n\n private function formatDate(JobDispatcherInterface $jobDispatcher): void\n {\n $customName = 'Custom report name';\n // $frequency = self::FREQUENCY_DAILY;\n // $frequency = self::FREQUENCY_WEEKLY;\n $frequency = self::FREQUENCY_MONTHLY;\n // $frequency = self::FREQUENCY_QUARTERLY;\n // $frequency = self::FREQUENCY_ONE_OFF;\n $period = $this->calculateFromAndToDatePeriod($frequency);\n $from = $period['fromDate'];\n $to = $period['toDate'];\n $periodName = $this->formatReportPeriodName($frequency, $from, $to);\n $filenameSuffix = null;\n\n if ($customName) {\n if ($filenameSuffix) {\n $customName .= \" {$filenameSuffix}\";\n }\n\n $result = $this->sanitizeFileName(\"{$customName} - {$periodName}\");\n }\n\n $this->info($result);\n }\n\n public function calculateFromAndToDatePeriod(\n string $frequency,\n ?Carbon $fromDate = null,\n ?Carbon $toDate = null\n ): array {\n if ($frequency === self::FREQUENCY_ONE_OFF) {\n return [\n 'fromDate' => $fromDate,\n 'toDate' => $toDate,\n ];\n }\n\n $now = Carbon::now();\n\n return match ($frequency) {\n self::FREQUENCY_DAILY => [\n 'fromDate' => $now->copy()->subDay()->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_WEEKLY => [\n 'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_MONTHLY => [\n 'fromDate' => $now->copy()->subMonths(1)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_QUARTERLY => [\n 'fromDate' => $now->copy()->subMonths(3)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n default => throw new InvalidArgumentException(\"Unsupported frequency: {$frequency}\"),\n };\n }\n\n private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string\n {\n $fromYear = $from->format('Y');\n $toYear = $to->format('Y');\n $differentYears = $fromYear !== $toYear;\n\n switch ($frequency) {\n case self::FREQUENCY_DAILY:\n return $from->format('j M Y');\n\n case self::FREQUENCY_QUARTERLY:\n // 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ\n $startMonth = $from->format('M');\n $endMonth = $to->copy()->subMonth();\n $endMonthName = $endMonth->format('M');\n $endMonthYear = $endMonth->format('Y');\n\n if ($differentYears) {\n return \"{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}\";\n }\n\n return \"{$startMonth} - {$endMonthName} {$toYear}\";\n\n case self::FREQUENCY_MONTHLY:\n // 'May 2025' - monthly reports are always within the same year\n return $from->format('M Y');\n\n case self::FREQUENCY_WEEKLY:\n // '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ\n $startDay = $from->format('j');\n $endDay = $to->format('j');\n $startMonth = $from->format('M');\n $endMonth = $to->format('M');\n\n if ($differentYears) {\n return \"{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n if ($startMonth !== $endMonth) {\n return \"{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n return \"{$startDay} - {$endDay} {$endMonth} {$toYear}\";\n\n case self::FREQUENCY_ONE_OFF:\n // '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ\n $startDay = $from->format('j');\n $startMonth = $from->format('M');\n $endDay = $to->format('j');\n $endMonth = $to->format('M');\n\n // If same month and year, use a format like '2-31 May 2025'\n if ($startMonth === $endMonth && ! $differentYears) {\n return \"{$startDay} - {$endDay} {$startMonth} {$toYear}\";\n }\n\n // If different years, include both years\n if ($differentYears) {\n return \"{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n // Same year but different months\n return \"{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}\";\n\n default:\n // Default format for unknown frequencies\n return $from->format('j M Y') . ' - ' . $to->format('j M Y');\n }\n }\n\n public function sanitizeFileName(string $fileName): string\n {\n return str_replace(['/', '\\\\'], '-', $fileName);\n }\n\n private function getPayload(AutomatedReportsService $automatedReportsService)\n {\n $reportResult = AutomatedReportResult::find(269);\n $automatedReport = $reportResult->getReport();\n $activityIds = [1,2,3];\n $payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(\n automatedReport: $automatedReport,\n reportResult: $reportResult,\n activityIds: $activityIds,\n );\n\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));\n }\n\n private function rateLimit()\n {\n $team = Team::find(2);\n $config = $team->getCrmConfiguration();\n\n $crmResolver = app(CrmOwnerResolver::class, [\n 'team' => $team,\n 'integrationAdmin' => $team->getOwner(),\n 'providerSlug' => $config->getProviderName(),\n ]);\n\n $crmService = $crmResolver->prepareCrmService();\n\n for ($i = 0 ; $i < 3; $i++) {\n// if ($i % 25 === 0) {\n// $this->info(\"Syncing opportunity {$i}\");\n $this->info(\"Matching contact {$i}\");\n// }\n// $crmService->syncOpportunity('374720564');\n $crmService->matchByName('Robot');\n }\n }\n\n private function simulateMatchActivityStorm(int $teamId = 2, int $count = 100): void\n {\n $team = Team::find($teamId);\n $config = $team->getCrmConfiguration();\n\n $activities = Activity::query()\n ->where('crm_configuration_id', $config->getId())\n ->orderByDesc('id')\n ->limit($count)\n ->get();\n\n $this->info(\"Dispatching {$activities->count()} MatchActivityCrmData jobs (portal={$config->getId()})\");\n\n foreach ($activities as $activity) {\n MatchActivityCrmData::dispatch($activity->getId(), $config, true);\n }\n\n $this->info('Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.');\n }\n\n private function simulateVerifyTaskStorm(int $teamId = 2, int $count = 100): void\n {\n $activities = Activity::query()\n ->where('team_id', $teamId)\n ->whereNotNull('crm_provider_id')\n ->orderByDesc('id')\n ->limit($count)\n ->get();\n\n $this->info(\"Dispatching {$activities->count()} VerifyActivityCrmTaskJob jobs\");\n\n foreach ($activities as $activity) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n\n $this->info('Done.');\n }\n\n private function observeRateLimitCache(int $teamId = 2): void\n {\n $team = Team::find($teamId);\n $config = $team->getCrmConfiguration();\n $key = sprintf('hubspot:ratelimit:portal:%d', $config->getId());\n\n $value = Redis::get($key);\n $ttl = Redis::ttl($key);\n\n $this->info(\"Redis key: {$key}\");\n $this->info('Value: ' . ($value ?? '(empty)'));\n $this->info(\"TTL: {$ttl}s\");\n }\n}","role_description":"text entry area","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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"240","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"[2026-05-11 10:07:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":615092,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":615092,\"participants\":[{\"id\":1004102,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1004103,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"nikolay.nikolov@jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/nikolay.nikolov%40jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.36,\"average_seconds_per_request\":0.36} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.02,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:07:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":615092,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":615092,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614436,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":614436,\"participants\":[{\"id\":1002751,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002752,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614436,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":614436,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614382,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":614382,\"participants\":[{\"id\":1002632,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002633,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":614382,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614381,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":614381,\"participants\":[{\"id\":1002630,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002631,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":614381,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":614378,\"participants\":[{\"id\":1002623,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002624,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Syncing potentially stale record {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":6167,\"crm_provider_id\":\"175190591289\",\"updated_at\":\"2025-11-17 11:17:50\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [HubSpot] importContact {\"crm_provider_id\":\"175190591289\",\"config_id\":2} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Record synced successfully {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":6167,\"crm_provider_id\":\"175190591289\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614378,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":614378,\"remote_search\":true,\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613840,\"participants\":[{\"id\":1001764,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001765,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613840,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613840,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613833,\"participants\":[{\"id\":1001750,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001751,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613833,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613833,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613827,\"participants\":[{\"id\":1001734,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001735,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613827,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613827,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613826,\"participants\":[{\"id\":1001732,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001733,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613826,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613826,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613820,\"participants\":[{\"id\":1001721,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001722,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613820,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613820,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613818,\"participants\":[{\"id\":1001717,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001718,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613818,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613818,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613812,\"participants\":[{\"id\":1001705,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001706,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613812,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613812,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":null}} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613807,\"participants\":[{\"id\":1001690,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1001691,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613807,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Syncing potentially stale record {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":4484,\"crm_provider_id\":\"123952\",\"updated_at\":\"2024-07-23 07:00:32\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [HubSpot] importContact {\"crm_provider_id\":\"123952\",\"config_id\":2} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [StaleRecordValidator] Record synced successfully {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":4484,\"crm_provider_id\":\"123952\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [StaleRecordValidator] Syncing potentially stale record {\"model\":\"Jiminny\\\\Models\\\\Account\",\"id\":243,\"crm_provider_id\":\"16696646991\",\"updated_at\":\"2025-10-16 09:31:08\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"16696646991\",\"config_id\":2} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [StaleRecordValidator] Record synced successfully {\"model\":\"Jiminny\\\\Models\\\\Account\",\"id\":243,\"crm_provider_id\":\"16696646991\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+19177680369\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613807,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613806,\"participants\":[{\"id\":1001688,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1001689,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613806,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613806,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613805,\"participants\":[{\"id\":1001686,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1001687,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613805,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613805,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613698,\"participants\":[{\"id\":1001667,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001668,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613698,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613698,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613697,\"participants\":[{\"id\":1001665,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001666,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613697,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613697,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613696,\"participants\":[{\"id\":1001663,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001664,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613696,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613696,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613695,\"participants\":[{\"id\":1001661,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001662,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613695,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613695,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613694,\"participants\":[{\"id\":1001659,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001660,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613694,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613694,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613157,\"participants\":[{\"id\":1000746,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1000747,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613157,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613157,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613156,\"participants\":[{\"id\":1000744,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1000745,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613156,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613156,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613155,\"participants\":[{\"id\":1000742,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1000743,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613155,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613155,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613130,\"participants\":[{\"id\":1000693,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1000694,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613130,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613130,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612924,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":160,\"stage_id\":88}} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612924,\"participants\":[{\"id\":1000290,\"user_id\":19,\"contact_id\":null,\"lead_id\":null},{\"id\":1000291,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612924,\"team_id\":2,\"email\":\"james.graham@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612924,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":165,\"stage_id\":89} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612923,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":160,\"stage_id\":88}} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612923,\"participants\":[{\"id\":1000288,\"user_id\":19,\"contact_id\":null,\"lead_id\":null},{\"id\":1000289,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612923,\"team_id\":2,\"email\":\"james.graham@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612923,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":165,\"stage_id\":89} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612922,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":160,\"stage_id\":88}} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612922,\"participants\":[{\"id\":1000286,\"user_id\":19,\"contact_id\":null,\"lead_id\":null},{\"id\":1000287,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612922,\"team_id\":2,\"email\":\"james.graham@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612922,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":165,\"stage_id\":89} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":302,\"contact_id\":null,\"lead_id\":null},{\"id\":1000131,\"user_id\":261,\"contact_id\":null,\"lead_id\":null},{\"id\":1000151,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"adelina.petrova@jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/adelina.petrova%40jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612847,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612822,\"participants\":[{\"id\":1000080,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1000081,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612822,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612822,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612819,\"participants\":[{\"id\":1000073,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1000074,\"user_id\":261,\"contact_id\":null,\"lead_id\":null},{\"id\":1000075,\"user_id\":302,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612819,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612673,\"participants\":[{\"id\":999993,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999994,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612673,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612673,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612642,\"participants\":[{\"id\":999935,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999936,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612642,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612642,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612598,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612598,\"participants\":[{\"id\":999857,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999858,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [StaleRecordValidator] Syncing potentially stale record {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":4491,\"crm_provider_id\":\"123951\",\"updated_at\":\"2025-10-03 14:03:01\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [HubSpot] importContact {\"crm_provider_id\":\"123951\",\"config_id\":2} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [StaleRecordValidator] Record synced successfully {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":4491,\"crm_provider_id\":\"123951\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612598,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612598,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612597,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612597,\"participants\":[{\"id\":999855,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999856,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612597,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612597,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612596,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612596,\"participants\":[{\"id\":999853,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999854,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612596,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612596,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612596,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612595,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612595,\"participants\":[{\"id\":999851,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999852,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612595,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612595,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612594,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612594,\"participants\":[{\"id\":999849,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999850,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612594,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612594,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612593,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612593,\"participants\":[{\"id\":999847,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999848,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612593,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612593,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612592,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612592,\"participants\":[{\"id\":999845,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999846,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612592,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612592,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612591,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612591,\"participants\":[{\"id\":999843,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999844,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612591,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612591,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612590,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612590,\"participants\":[{\"id\":999841,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999842,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612590,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612590,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612589,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612589,\"participants\":[{\"id\":999839,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999840,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612589,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612589,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612588,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612588,\"participants\":[{\"id\":999837,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999838,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612588,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612588,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612587,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612587,\"participants\":[{\"id\":999835,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999836,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612587,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612587,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612586,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612586,\"participants\":[{\"id\":999833,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999834,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612586,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612586,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612585,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612585,\"participants\":[{\"id\":999831,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999832,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612585,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612585,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612584,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612584,\"participants\":[{\"id\":999829,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999830,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612584,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612584,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612583,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612583,\"participants\":[{\"id\":999827,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999828,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612583,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612583,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":2.05,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612582,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612582,\"participants\":[{\"id\":999825,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999826,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612582,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612582,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612581,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612581,\"participants\":[{\"id\":999823,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999824,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612581,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612581,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612565,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612565,\"participants\":[{\"id\":999789,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999790,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612565,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612565,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612563,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":null,\"opportunity_id\":309,\"stage_id\":null}} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612563,\"participants\":[{\"id\":999784,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999785,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null}]} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612563,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612563,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612562,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612562,\"participants\":[{\"id\":999782,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":999783,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"447782589921@txt.staging.jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/447782589921%40txt.staging.jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.22,\"average_seconds_per_request\":0.22} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612562,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612562,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612561,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612561,\"participants\":[{\"id\":999780,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999781,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/447700174614.447782589921.OeREojLVnk%40txt.staging.jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612561,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612560,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612560,\"participants\":[{\"id\":999778,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":999779,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612560,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612560,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612559,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612559,\"participants\":[{\"id\":999776,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999777,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612559,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612559,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612558,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612558,\"participants\":[{\"id\":999774,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999775,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612558,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612558,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612557,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612557,\"participants\":[{\"id\":999772,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999773,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612557,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612557,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612556,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612556,\"participants\":[{\"id\":999770,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999771,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612556,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612556,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612555,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612555,\"participants\":[{\"id\":999768,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999769,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612555,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612555,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612554,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612554,\"participants\":[{\"id\":999766,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999767,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612554,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612554,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612553,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612553,\"participants\":[{\"id\":999764,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999765,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612553,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612553,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612552,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612552,\"participants\":[{\"id\":999762,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999763,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612552,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612552,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612551,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612551,\"participants\":[{\"id\":999760,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999761,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612551,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612551,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612550,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612550,\"participants\":[{\"id\":999758,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999759,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612550,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612550,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612549,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612549,\"participants\":[{\"id\":999756,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999757,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612549,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612549,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612365,\"participants\":[{\"id\":999563,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999564,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612365,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612365,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612360,\"participants\":[{\"id\":999552,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999553,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999565,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612360,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612340,\"participants\":[{\"id\":999516,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999517,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999518,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":999519,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.24,\"average_seconds_per_request\":0.24} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612340,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612339,\"participants\":[{\"id\":999514,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999515,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999540,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612339,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612336,\"participants\":[{\"id\":999508,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999509,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999512,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":999513,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612336,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":309,\"stage_id\":34}} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612183,\"participants\":[{\"id\":999227,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999228,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612183,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612183,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":309,\"stage_id\":34}} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612182,\"participants\":[{\"id\":999225,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999226,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612182,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612182,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":309,\"stage_id\":34}} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612181,\"participants\":[{\"id\":999223,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999224,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612181,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612181,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":309,\"stage_id\":34}} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612180,\"participants\":[{\"id\":999221,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999222,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612180,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612180,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":611455,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":611455,\"participants\":[{\"id\":997961,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997962,\"user_id\":1460,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"support@staging.jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/support%40staging.jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.24,\"average_seconds_per_request\":0.24} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.68,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:08:03] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611455,\"team_id\":2,\"email\":\"aneliya.angelova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":611455,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":611451,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":611451,\"participants\":[{\"id\":997955,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997956,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"support@staging.jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/support%40staging.jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.22,\"average_seconds_per_request\":0.22} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"meeting-bot:schedule-bot\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"98e633f9-bd2f-40dc-8730-3d84cde99a43\",\"trace_id\":\"5c2b2f2b-22de-4a4e-8225-07e4443cd83f\"}\n[2026-05-11 10:08:04] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"98e633f9-bd2f-40dc-8730-3d84cde99a43\",\"trace_id\":\"5c2b2f2b-22de-4a4e-8225-07e4443cd83f\"}\n[2026-05-11 10:08:04] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"meeting-bot:schedule-bot\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"98e633f9-bd2f-40dc-8730-3d84cde99a43\",\"trace_id\":\"5c2b2f2b-22de-4a4e-8225-07e4443cd83f\"}\n[2026-05-11 10:08:05] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.24,\"average_seconds_per_request\":0.24} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611451,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":611451,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":611087,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":611087,\"participants\":[{\"id\":997368,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997369,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611087,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":611087,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":611076,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":611076,\"participants\":[{\"id\":997346,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997347,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611076,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":611076,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610935,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610935,\"participants\":[{\"id\":997141,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997142,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610935,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610935,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610915,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610915,\"participants\":[{\"id\":997104,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997105,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610915,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610915,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610900,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610900,\"participants\":[{\"id\":997081,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997082,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610900,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610900,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610885,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610885,\"participants\":[{\"id\":997051,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997052,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610885,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610885,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d48aaa1f-e725-4109-affa-b4d3d4e12070\",\"trace_id\":\"9b236b1c-8f13-4316-82f6-8da9417b8914\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610878,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"d48aaa1f-e725-4109-affa-b4d3d4e12070\",\"trace_id\":\"9b236b1c-8f13-4316-82f6-8da9417b8914\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610878,\"participants\":[{\"id\":997035,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997036,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610878,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610878,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610874,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610874,\"participants\":[{\"id\":997025,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997026,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610874,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610874,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610867,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610867,\"participants\":[{\"id\":997011,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997012,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610867,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610867,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610764,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610764,\"participants\":[{\"id\":996951,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996952,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610764,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610764,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610617,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610617,\"participants\":[{\"id\":996641,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996642,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610617,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610617,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610539,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610539,\"participants\":[{\"id\":996485,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996486,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610539,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610539,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610528,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610528,\"participants\":[{\"id\":996463,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996464,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610528,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610528,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610506,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610506,\"participants\":[{\"id\":996419,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996420,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610506,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610506,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610497,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610497,\"participants\":[{\"id\":996401,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996402,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610497,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610497,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610490,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610490,\"participants\":[{\"id\":996385,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996386,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610490,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610490,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610470,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610470,\"participants\":[{\"id\":996369,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996370,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610470,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610470,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610462,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610462,\"participants\":[{\"id\":996353,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996354,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.NOTICE: Monitoring start {\"correlation_id\":\"5b7106d8-bc2c-44e7-a8f5-0ac98a517b36\",\"trace_id\":\"2744a9e8-e2f2-4af5-8e00-acc1fbf6fca1\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610462,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.NOTICE: Monitoring end {\"correlation_id\":\"5b7106d8-bc2c-44e7-a8f5-0ac98a517b36\",\"trace_id\":\"2744a9e8-e2f2-4af5-8e00-acc1fbf6fca1\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610462,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610451,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610451,\"participants\":[{\"id\":996340,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996341,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610451,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610451,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610438,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610438,\"participants\":[{\"id\":996320,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996321,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610438,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610438,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610426,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610426,\"participants\":[{\"id\":996306,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996307,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610426,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610426,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610403,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610403,\"participants\":[{\"id\":996282,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996283,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610403,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610403,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.22,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610400,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":null,\"opportunity_id\":309,\"stage_id\":null}} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610400,\"participants\":[{\"id\":996275,\"user_id\":1460,\"contact_id\":null,\"lead_id\":null},{\"id\":996276,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":996277,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null}]} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610400,\"team_id\":2,\"email\":\"aneliya.angelova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610400,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610400,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:09] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:skip-lists:refresh\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6db45444-ce74-45d2-9bba-e6763553004e\",\"trace_id\":\"949c3cba-a469-49a8-aa46-feed32f893a2\"}\n[2026-05-11 10:08:09] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:skip-lists:refresh\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6db45444-ce74-45d2-9bba-e6763553004e\",\"trace_id\":\"949c3cba-a469-49a8-aa46-feed32f893a2\"}\n[2026-05-11 10:08:13] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e9b75ded-4381-49be-9c99-dcc975ae39f4\",\"trace_id\":\"5333f4bf-906e-45ef-b138-6bb07b091938\"}\n[2026-05-11 10:08:13] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e9b75ded-4381-49be-9c99-dcc975ae39f4\",\"trace_id\":\"5333f4bf-906e-45ef-b138-6bb07b091938\"}\n[2026-05-11 10:08:13] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"e9b75ded-4381-49be-9c99-dcc975ae39f4\",\"trace_id\":\"5333f4bf-906e-45ef-b138-6bb07b091938\"}\n[2026-05-11 10:08:13] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"e9b75ded-4381-49be-9c99-dcc975ae39f4\",\"trace_id\":\"5333f4bf-906e-45ef-b138-6bb07b091938\"}\n[2026-05-11 10:08:13] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.1,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:08:14] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e88c8e1f-bcfd-41ef-82d8-3b381b93fa2c\",\"trace_id\":\"375a6b18-d1f4-4441-952e-7035f4a875b6\"}\n[2026-05-11 10:08:14] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 10:06:00, 2026-05-11 10:08:00] {\"correlation_id\":\"e88c8e1f-bcfd-41ef-82d8-3b381b93fa2c\",\"trace_id\":\"375a6b18-d1f4-4441-952e-7035f4a875b6\"}\n[2026-05-11 10:08:14] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 10:06:00, 2026-05-11 10:08:00] {\"correlation_id\":\"e88c8e1f-bcfd-41ef-82d8-3b381b93fa2c\",\"trace_id\":\"375a6b18-d1f4-4441-952e-7035f4a875b6\"}\n[2026-05-11 10:08:14] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"e88c8e1f-bcfd-41ef-82d8-3b381b93fa2c\",\"trace_id\":\"375a6b18-d1f4-4441-952e-7035f4a875b6\"}\n[2026-05-11 10:08:16] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"037a715b-5ea5-4cb0-8766-3ec8c1a0ba87\",\"trace_id\":\"5ae4a5b9-55b0-419c-a14c-4931c05438f1\"}\n[2026-05-11 10:08:16] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"037a715b-5ea5-4cb0-8766-3ec8c1a0ba87\",\"trace_id\":\"5ae4a5b9-55b0-419c-a14c-4931c05438f1\"}","depth":4,"on_screen":true,"value":"[2026-05-11 10:07:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":615092,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":615092,\"participants\":[{\"id\":1004102,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1004103,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"nikolay.nikolov@jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/nikolay.nikolov%40jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.36,\"average_seconds_per_request\":0.36} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:49] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.02,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:07:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":615092,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":615092,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"41138ff0-7c9e-4a50-a629-d81e2044f2bd\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614436,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":614436,\"participants\":[{\"id\":1002751,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002752,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614436,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":614436,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"45d6d906-376a-4dcd-94da-8653341248dc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614382,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":614382,\"participants\":[{\"id\":1002632,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002633,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":614382,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"e9723194-ad8c-4fa8-84da-6c75f15eda85\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614381,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":614381,\"participants\":[{\"id\":1002630,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002631,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":614381,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"1c38cae9-2118-478e-9cb6-900321774ca2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":614378,\"participants\":[{\"id\":1002623,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002624,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Syncing potentially stale record {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":6167,\"crm_provider_id\":\"175190591289\",\"updated_at\":\"2025-11-17 11:17:50\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [HubSpot] importContact {\"crm_provider_id\":\"175190591289\",\"config_id\":2} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Record synced successfully {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":6167,\"crm_provider_id\":\"175190591289\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614378,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":614378,\"remote_search\":true,\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null} {\"correlation_id\":\"f7f61c55-f3ab-4125-947c-38cc43246a94\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613840,\"participants\":[{\"id\":1001764,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001765,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613840,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613840,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"aa118a8f-934e-49d2-8c98-fc1cf0840004\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613833,\"participants\":[{\"id\":1001750,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001751,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613833,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613833,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"311abcaa-fd86-45a1-8751-c5109002a67b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613827,\"participants\":[{\"id\":1001734,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001735,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613827,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613827,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"aba12f67-61bb-41da-9897-4e6d63a3625b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613826,\"participants\":[{\"id\":1001732,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001733,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613826,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613826,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"321decba-c5ee-4f22-8109-3fa2c033e317\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613820,\"participants\":[{\"id\":1001721,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001722,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613820,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613820,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"f7091cc5-8774-45ba-be3b-192199056742\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613818,\"participants\":[{\"id\":1001717,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001718,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613818,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613818,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"d0f287d1-ded8-45a0-b26b-7cb256503aa8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613812,\"participants\":[{\"id\":1001705,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001706,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613812,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613812,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"92e03931-9cf9-4993-b7af-631ef6fed6c1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":null}} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613807,\"participants\":[{\"id\":1001690,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1001691,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613807,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Syncing potentially stale record {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":4484,\"crm_provider_id\":\"123952\",\"updated_at\":\"2024-07-23 07:00:32\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [HubSpot] importContact {\"crm_provider_id\":\"123952\",\"config_id\":2} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [StaleRecordValidator] Record synced successfully {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":4484,\"crm_provider_id\":\"123952\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [StaleRecordValidator] Syncing potentially stale record {\"model\":\"Jiminny\\\\Models\\\\Account\",\"id\":243,\"crm_provider_id\":\"16696646991\",\"updated_at\":\"2025-10-16 09:31:08\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"16696646991\",\"config_id\":2} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [StaleRecordValidator] Record synced successfully {\"model\":\"Jiminny\\\\Models\\\\Account\",\"id\":243,\"crm_provider_id\":\"16696646991\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+19177680369\"} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613807,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"1b66320d-f748-4593-a0a1-c7bf21489bf0\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613806,\"participants\":[{\"id\":1001688,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1001689,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613806,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613806,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"afbc74b0-d3fa-45a0-bd8d-1ff1ed1ea0f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613805,\"participants\":[{\"id\":1001686,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1001687,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613805,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613805,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"b7d23db0-fe1d-4712-8289-267a7d5f3223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613698,\"participants\":[{\"id\":1001667,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001668,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613698,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613698,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"95f792c2-4fa5-4c25-9ec4-0e12265f3476\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613697,\"participants\":[{\"id\":1001665,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001666,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613697,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613697,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"289d301f-c2c4-4bc4-82e1-8722ec7bc962\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613696,\"participants\":[{\"id\":1001663,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001664,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613696,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613696,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"87b7ead1-f374-4901-8824-1bd916a39d9d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613695,\"participants\":[{\"id\":1001661,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001662,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613695,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613695,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"9eb8e1ce-02c0-440f-bc27-fffee4d17954\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613694,\"participants\":[{\"id\":1001659,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1001660,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613694,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613694,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"ddc430b5-f3dd-4429-ba16-2aa3271e852f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613157,\"participants\":[{\"id\":1000746,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1000747,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613157,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613157,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"bdc419e8-00a1-4044-ad6f-8712a3c84b86\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613156,\"participants\":[{\"id\":1000744,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1000745,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613156,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613156,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"b2c040cc-7b73-439f-9e5d-897d314aa888\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5050,\"stage_id\":36}} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613155,\"participants\":[{\"id\":1000742,\"user_id\":253,\"contact_id\":null,\"lead_id\":null},{\"id\":1000743,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613155,\"team_id\":2,\"email\":\"preslava.ivanova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"phone\",\"identifier\":\"+17608915463\"} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613155,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"33b7aac6-bc5b-49b8-bca8-bd8c7d88a5fb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":613130,\"participants\":[{\"id\":1000693,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1000694,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":613130,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":613130,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"c9457fce-8e2a-4378-9a08-fb6a7bc53c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612924,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":160,\"stage_id\":88}} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612924,\"participants\":[{\"id\":1000290,\"user_id\":19,\"contact_id\":null,\"lead_id\":null},{\"id\":1000291,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612924,\"team_id\":2,\"email\":\"james.graham@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612924,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":165,\"stage_id\":89} {\"correlation_id\":\"26f68ac9-bfbd-4eda-b44a-18d022f43880\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612923,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":160,\"stage_id\":88}} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612923,\"participants\":[{\"id\":1000288,\"user_id\":19,\"contact_id\":null,\"lead_id\":null},{\"id\":1000289,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612923,\"team_id\":2,\"email\":\"james.graham@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612923,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":165,\"stage_id\":89} {\"correlation_id\":\"7c620156-eb75-4bed-8c8f-6b74c747c2a1\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612922,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":160,\"stage_id\":88}} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612922,\"participants\":[{\"id\":1000286,\"user_id\":19,\"contact_id\":null,\"lead_id\":null},{\"id\":1000287,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612922,\"team_id\":2,\"email\":\"james.graham@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612922,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":165,\"stage_id\":89} {\"correlation_id\":\"c3306d4a-9fbb-4b32-8275-3ca062c99053\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":302,\"contact_id\":null,\"lead_id\":null},{\"id\":1000131,\"user_id\":261,\"contact_id\":null,\"lead_id\":null},{\"id\":1000151,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"adelina.petrova@jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/adelina.petrova%40jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:53] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612847,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"0f139113-57ba-4fb3-9f09-e43d4fce4907\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612822,\"participants\":[{\"id\":1000080,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1000081,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612822,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612822,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"85f89d0d-6b9d-43b7-bb9b-53e780706b84\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612819,\"participants\":[{\"id\":1000073,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":1000074,\"user_id\":261,\"contact_id\":null,\"lead_id\":null},{\"id\":1000075,\"user_id\":302,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612819,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"0590772e-862b-48dd-a56d-d24ecdb0eb13\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612673,\"participants\":[{\"id\":999993,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999994,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612673,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612673,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"35b710e7-2b4a-4ae0-bd75-04d2357e79ef\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612642,\"participants\":[{\"id\":999935,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999936,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612642,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612642,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"b8f5e07f-a8a8-4420-b1b4-16ffb5645220\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612598,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612598,\"participants\":[{\"id\":999857,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999858,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:54] local.INFO: [StaleRecordValidator] Syncing potentially stale record {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":4491,\"crm_provider_id\":\"123951\",\"updated_at\":\"2025-10-03 14:03:01\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [HubSpot] importContact {\"crm_provider_id\":\"123951\",\"config_id\":2} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [StaleRecordValidator] Record synced successfully {\"model\":\"Jiminny\\\\Models\\\\Contact\",\"id\":4491,\"crm_provider_id\":\"123951\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612598,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612598,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"78eccba5-dc3e-4592-a101-fa4e41326dbb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612597,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612597,\"participants\":[{\"id\":999855,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999856,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612597,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612597,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"b89f2def-c563-45cb-83bc-ea0db6ea8ce4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612596,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612596,\"participants\":[{\"id\":999853,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999854,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612596,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612596,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612596,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"363e414b-7d8f-4252-9544-4e95a303e6b3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612595,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612595,\"participants\":[{\"id\":999851,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999852,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612595,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612595,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"432314d1-a9d8-43c7-baff-9c87670a08f3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612594,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612594,\"participants\":[{\"id\":999849,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999850,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612594,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:55] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612594,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"2f1ed486-02a0-4c74-a223-0e83efec41ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612593,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612593,\"participants\":[{\"id\":999847,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999848,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612593,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612593,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"c1991803-40c1-48b1-a598-9bac26029e8d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612592,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612592,\"participants\":[{\"id\":999845,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999846,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612592,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612592,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"807e33b0-ba4a-4d26-a883-1be25af3e540\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612591,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612591,\"participants\":[{\"id\":999843,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999844,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612591,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612591,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"dc6ddf3b-c332-401e-8a72-ebb36ebe8865\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612590,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612590,\"participants\":[{\"id\":999841,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999842,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612590,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612590,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"12c49a0e-3dd0-45af-aa69-063f6cb065e3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612589,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612589,\"participants\":[{\"id\":999839,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999840,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612589,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:56] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612589,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"6dd83b2e-030c-4b1c-8910-6e156ff47086\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612588,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612588,\"participants\":[{\"id\":999837,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999838,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612588,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612588,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"56c2182e-a228-4a42-ad87-c98a12e6be32\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612587,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612587,\"participants\":[{\"id\":999835,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999836,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612587,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612587,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"085282f2-db34-4c5f-8e77-ed24b3a7c4ad\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612586,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612586,\"participants\":[{\"id\":999833,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999834,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612586,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612586,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"5fcfc2bc-206c-402c-9881-424c5aec47ca\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612585,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612585,\"participants\":[{\"id\":999831,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999832,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612585,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612585,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"8869f0ee-6ad4-4be6-b350-ec4530c97c9f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612584,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612584,\"participants\":[{\"id\":999829,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999830,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612584,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612584,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"5bc0cbb9-db83-40a6-b435-72e85ebd8b34\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612583,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612583,\"participants\":[{\"id\":999827,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999828,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612583,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612583,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"c3d3f421-09d2-4b71-8857-c13799372c6a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":2.05,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612582,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612582,\"participants\":[{\"id\":999825,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999826,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612582,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612582,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"4738d300-763d-4349-aa84-9e3846ac058a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612581,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612581,\"participants\":[{\"id\":999823,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999824,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612581,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612581,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"b4880cef-02dc-40d1-acf1-67a4b2713f4f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612565,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":null,\"opportunity_id\":276,\"stage_id\":null}} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612565,\"participants\":[{\"id\":999789,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999790,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null}]} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612565,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612565,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"5bee8a34-43a9-4c90-a61f-28d6a2c8fbb2\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612563,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":null,\"opportunity_id\":309,\"stage_id\":null}} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612563,\"participants\":[{\"id\":999784,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999785,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null}]} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612563,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612563,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"385fbadb-bbb9-41d0-bf45-4c4079750aa5\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612562,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612562,\"participants\":[{\"id\":999782,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":999783,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:57] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"447782589921@txt.staging.jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/447782589921%40txt.staging.jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.22,\"average_seconds_per_request\":0.22} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:58] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612562,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612562,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"20b1c7b6-3360-4de0-8f23-47949b809762\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612561,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612561,\"participants\":[{\"id\":999780,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999781,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/447700174614.447782589921.OeREojLVnk%40txt.staging.jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612561,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"07273ebe-88ea-49f1-9b84-7eedf56b67ec\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612560,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612560,\"participants\":[{\"id\":999778,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":999779,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612560,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612560,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"1ca39cb1-2c11-4091-ac94-d3468cb30702\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612559,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612559,\"participants\":[{\"id\":999776,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999777,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612559,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612559,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"f9ba60d5-6a7a-406a-9e42-6b76b5eb3c96\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612558,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612558,\"participants\":[{\"id\":999774,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999775,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612558,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612558,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"8f37ffbb-3405-4df7-8585-22158a979282\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612557,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612557,\"participants\":[{\"id\":999772,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999773,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612557,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612557,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"1d63d738-5447-4e5b-9b1c-0f1c401d1560\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612556,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612556,\"participants\":[{\"id\":999770,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999771,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612556,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612556,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"1289f2bc-2f82-4c8d-83b7-c13af6aa95d3\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612555,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612555,\"participants\":[{\"id\":999768,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999769,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612555,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612555,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"560e253e-ef20-47d5-9b99-14c41c07480a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612554,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612554,\"participants\":[{\"id\":999766,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999767,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612554,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:07:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612554,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"aaaa89b7-3bd0-4d52-85a4-84c925ba1561\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612553,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612553,\"participants\":[{\"id\":999764,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999765,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612553,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612553,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"1b0d9b0f-eb0a-4406-9dee-b039ee139f52\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612552,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612552,\"participants\":[{\"id\":999762,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999763,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612552,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612552,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"a674da2a-c1fe-4a57-8eed-868757c98d54\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612551,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612551,\"participants\":[{\"id\":999760,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999761,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612551,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612551,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"65833c93-68ad-4099-a13d-fc926a1dcd76\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612550,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612550,\"participants\":[{\"id\":999758,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999759,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612550,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612550,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"f7cf889b-30c7-41ff-8e44-ea7c29825607\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612549,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":97,\"account_id\":null,\"opportunity_id\":160,\"stage_id\":null}} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612549,\"participants\":[{\"id\":999756,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999757,\"user_id\":null,\"contact_id\":97,\"lead_id\":null}]} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612549,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612549,\"remote_search\":true,\"lead_id\":null,\"contact_id\":97,\"account_id\":69,\"opportunity_id\":5011,\"stage_id\":34} {\"correlation_id\":\"c5c192e3-aa2e-4aea-bcb6-dc81015b599a\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612365,\"participants\":[{\"id\":999563,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999564,\"user_id\":206,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612365,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612365,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"3614f6e9-46d5-4b24-8d20-153f1f36304b\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612360,\"participants\":[{\"id\":999552,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999553,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999565,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612360,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"721b16fc-8e15-4e2e-80f9-0bb179366c87\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612340,\"participants\":[{\"id\":999516,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999517,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999518,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":999519,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.24,\"average_seconds_per_request\":0.24} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:00] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612340,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"0e9241bf-c94c-45bb-b675-c3c023d08ca4\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612339,\"participants\":[{\"id\":999514,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999515,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999540,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612339,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"c2f43351-79cc-48ea-a7d9-e4c2962b21c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":35}} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612336,\"participants\":[{\"id\":999508,\"user_id\":null,\"contact_id\":4491,\"lead_id\":null},{\"id\":999509,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":999512,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":999513,\"user_id\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612336,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36} {\"correlation_id\":\"0febbca6-9595-4893-ac1b-1f3bd498b315\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":309,\"stage_id\":34}} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612183,\"participants\":[{\"id\":999227,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999228,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612183,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612183,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"083cdd80-4c9a-41e6-b95e-cf808c6f466d\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":309,\"stage_id\":34}} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612182,\"participants\":[{\"id\":999225,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999226,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612182,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612182,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"2ac1d20d-37aa-4669-a989-ae3454d13970\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":309,\"stage_id\":34}} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612181,\"participants\":[{\"id\":999223,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999224,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612181,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612181,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"cff26aee-80da-4c76-b16a-75a4478d7122\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":244,\"opportunity_id\":309,\"stage_id\":34}} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612180,\"participants\":[{\"id\":999221,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null},{\"id\":999222,\"user_id\":261,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612180,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":612180,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36} {\"correlation_id\":\"c18b4aa1-d379-497b-a92b-dc1fb6a91223\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":611455,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":611455,\"participants\":[{\"id\":997961,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997962,\"user_id\":1460,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:01] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"support@staging.jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/support%40staging.jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.24,\"average_seconds_per_request\":0.24} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:02] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.68,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:08:03] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611455,\"team_id\":2,\"email\":\"aneliya.angelova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":611455,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"798bab4c-6c5b-4845-9f7d-9f3f36eb8445\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":611451,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":611451,\"participants\":[{\"id\":997955,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997956,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:03] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Hubspot] Failed to fetch contact {\"email\":\"support@staging.jiminny.com\",\"reason\":\"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/support%40staging.jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/contact/search\",\"total_requests\":1,\"total_records_fetched\":0,\"total_elapsed_seconds\":0.22,\"average_seconds_per_request\":0.22} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: [HubSpot] CRM Search requested {\"request\":{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.company\",\"operator\":\"EQ\",\"value\":\"749766179\"},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedwon\",\"4040964\",\"59247967\"]},{\"propertyName\":\"dealstage\",\"operator\":\"NOT_IN\",\"values\":[\"closedlost\",\"4040965\",\"59247968\"]}]}],\"sorts\":[{\"propertyName\":\"modifieddate\",\"direction\":\"DESCENDING\"}],\"properties\":[\"dealname\",\"amount\",\"hubspot_owner_id\",\"pipeline\",\"dealstage\",\"closedate\",\"deal_currency_code\"],\"limit\":200}} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:04] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"meeting-bot:schedule-bot\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"98e633f9-bd2f-40dc-8730-3d84cde99a43\",\"trace_id\":\"5c2b2f2b-22de-4a4e-8225-07e4443cd83f\"}\n[2026-05-11 10:08:04] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"98e633f9-bd2f-40dc-8730-3d84cde99a43\",\"trace_id\":\"5c2b2f2b-22de-4a4e-8225-07e4443cd83f\"}\n[2026-05-11 10:08:04] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"meeting-bot:schedule-bot\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"98e633f9-bd2f-40dc-8730-3d84cde99a43\",\"trace_id\":\"5c2b2f2b-22de-4a4e-8225-07e4443cd83f\"}\n[2026-05-11 10:08:05] local.INFO: [Hubspot] Pagination completed {\"team_id\":2,\"endpoint\":\"https://api.hubapi.com/crm/v3/objects/deals/search\",\"total_requests\":1,\"total_records_fetched\":10,\"total_elapsed_seconds\":0.24,\"average_seconds_per_request\":0.24} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611451,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":611451,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"9709a729-420b-4298-b3ec-2bf1dd857615\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":611087,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":611087,\"participants\":[{\"id\":997368,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997369,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611087,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":611087,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"47fdceee-6392-4eab-9168-4e2fb9ae94b6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":611076,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":611076,\"participants\":[{\"id\":997346,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997347,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611076,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":611076,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"6d65acca-1ff5-40a5-8b2d-ba8793361bed\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610935,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610935,\"participants\":[{\"id\":997141,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997142,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610935,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610935,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"d3d1a86d-64aa-4352-a05a-3540959d6021\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610915,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610915,\"participants\":[{\"id\":997104,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997105,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610915,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610915,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"b857de41-fdf7-46b6-b8f2-2755caccf889\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610900,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610900,\"participants\":[{\"id\":997081,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997082,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610900,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610900,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"9fb84a96-d055-464a-876e-fe22503e70e6\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610885,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610885,\"participants\":[{\"id\":997051,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997052,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610885,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610885,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"de259015-4e4e-4b17-ade3-6a6388470d2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d48aaa1f-e725-4109-affa-b4d3d4e12070\",\"trace_id\":\"9b236b1c-8f13-4316-82f6-8da9417b8914\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610878,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"d48aaa1f-e725-4109-affa-b4d3d4e12070\",\"trace_id\":\"9b236b1c-8f13-4316-82f6-8da9417b8914\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610878,\"participants\":[{\"id\":997035,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997036,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610878,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610878,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"a4ebd3ff-dbeb-4b06-859d-a2fc0f2fd6c8\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610874,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610874,\"participants\":[{\"id\":997025,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997026,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610874,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610874,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"29dabb06-b9d3-4319-9f8a-55fe735cbb2f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610867,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610867,\"participants\":[{\"id\":997011,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":997012,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610867,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610867,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"041a0c6b-1709-44d2-ad96-83b8f7e7953c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610764,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610764,\"participants\":[{\"id\":996951,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996952,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610764,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610764,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"6ce3be09-542f-45d2-8801-252e3a7c55cb\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610617,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610617,\"participants\":[{\"id\":996641,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996642,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610617,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610617,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"3ab9bf85-f853-442d-aa0d-dc0be63d1d11\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610539,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610539,\"participants\":[{\"id\":996485,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996486,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:06] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610539,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610539,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"6ba248d7-ad6e-4d36-9b6f-25b4851b4480\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610528,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610528,\"participants\":[{\"id\":996463,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996464,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610528,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610528,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"bbee47af-c432-45f4-8bd0-8866df08510f\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610506,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610506,\"participants\":[{\"id\":996419,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996420,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610506,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610506,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"c0216b91-cc71-4bdb-8cbb-3730c0c9bb31\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610497,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610497,\"participants\":[{\"id\":996401,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996402,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610497,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610497,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"fb90a851-8342-412d-8f5c-3cd34bcd8adc\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610490,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610490,\"participants\":[{\"id\":996385,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996386,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610490,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610490,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"3518ce97-5018-4c29-910f-b4700d566600\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610470,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610470,\"participants\":[{\"id\":996369,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996370,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610470,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610470,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"52b8ae75-7363-4891-b428-2c39a32bb347\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610462,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610462,\"participants\":[{\"id\":996353,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996354,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.NOTICE: Monitoring start {\"correlation_id\":\"5b7106d8-bc2c-44e7-a8f5-0ac98a517b36\",\"trace_id\":\"2744a9e8-e2f2-4af5-8e00-acc1fbf6fca1\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610462,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.NOTICE: Monitoring end {\"correlation_id\":\"5b7106d8-bc2c-44e7-a8f5-0ac98a517b36\",\"trace_id\":\"2744a9e8-e2f2-4af5-8e00-acc1fbf6fca1\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610462,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"6d69ede9-c19e-418f-aa34-767b1ac7741c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610451,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610451,\"participants\":[{\"id\":996340,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996341,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610451,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610451,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"d1e8e009-e946-42c8-9be8-000ffd135724\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610438,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610438,\"participants\":[{\"id\":996320,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996321,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610438,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610438,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"2ee60378-c47a-48e7-a6ce-e838e4b4a452\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610426,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610426,\"participants\":[{\"id\":996306,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996307,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610426,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610426,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"972c6a9c-21d7-47df-a4e3-b27accec019c\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610403,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":null,\"account_id\":null,\"opportunity_id\":22,\"stage_id\":null}} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610403,\"participants\":[{\"id\":996282,\"user_id\":null,\"contact_id\":null,\"lead_id\":null},{\"id\":996283,\"user_id\":18,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610403,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610403,\"remote_search\":true,\"lead_id\":null,\"contact_id\":null,\"account_id\":26,\"opportunity_id\":22,\"stage_id\":89} {\"correlation_id\":\"fb9631f5-33b2-4449-803c-6582b113f599\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.22,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":610400,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":null,\"opportunity_id\":309,\"stage_id\":null}} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":610400,\"participants\":[{\"id\":996275,\"user_id\":1460,\"contact_id\":null,\"lead_id\":null},{\"id\":996276,\"user_id\":206,\"contact_id\":null,\"lead_id\":null},{\"id\":996277,\"user_id\":null,\"contact_id\":4487,\"lead_id\":null}]} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610400,\"team_id\":2,\"email\":\"aneliya.angelova@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610400,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:08] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {\"activity\":610400,\"remote_search\":true,\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34} {\"correlation_id\":\"41654d7c-6174-4cbf-9ef6-2b611b47ed1e\",\"trace_id\":\"4a45cda2-1db9-4f98-8a4f-af58991bc386\"}\n[2026-05-11 10:08:09] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:skip-lists:refresh\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6db45444-ce74-45d2-9bba-e6763553004e\",\"trace_id\":\"949c3cba-a469-49a8-aa46-feed32f893a2\"}\n[2026-05-11 10:08:09] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:skip-lists:refresh\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6db45444-ce74-45d2-9bba-e6763553004e\",\"trace_id\":\"949c3cba-a469-49a8-aa46-feed32f893a2\"}\n[2026-05-11 10:08:13] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e9b75ded-4381-49be-9c99-dcc975ae39f4\",\"trace_id\":\"5333f4bf-906e-45ef-b138-6bb07b091938\"}\n[2026-05-11 10:08:13] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e9b75ded-4381-49be-9c99-dcc975ae39f4\",\"trace_id\":\"5333f4bf-906e-45ef-b138-6bb07b091938\"}\n[2026-05-11 10:08:13] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"e9b75ded-4381-49be-9c99-dcc975ae39f4\",\"trace_id\":\"5333f4bf-906e-45ef-b138-6bb07b091938\"}\n[2026-05-11 10:08:13] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"e9b75ded-4381-49be-9c99-dcc975ae39f4\",\"trace_id\":\"5333f4bf-906e-45ef-b138-6bb07b091938\"}\n[2026-05-11 10:08:13] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.1,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"59e3fe1b-aa6d-4cb1-9824-74a21abcce17\",\"trace_id\":\"8ccca438-10cb-4f24-a0a1-4bcd63b85711\"}\n[2026-05-11 10:08:14] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e88c8e1f-bcfd-41ef-82d8-3b381b93fa2c\",\"trace_id\":\"375a6b18-d1f4-4441-952e-7035f4a875b6\"}\n[2026-05-11 10:08:14] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 10:06:00, 2026-05-11 10:08:00] {\"correlation_id\":\"e88c8e1f-bcfd-41ef-82d8-3b381b93fa2c\",\"trace_id\":\"375a6b18-d1f4-4441-952e-7035f4a875b6\"}\n[2026-05-11 10:08:14] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 10:06:00, 2026-05-11 10:08:00] {\"correlation_id\":\"e88c8e1f-bcfd-41ef-82d8-3b381b93fa2c\",\"trace_id\":\"375a6b18-d1f4-4441-952e-7035f4a875b6\"}\n[2026-05-11 10:08:14] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"e88c8e1f-bcfd-41ef-82d8-3b381b93fa2c\",\"trace_id\":\"375a6b18-d1f4-4441-952e-7035f4a875b6\"}\n[2026-05-11 10:08:16] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"037a715b-5ea5-4cb0-8766-3ec8c1a0ba87\",\"trace_id\":\"5ae4a5b9-55b0-419c-a14c-4931c05438f1\"}\n[2026-05-11 10:08:16] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"037a715b-5ea5-4cb0-8766-3ec8c1a0ba87\",\"trace_id\":\"5ae4a5b9-55b0-419c-a14c-4931c05438f1\"}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8147309315071151082
|
4036536218774743331
|
visual_change
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20725-handle-HS-search Project: faVsco.js, menu
JY-20725-handle-HS-search-rate-limit, menu
Start Listening for PHP Debug Connections
HandleHubspotRateLimitTest
Run 'HandleHubspotRateLimitTest'
Debug 'HandleHubspotRateLimitTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
5
133
11
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Console\Commands;
use Carbon\Carbon;
use Carbon\CarbonImmutable;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Redis;
use InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
use Jiminny\Jobs\Crm\Delete\VerifyActivityCrmTaskJob;
use Jiminny\Jobs\Crm\MatchActivityCrmData;
use Jiminny\Jobs\JobDispatcherInterface;
use Jiminny\Models\Activity;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Services\Activity\CrmOwnerResolver;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Jiminny\Services\UserPilot\UserPilotClient;
/**
* Class JiminnyDebugCommand
*
* @package Jiminny\Console\Commands
*/
class JiminnyDebugCommand extends Command
{
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
protected $signature = 'jiminny:debug';
public function handle(
JobDispatcherInterface $jobDispatcher,
AutomatedReportsService $automatedReportsService,
AutomatedReportsRepository $automatedReportsRepository,
UserPilotClient $userPilotClient
): void {
// Choose ONE of the following to run, then comment out the others.
// 1) Dispatch a storm of MatchActivityCrmData jobs against team 2
$this->simulateMatchActivityStorm(teamId: 2, count: 100);
// 2) Dispatch a storm of VerifyActivityCrmTaskJob jobs (simulates DeleteCrmEntityTrait fan-out)
// $this->simulateVerifyTaskStorm(teamId: 2, count: 100);
// 3) Inspect Redis circuit-breaker state for the team's HubSpot portal
// $this->observeRateLimitCache(teamId: 2);
// 4) Make 3 synchronous matchByName calls (foreground, hits API directly)
// $this->rateLimit();
exit(1);
$report = AutomatedReport::find(71);
$last = AutomatedReportResult::query()
->where('report_id', $report->getId())
->whereIn('status', [AutomatedReportResult::STATUS_DEFAULT, AutomatedReportResult::STATUS_FAILED])
// ->where('reason', '!=', AutomatedReportResult::REASON_NOT_ENOUGH_ACTIVITIES)
->whereDate('created_at', CarbonImmutable::now()->toDateString())
->latest()
->first();
$this->info("Last: {$last->getId()}");
exit(1);
$user = User::find(143);
// $count = $automatedReportsRepository->countUserReports($user);
// $this->info("Count: {$count}");
// $count = $automatedReportsRepository->countAllUserReports($user);
// $this->info("All count: {$count}");
$payload = [
'report_type' => 'ask_jiminny',
'frequency' => 'weekly',
];
$userPilotClient->track($user, 'ask-jiminny-report-generated', $payload);
exit(1);
$now = Carbon::now()->subDay(1);
$this->info("Now: {$now->toDateTimeString()}");
$weekStart = Carbon::getWeekStartsAt();
$this->info("Now: {$weekStart}");
// $from = $now->copy()->previousWeekday()->startOfDay();
// $to = $now->copy()->previousWeekday()->endOfDay();
// $fromOld = $now->copy()->subWeeks(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subWeek()->startOfWeek();
// $toNew = $now->copy()->subWeek()->endOfWeek();
// $fromOld = $now->copy()->subMonths(1)->startOfDay();
// $toOld = $now->copy()->subDay()->endOfDay();
// $fromNew = $now->copy()->subMonthNoOverflow()->startOfMonth();
// $toNew = $now->copy()->subMonthNoOverflow()->endOfMonth();
$fromOld = $now->copy()->subMonths(3)->startOfDay();
$toOld = $now->copy()->subDay()->endOfDay();
$fromNew = $now->copy()->subQuarterNoOverflow()->startOfQuarter();
$toNew = $now->copy()->subQuarterNoOverflow()->endOfQuarter();
$this->info("From old: {$fromOld->toDateTimeString()}");
$this->info("To old: {$toOld->toDateTimeString()}");
$this->info("From new: {$fromNew->toDateTimeString()}");
$this->info("To new: {$toNew->toDateTimeString()}");
exit(1);
$report = AutomatedReport::find(71);
$job = new RequestGenerateAskJiminnyReportJob($report->getUuid());
$jobDispatcher->dispatch($job);
exit(1);
// $this->formatDate($jobDispatcher);
// $this->sendMail($jobDispatcher, $automatedReportsService);
// $this->crmService();
$this->getPayload($automatedReportsService);
exit(1);
}
private function crmService()
{
$activity = Activity::find(418141);
$team = Team::find(19);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
$crmService->createTranscriptNotes($activity);
}
private function sendMail(JobDispatcherInterface $jobDispatcher, AutomatedReportsService $automatedReportsService)
{
$reportUuid = '';
// $report = $automatedReportsService->getReportResult($reportUuid);
$report = AutomatedReportResult::find(275);
$validRecipients = $automatedReportsService->getValidRecipientUsers(
$report->getReport(),
includeJiminny: true,
);
$recipient = $validRecipients[0];
$fileName = $automatedReportsService->getReportFileName($report);
$typeName = $report->getReport()->getCustomName()
?? $automatedReportsService->getReportTypeName($report);
$teamsName = $automatedReportsService->getReportTeamsName($report);
$periodName = $automatedReportsService->getReportPeriodName($report);
$s3Path = $automatedReportsService->getMediaPath($report);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$fileName ' . PHP_EOL . print_r($fileName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$typeName ' . PHP_EOL . print_r($typeName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$teamsName ' . PHP_EOL . print_r($teamsName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$periodName ' . PHP_EOL . print_r($periodName, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$s3Path ' . PHP_EOL . print_r($s3Path, true));
$jobDispatcher->dispatch(
new SendReportMailJob(
reportUuid: $report->getUuid(),
s3Path: $s3Path,
recipientEmail: $recipient['email'],
recipientName: $recipient['name'] ?? null,
fileName: $fileName,
typeName: $typeName,
teamsName: $teamsName,
periodName: $periodName,
isAskJiminny: true,
)
);
exit(1);
}
private function formatDate(JobDispatcherInterface $jobDispatcher): void
{
$customName = 'Custom report name';
// $frequency = self::FREQUENCY_DAILY;
// $frequency = self::FREQUENCY_WEEKLY;
$frequency = self::FREQUENCY_MONTHLY;
// $frequency = self::FREQUENCY_QUARTERLY;
// $frequency = self::FREQUENCY_ONE_OFF;
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
$periodName = $this->formatReportPeriodName($frequency, $from, $to);
$filenameSuffix = null;
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
$result = $this->sanitizeFileName("{$customName} - {$periodName}");
}
$this->info($result);
}
public function calculateFromAndToDatePeriod(
string $frequency,
?Carbon $fromDate = null,
?Carbon $toDate = null
): array {
if ($frequency === self::FREQUENCY_ONE_OFF) {
return [
'fromDate' => $fromDate,
'toDate' => $toDate,
];
}
$now = Carbon::now();
return match ($frequency) {
self::FREQUENCY_DAILY => [
'fromDate' => $now->copy()->subDay()->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_WEEKLY => [
'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_MONTHLY => [
'fromDate' => $now->copy()->subMonths(1)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
self::FREQUENCY_QUARTERLY => [
'fromDate' => $now->copy()->subMonths(3)->startOfDay(),
'toDate' => $now->copy()->subDay()->endOfDay(),
],
default => throw new InvalidArgumentException("Unsupported frequency: {$frequency}"),
};
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
private function getPayload(AutomatedReportsService $automatedReportsService)
{
$reportResult = AutomatedReportResult::find(269);
$automatedReport = $reportResult->getReport();
$activityIds = [1,2,3];
$payload = $automatedReportsService->getAskJiminnyGenerateReportPayload(
automatedReport: $automatedReport,
reportResult: $reportResult,
activityIds: $activityIds,
);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$payload ' . PHP_EOL . print_r($payload, true));
}
private function rateLimit()
{
$team = Team::find(2);
$config = $team->getCrmConfiguration();
$crmResolver = app(CrmOwnerResolver::class, [
'team' => $team,
'integrationAdmin' => $team->getOwner(),
'providerSlug' => $config->getProviderName(),
]);
$crmService = $crmResolver->prepareCrmService();
for ($i = 0 ; $i < 3; $i++) {
// if ($i % 25 === 0) {
// $this->info("Syncing opportunity {$i}");
$this->info("Matching contact {$i}");
// }
// $crmService->syncOpportunity('374720564');
$crmService->matchByName('Robot');
}
}
private function simulateMatchActivityStorm(int $teamId = 2, int $count = 100): void
{
$team = Team::find($teamId);
$config = $team->getCrmConfiguration();
$activities = Activity::query()
->where('crm_configuration_id', $config->getId())
->orderByDesc('id')
->limit($count)
->get();
$this->info("Dispatching {$activities->count()} MatchActivityCrmData jobs (portal={$config->getId()})");
foreach ($activities as $activity) {
MatchActivityCrmData::dispatch($activity->getId(), $config, true);
}
$this->info('Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.');
}
private function simulateVerifyTaskStorm(int $teamId = 2, int $count = 100): void
{
$activities = Activity::query()
->where('team_id', $teamId)
->whereNotNull('crm_provider_id')
->orderByDesc('id')
->limit($count)
->get();
$this->info("Dispatching {$activities->count()} VerifyActivityCrmTaskJob jobs");
foreach ($activities as $activity) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
$this->info('Done.');
}
private function observeRateLimitCache(int $teamId = 2): void
{
$team = Team::find($teamId);
$config = $team->getCrmConfiguration();
$key = sprintf('hubspot:ratelimit:portal:%d', $config->getId());
$value = Redis::get($key);
$ttl = Redis::ttl($key);
$this->info("Redis key: {$key}");
$this->info('Value: ' . ($value ?? '(empty)'));
$this->info("TTL: {$ttl}s");
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
240
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:07:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":615092,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [MatchActivityCrmData] Participants old state {"activity":615092,"participants":[{"id":1004102,"user_id":null,"contact_id":null,"lead_id":null},{"id":1004103,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [Hubspot] Failed to fetch contact {"email":"[EMAIL]","reason":"[404] Client error: `GET https://api.hubapi.com/crm/v3/objects/contacts/nikolay.nikolov%40jiminny.com?properties=email%2Cfirstname%2Clastname%2Ccountry%2Cphone%2Cmobilephone%2Cjobtitle%2Chubspot_owner_id%2Cassociatedcompanyid%2Cphoto&archived=0&idProperty=email` resulted in a `404 Not Found` response"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [Hubspot] Pagination completed {"team_id":2,"endpoint":"https://api.hubapi.com/crm/v3/objects/contact/search","total_requests":1,"total_records_fetched":0,"total_elapsed_seconds":0.36,"average_seconds_per_request":0.36} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [Prospect match] Cache miss {"identifier_type":"domain","identifier":"jiminny.com","crm":"hubspot"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"domain","identifier":"jiminny.com"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [HubSpot] importAccount {"crm_provider_id":"749766179","config_id":2} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:49] local.INFO: [HubSpot] CRM Search requested {"request":{"filterGroups":[{"filters":[{"propertyName":"associations.company","operator":"EQ","value":"749766179"},{"propertyName":"dealstage","operator":"NOT_IN","values":["closedwon","4040964","59247967"]},{"propertyName":"dealstage","operator":"NOT_IN","values":["closedlost","4040965","59247968"]}]}],"sorts":[{"propertyName":"modifieddate","direction":"DESCENDING"}],"properties":["dealname","amount","hubspot_owner_id","pipeline","dealstage","closedate","deal_currency_code"],"limit":200}} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [Hubspot] Pagination completed {"team_id":2,"endpoint":"https://api.hubapi.com/crm/v3/objects/deals/search","total_requests":1,"total_records_fetched":10,"total_elapsed_seconds":0.29,"average_seconds_per_request":0.29} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {"worker":"","peak_memory":"99.73 MB","elapsed_seconds":1.02,"update_target":"activities","should_iterate_again":false} {"correlation_id":"59e3fe1b-aa6d-4cb1-9824-74a21abcce17","trace_id":"8ccca438-10cb-4f24-a0a1-4bcd63b85711"}
[2026-05-11 10:07:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":615092,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":615092,"participants_processed":2,"exact_matches":0,"domain_matches":1,"best_match_found":true} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":615092,"remote_search":true,"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89} {"correlation_id":"41138ff0-7c9e-4a50-a629-d81e2044f2bd","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614436,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Participants old state {"activity":614436,"participants":[{"id":1002751,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002752,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":614436,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":614436,"participants_processed":2,"exact_matches":0,"domain_matches":1,"best_match_found":true} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":614436,"remote_search":true,"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89} {"correlation_id":"45d6d906-376a-4dcd-94da-8653341248dc","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614382,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:50] local.INFO: [MatchActivityCrmData] Participants old state {"activity":614382,"participants":[{"id":1002632,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002633,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":614382,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":614382,"participants_processed":2,"exact_matches":0,"domain_matches":1,"best_match_found":true} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":614382,"remote_search":true,"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89} {"correlation_id":"e9723194-ad8c-4fa8-84da-6c75f15eda85","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614381,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {"activity":614381,"participants":[{"id":1002630,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002631,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":614381,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":614381,"participants_processed":2,"exact_matches":0,"domain_matches":1,"best_match_found":true} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":614381,"remote_search":true,"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89} {"correlation_id":"1c38cae9-2118-478e-9cb6-900321774ca2","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":26,"opportunity_id":22,"stage_id":89}} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614378} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614378,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {"activity":614378,"participants":[{"id":1002623,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002624,"user_id":null,"contact_id":null,"lead_id":null},{"id":1002625,"user_id":89,"contact_id":null,"lead_id":null}]} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Resolved company domain from email {"email":"[EMAIL]","domain":"jiminny.com"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Syncing potentially stale record {"model":"Jiminny\\Models\\Contact","id":6167,"crm_provider_id":"175190591289","updated_at":"2025-11-17 11:17:50"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [HubSpot] importContact {"crm_provider_id":"175190591289","config_id":2} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [StaleRecordValidator] Record synced successfully {"model":"Jiminny\\Models\\Contact","id":6167,"crm_provider_id":"175190591289"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":614378,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":614378,"participants_processed":3,"exact_matches":1,"domain_matches":1,"best_match_found":true} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614378} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614378,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":614378,"remote_search":true,"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null} {"correlation_id":"f7f61c55-f3ab-4125-947c-38cc43246a94","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":613840,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":244,"opportunity_id":350,"stage_id":34}} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":613840} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":613840,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {"activity":613840,"participants":[{"id":1001764,"user_id":null,"contact_id":4487,"lead_id":null},{"id":1001765,"user_id":261,"contact_id":null,"lead_id":null}]} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {"account_id":244,"contact_id":4487,"owner_id":261} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: ProspectCache - Opportunity DB search results {"account_id":244,"contact_id":4487,"opportunity_id":299} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":613840,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] CRM matching completed {"activity_id":613840,"participants_processed":2,"exact_matches":1,"domain_matches":0,"best_match_found":true} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":613840} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":613840,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":613840,"remote_search":true,"lead_id":null,"contact_id":4487,"account_id":244,"opportunity_id":299,"stage_id":36} {"correlation_id":"aa118a8f-934e-49d2-8c98-fc1cf0840004","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":613833,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":null,"account_id":244,"opportunity_id":350,"stage_id":34}} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":613833} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":613833,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [MatchActivityCrmData] Participants old state {"activity":613833,"participants":[{"id":1001750,"user_id":null,"contact_id":4487,"lead_id":null},{"id":1001751,"user_id":261,"contact_id":null,"lead_id":null}]} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","trace_id":"4a45cda2-1db9-4f98-8a4f-af58991bc386"}
[2026-05-11 10:07:51] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"activity_id":613833,"team_id":2,"email":"[EMAIL]"} {"correlation_id":"311abcaa-fd86-45a1-8751-c5109002a67b","tr...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
3225
|
124
|
29
|
2026-05-07T12:07:57.211734+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778155677211_m2.jpg...
|
iTerm2
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
* PostmanEditVIewWindowmelpHubSpot rate limit impl * PostmanEditVIewWindowmelpHubSpot rate limit implementation strategy vcan I call it trom postman 100 timesEvaluated Postman testing methods and rate limit behavior implications ›Yes. easily. Postman has a built-in Collection Runner for this.How to do it1. Save the request to a collection (right-click → Save).2. Click Run collection (the play icon next to the collection name) or open therunner from the bottom-left.3. Set Iterations: 100. Delay: 0 (or a small value like 50ms).4. Hit RunYou'll get a results view showing each iteration's status code response time and (ifyou click into them the headers.What vou'll actuallv seeCince vol connrmed May=110 Tinterval=t dddd•• At Oms delav. 100 iterations: Postman pushes calls as fast as TCP allows —typically 5-10 calls/second on a normal connection. You'll likelv see all 100succeed because 100 < 110 in 10 seconds, and each call's latency naturally spacesthings out. The X-HubSpot-RateLimit-Remaining header willdron from 109 →108 → 107 ... down to maybe ~10-20 by the end, then recover as the 10-secondwindow siides torward.• To deliberatelv hit a 429: set iterations to 120+ with Oms delav. You'llsee thenret ~l0 reruirn2o0. then 2 bulrct of 42es with nol ievname :TEN SECONDIY ROLITNG• To test the search limit instead: point the request at a search endpoint (e.g..POST /crm/v3/obiects/contacts/search with aminimalbody).setiterationsto 10. delav to 0. You'll trigger 429s wi J plicyName: SECONDLY after the 5thcall within a second. Faster and cheader to reproduce than the burst limitKeep going in Claude CodeSwitch to Claude Code and let Claude work directiv in vour.repo. running and testing as it goesWrite a message…Opus 4. AdaptiveHubspot rate limits reference - MDUse timeZone to interpret resetsAt from the daily erCheat sheet: profiling a new portal in PostmanThree calls, in order:1. GEl /account-into/v3/details → portalinto+GET /account-info/v3/api-usage/daily/privameaningful for private apps)3. Skip search probing — the 5/sec is fixedError response shape"message": "You have reached your secondly 1"errorType": "RATE LIMIT","policyName": "SECONDLY"."requestId": "..."nolncvname values.• SECONDLY - search bucket (5/sec)• TEN SECONDLY ROLLING - burst bucket (110/10sprivate)• DAILY — private apps dailv ceilingAlways inspect policyName on 429 to know which buchack offOther operational guidelines• Error responses must stay under 5% of total dailycertificationi• Polling endpoints: minimum interval 5 minutes.•Search querv. may 3.000 chars may 18 flters acrorecullts ver query.• Ratch enânoints. 1in to 100 records ner call regdlahel"supoont Dally • nowXx Hubspot vQ SearchYour team is now on the Free plan with 1 admin. You retain editing access and other members are read-only. View team permissions to see who can edit, or upgrade to restore collaborationGET ReadGET Get EnoGET aet deallNo environment v|x=COLLECTIONS>Associations> Associations V4> CMS - URL Redirects API Collection> Companies• CAMOADG> Contactsv CRM Objectsv 7 crm/v3/obiects/obiect Tvpel> 0 batchv7 Kobiect Idy> [ associations/{to Object Type)/ GET Readge: An error occurred.eg. successful overation>DEL Archive> PATCH UpdateGEt list> POST Filter, Sort, and Search CRM Objects> CRM Owners> CRM Pipelines> Dealsv Engagements> OLD ENGAGEMENTSGET list meetingspost conrch tackeGET read call> POST search callsGet list callsPOST meetings scheduledGET get meetingPOSt get link to task> POST Create Contact with AssociationUnkennt> Iteration run HSv Journal & webhoooks v4POST Get tokenGET get subscriptionsPOST create subscriotionCAMIDONMCNTG> SPFCSELOWSa Connect Git = Concoleo.) Termin100% L2Inu / May 10.0/:00UparadeY AI XEAll variablesE environmentNo environment selected. Select envionmenG GlobalstokenCKPur5PgMxIZQINQ.baseUrlhttps://apl.hubapi.comdev-tokenCLLm5NnQMxIRQIN.• Local VaultStore your API secrets locally in vault.Set uo vaultGlobals Vault Tools?000...
|
NULL
|
8146101800887140107
|
NULL
|
visual_change
|
ocr
|
NULL
|
* PostmanEditVIewWindowmelpHubSpot rate limit impl * PostmanEditVIewWindowmelpHubSpot rate limit implementation strategy vcan I call it trom postman 100 timesEvaluated Postman testing methods and rate limit behavior implications ›Yes. easily. Postman has a built-in Collection Runner for this.How to do it1. Save the request to a collection (right-click → Save).2. Click Run collection (the play icon next to the collection name) or open therunner from the bottom-left.3. Set Iterations: 100. Delay: 0 (or a small value like 50ms).4. Hit RunYou'll get a results view showing each iteration's status code response time and (ifyou click into them the headers.What vou'll actuallv seeCince vol connrmed May=110 Tinterval=t dddd•• At Oms delav. 100 iterations: Postman pushes calls as fast as TCP allows —typically 5-10 calls/second on a normal connection. You'll likelv see all 100succeed because 100 < 110 in 10 seconds, and each call's latency naturally spacesthings out. The X-HubSpot-RateLimit-Remaining header willdron from 109 →108 → 107 ... down to maybe ~10-20 by the end, then recover as the 10-secondwindow siides torward.• To deliberatelv hit a 429: set iterations to 120+ with Oms delav. You'llsee thenret ~l0 reruirn2o0. then 2 bulrct of 42es with nol ievname :TEN SECONDIY ROLITNG• To test the search limit instead: point the request at a search endpoint (e.g..POST /crm/v3/obiects/contacts/search with aminimalbody).setiterationsto 10. delav to 0. You'll trigger 429s wi J plicyName: SECONDLY after the 5thcall within a second. Faster and cheader to reproduce than the burst limitKeep going in Claude CodeSwitch to Claude Code and let Claude work directiv in vour.repo. running and testing as it goesWrite a message…Opus 4. AdaptiveHubspot rate limits reference - MDUse timeZone to interpret resetsAt from the daily erCheat sheet: profiling a new portal in PostmanThree calls, in order:1. GEl /account-into/v3/details → portalinto+GET /account-info/v3/api-usage/daily/privameaningful for private apps)3. Skip search probing — the 5/sec is fixedError response shape"message": "You have reached your secondly 1"errorType": "RATE LIMIT","policyName": "SECONDLY"."requestId": "..."nolncvname values.• SECONDLY - search bucket (5/sec)• TEN SECONDLY ROLLING - burst bucket (110/10sprivate)• DAILY — private apps dailv ceilingAlways inspect policyName on 429 to know which buchack offOther operational guidelines• Error responses must stay under 5% of total dailycertificationi• Polling endpoints: minimum interval 5 minutes.•Search querv. may 3.000 chars may 18 flters acrorecullts ver query.• Ratch enânoints. 1in to 100 records ner call regdlahel"supoont Dally • nowXx Hubspot vQ SearchYour team is now on the Free plan with 1 admin. You retain editing access and other members are read-only. View team permissions to see who can edit, or upgrade to restore collaborationGET ReadGET Get EnoGET aet deallNo environment v|x=COLLECTIONS>Associations> Associations V4> CMS - URL Redirects API Collection> Companies• CAMOADG> Contactsv CRM Objectsv 7 crm/v3/obiects/obiect Tvpel> 0 batchv7 Kobiect Idy> [ associations/{to Object Type)/ GET Readge: An error occurred.eg. successful overation>DEL Archive> PATCH UpdateGEt list> POST Filter, Sort, and Search CRM Objects> CRM Owners> CRM Pipelines> Dealsv Engagements> OLD ENGAGEMENTSGET list meetingspost conrch tackeGET read call> POST search callsGet list callsPOST meetings scheduledGET get meetingPOSt get link to task> POST Create Contact with AssociationUnkennt> Iteration run HSv Journal & webhoooks v4POST Get tokenGET get subscriptionsPOST create subscriotionCAMIDONMCNTG> SPFCSELOWSa Connect Git = Concoleo.) Termin100% L2Inu / May 10.0/:00UparadeY AI XEAll variablesE environmentNo environment selected. Select envionmenG GlobalstokenCKPur5PgMxIZQINQ.baseUrlhttps://apl.hubapi.comdev-tokenCLLm5NnQMxIRQIN.• Local VaultStore your API secrets locally in vault.Set uo vaultGlobals Vault Tools?000...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
23493
|
990
|
8
|
2026-05-12T07:55:52.324181+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778572552324_m1.jpg...
|
Slack
|
Huddle: @Petko Kashinski - Jiminny Inc - Slack
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
AI Notes: Off
Thread
Every huddle has a thread
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"AI Notes: Off","depth":13,"bounds":{"left":0.013888889,"top":0.08111111,"width":0.10486111,"height":0.033333335},"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Thread","depth":13,"bounds":{"left":0.76111114,"top":0.06333333,"width":0.04027778,"height":0.057777777},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Every huddle has a thread","depth":18,"bounds":{"left":0.7722222,"top":0.1411111,"width":0.12083333,"height":0.02},"on_screen":true,"role_description":"text"}]...
|
8145989522744177227
|
592053534302891725
|
visual_change
|
hybrid
|
NULL
|
AI Notes: Off
Thread
Every huddle has a thread
Sla AI Notes: Off
Thread
Every huddle has a thread
SlackFileEditViewGoHistoryWindowHelp>O lho6д Huddle with Petko Kashinski§ Support Daily - in 4h 5 m100% C 8• Tue 12 May 10:55:51?= Al Notes: OffThreadX® Every huddle has a threadSend messages, files, and links to everyone in thehuddle. They're saved as a thread in this directmessage with @Petko Kashinski, so you canaccess it even after the huddle is done.Reply...• Also send as direct message+Aa.*•1PS$11Passwordail&ГАLeave...
|
23492
|
NULL
|
NULL
|
NULL
|
|
23900
|
1003
|
76
|
2026-05-12T08:30:17.240929+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778574617240_m2.jpg...
|
Firefox
|
Jiminny — Work
|
True
|
app.jiminny.com/ai-reports
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
New Tab
New Tab
Jy 20820 es reindex stream model h New Tab
New Tab
Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app
Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
Pipelines - jiminny/app
Pipelines - jiminny/app
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
[JY-20776] Automated report - sentry - Jira
[JY-20776] Automated report - sentry - Jira
TypeError: 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 — jiminny — app
TypeError: 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 — jiminny — app
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
JY-20625 | JY-20742 | MCP POC by yalokin-jiminny · Pull Request #12036 · jiminny/app
JY-20625 | JY-20742 | MCP POC by yalokin-jiminny · Pull Request #12036 · jiminny/app
Data Explorer
Data Explorer
[JY-20776] Automated report - sentry - Jira
[JY-20776] Automated report - sentry - Jira
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
6
6
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
2026
Mo
Tu
We
Th
Fr
Sa
Su
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
Mo
30
6
13
20
27
4
2026
Tu
31
7
14
21
28
5
2026
We
1
8
15
22
29
6
2026
Th
2
9
16
23
30
7
2026
Fr
3
10
17
24
1
8
2026
Sa
4
11
18
25
2
9
Su
5
12
19
26
3
10
2026
Mo
Tu
We
Th
Fr
Sa
Su
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
Mo
27
4
11
18
25
1
2026
Tu
28
5
12
19
26
2
2026
We
29
6
13
20
27
3
2026
Th
30
7
14
21
28
4...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.3643617,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.3776596,"top":0.06304868,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app","depth":4,"bounds":{"left":0.3643617,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app","depth":5,"bounds":{"left":0.3776596,"top":0.09577015,"width":0.16888298,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira","depth":4,"bounds":{"left":0.3643617,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira","depth":5,"bounds":{"left":0.3776596,"top":0.12849163,"width":0.16140293,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app","depth":4,"bounds":{"left":0.3643617,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app","depth":5,"bounds":{"left":0.3776596,"top":0.16121309,"width":0.18816489,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.3643617,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.3776596,"top":0.19393456,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.3643617,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.3776596,"top":0.22665602,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":4,"bounds":{"left":0.3643617,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20773] User Pilot not receiving events on report generated - Jira","depth":5,"bounds":{"left":0.3776596,"top":0.25937748,"width":0.1200133,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":4,"bounds":{"left":0.3643617,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":5,"bounds":{"left":0.3776596,"top":0.29209897,"width":0.19331782,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20776] Automated report - sentry - Jira","depth":4,"bounds":{"left":0.3643617,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20776] Automated report - sentry - Jira","depth":5,"bounds":{"left":0.3776596,"top":0.32482043,"width":0.07646277,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"TypeError: 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 — jiminny — app","depth":4,"bounds":{"left":0.3643617,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"TypeError: 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 — jiminny — app","depth":5,"bounds":{"left":0.3776596,"top":0.3575419,"width":0.40475398,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.3643617,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.3776596,"top":0.39026338,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20625 | JY-20742 | MCP POC by yalokin-jiminny · Pull Request #12036 · jiminny/app","depth":4,"bounds":{"left":0.3643617,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20625 | JY-20742 | MCP POC by yalokin-jiminny · Pull Request #12036 · jiminny/app","depth":5,"bounds":{"left":0.3776596,"top":0.42298484,"width":0.15159574,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Data Explorer","depth":4,"bounds":{"left":0.3643617,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Data Explorer","depth":5,"bounds":{"left":0.3776596,"top":0.4557063,"width":0.0234375,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20776] Automated report - sentry - Jira","depth":4,"bounds":{"left":0.3643617,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20776] Automated report - sentry - Jira","depth":5,"bounds":{"left":0.3776596,"top":0.4884278,"width":0.07646277,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.3643617,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.3776596,"top":0.5211492,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.43168217,"top":0.5171588,"width":0.007978723,"height":0.01915403},"on_screen":true,"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.3671875,"top":0.5442937,"width":0.07413564,"height":0.025538707},"on_screen":true,"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.3671875,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.37815824,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.38929522,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.40043217,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.41156915,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"6","depth":12,"bounds":{"left":0.44664228,"top":0.91380686,"width":0.015957447,"height":0.035115723},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"6","depth":14,"bounds":{"left":0.45611703,"top":0.9173983,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"AI Reports","depth":13,"bounds":{"left":0.47323802,"top":0.06943336,"width":0.031416222,"height":0.019553073},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Reports","depth":14,"bounds":{"left":0.47323802,"top":0.06943336,"width":0.031416222,"height":0.019553073},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Ask Jiminny reports","depth":13,"bounds":{"left":0.93267953,"top":0.06464485,"width":0.059341755,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny reports","depth":14,"bounds":{"left":0.94630986,"top":0.07222666,"width":0.04105718,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Report name","depth":17,"bounds":{"left":0.48603722,"top":0.10933759,"width":0.058011968,"height":0.019952115},"on_screen":true,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Period","depth":20,"bounds":{"left":0.563996,"top":0.114924185,"width":0.012799202,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.54853725,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mo","depth":24,"bounds":{"left":0.5093085,"top":0.1783719,"width":0.005984043,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tu","depth":24,"bounds":{"left":0.5221077,"top":0.1783719,"width":0.0043218085,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We","depth":24,"bounds":{"left":0.53307843,"top":0.1783719,"width":0.0063164895,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Th","depth":24,"bounds":{"left":0.54587764,"top":0.1783719,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fr","depth":24,"bounds":{"left":0.5581782,"top":0.1783719,"width":0.0039893617,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sa","depth":24,"bounds":{"left":0.56998,"top":0.1783719,"width":0.0043218085,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Su","depth":24,"bounds":{"left":0.5817819,"top":0.1783719,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":24,"bounds":{"left":0.5099734,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"31","depth":24,"bounds":{"left":0.5219415,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":24,"bounds":{"left":0.53507316,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":24,"bounds":{"left":0.54704124,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":24,"bounds":{"left":0.5590093,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":24,"bounds":{"left":0.5709774,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":24,"bounds":{"left":0.58294547,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":24,"bounds":{"left":0.51113695,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":24,"bounds":{"left":0.523105,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":24,"bounds":{"left":0.53507316,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":24,"bounds":{"left":0.54704124,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10","depth":24,"bounds":{"left":0.5578458,"top":0.22466081,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":24,"bounds":{"left":0.56981385,"top":0.22466081,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12","depth":24,"bounds":{"left":0.5817819,"top":0.22466081,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13","depth":24,"bounds":{"left":0.5099734,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14","depth":24,"bounds":{"left":0.5219415,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15","depth":24,"bounds":{"left":0.53390956,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16","depth":24,"bounds":{"left":0.54587764,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17","depth":24,"bounds":{"left":0.5578458,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18","depth":24,"bounds":{"left":0.56981385,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19","depth":24,"bounds":{"left":0.5817819,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":24,"bounds":{"left":0.5099734,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21","depth":24,"bounds":{"left":0.5219415,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22","depth":24,"bounds":{"left":0.53390956,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"23","depth":24,"bounds":{"left":0.54587764,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"24","depth":24,"bounds":{"left":0.5578458,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"25","depth":24,"bounds":{"left":0.56981385,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26","depth":24,"bounds":{"left":0.5817819,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27","depth":24,"bounds":{"left":0.5099734,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"28","depth":24,"bounds":{"left":0.5219415,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":24,"bounds":{"left":0.53390956,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":24,"bounds":{"left":0.54587764,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":24,"bounds":{"left":0.5590093,"top":0.29409418,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":24,"bounds":{"left":0.5709774,"top":0.29409418,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":24,"bounds":{"left":0.58294547,"top":0.29409418,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":24,"bounds":{"left":0.51113695,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":24,"bounds":{"left":0.523105,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":24,"bounds":{"left":0.53507316,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":24,"bounds":{"left":0.54704124,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":24,"bounds":{"left":0.5590093,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":24,"bounds":{"left":0.5709774,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10","depth":24,"bounds":{"left":0.5817819,"top":0.31723863,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mo","depth":24,"bounds":{"left":0.5093085,"top":0.1783719,"width":0.005984043,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":24,"bounds":{"left":0.5099734,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":24,"bounds":{"left":0.51113695,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13","depth":24,"bounds":{"left":0.5099734,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":24,"bounds":{"left":0.5099734,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27","depth":24,"bounds":{"left":0.5099734,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":24,"bounds":{"left":0.51113695,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.54853725,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tu","depth":24,"bounds":{"left":0.5221077,"top":0.1783719,"width":0.0043218085,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"31","depth":24,"bounds":{"left":0.5219415,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":24,"bounds":{"left":0.523105,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14","depth":24,"bounds":{"left":0.5219415,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21","depth":24,"bounds":{"left":0.5219415,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"28","depth":24,"bounds":{"left":0.5219415,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":24,"bounds":{"left":0.523105,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.54853725,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We","depth":24,"bounds":{"left":0.53307843,"top":0.1783719,"width":0.0063164895,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":24,"bounds":{"left":0.53507316,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":24,"bounds":{"left":0.53507316,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15","depth":24,"bounds":{"left":0.53390956,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22","depth":24,"bounds":{"left":0.53390956,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":24,"bounds":{"left":0.53390956,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":24,"bounds":{"left":0.53507316,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.54853725,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Th","depth":24,"bounds":{"left":0.54587764,"top":0.1783719,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":24,"bounds":{"left":0.54704124,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":24,"bounds":{"left":0.54704124,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16","depth":24,"bounds":{"left":0.54587764,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"23","depth":24,"bounds":{"left":0.54587764,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":24,"bounds":{"left":0.54587764,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":24,"bounds":{"left":0.54704124,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.54853725,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fr","depth":24,"bounds":{"left":0.5581782,"top":0.1783719,"width":0.0039893617,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":24,"bounds":{"left":0.5590093,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10","depth":24,"bounds":{"left":0.5578458,"top":0.22466081,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17","depth":24,"bounds":{"left":0.5578458,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"24","depth":24,"bounds":{"left":0.5578458,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":24,"bounds":{"left":0.5590093,"top":0.29409418,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":24,"bounds":{"left":0.5590093,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.54853725,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sa","depth":24,"bounds":{"left":0.56998,"top":0.1783719,"width":0.0043218085,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":24,"bounds":{"left":0.5709774,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":24,"bounds":{"left":0.56981385,"top":0.22466081,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18","depth":24,"bounds":{"left":0.56981385,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"25","depth":24,"bounds":{"left":0.56981385,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":24,"bounds":{"left":0.5709774,"top":0.29409418,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":24,"bounds":{"left":0.5709774,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Su","depth":24,"bounds":{"left":0.5817819,"top":0.1783719,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":24,"bounds":{"left":0.58294547,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12","depth":24,"bounds":{"left":0.5817819,"top":0.22466081,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19","depth":24,"bounds":{"left":0.5817819,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26","depth":24,"bounds":{"left":0.5817819,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":24,"bounds":{"left":0.58294547,"top":0.29409418,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10","depth":24,"bounds":{"left":0.5817819,"top":0.31723863,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.63796544,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mo","depth":24,"bounds":{"left":0.5987367,"top":0.1783719,"width":0.005984043,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tu","depth":24,"bounds":{"left":0.6115359,"top":0.1783719,"width":0.0043218085,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We","depth":24,"bounds":{"left":0.6225067,"top":0.1783719,"width":0.0063164895,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Th","depth":24,"bounds":{"left":0.6353058,"top":0.1783719,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fr","depth":24,"bounds":{"left":0.6476064,"top":0.1783719,"width":0.0039893617,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sa","depth":24,"bounds":{"left":0.6594083,"top":0.1783719,"width":0.0043218085,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Su","depth":24,"bounds":{"left":0.6712101,"top":0.1783719,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27","depth":24,"bounds":{"left":0.5994016,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"28","depth":24,"bounds":{"left":0.61136967,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":24,"bounds":{"left":0.62333775,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":24,"bounds":{"left":0.6353058,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":24,"bounds":{"left":0.6484375,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":24,"bounds":{"left":0.6604056,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":24,"bounds":{"left":0.67237365,"top":0.20151636,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":24,"bounds":{"left":0.60056514,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":24,"bounds":{"left":0.6125333,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":24,"bounds":{"left":0.62450135,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":24,"bounds":{"left":0.6364694,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":24,"bounds":{"left":0.6484375,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":24,"bounds":{"left":0.6604056,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10","depth":24,"bounds":{"left":0.6712101,"top":0.22466081,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":24,"bounds":{"left":0.5994016,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12","depth":24,"bounds":{"left":0.61136967,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13","depth":24,"bounds":{"left":0.62333775,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14","depth":24,"bounds":{"left":0.6353058,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15","depth":24,"bounds":{"left":0.64727396,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16","depth":24,"bounds":{"left":0.65924203,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17","depth":24,"bounds":{"left":0.6712101,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18","depth":24,"bounds":{"left":0.5994016,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19","depth":24,"bounds":{"left":0.61136967,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":24,"bounds":{"left":0.62333775,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21","depth":24,"bounds":{"left":0.6353058,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22","depth":24,"bounds":{"left":0.64727396,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"23","depth":24,"bounds":{"left":0.65924203,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"24","depth":24,"bounds":{"left":0.6712101,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"25","depth":24,"bounds":{"left":0.5994016,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26","depth":24,"bounds":{"left":0.61136967,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27","depth":24,"bounds":{"left":0.62333775,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"28","depth":24,"bounds":{"left":0.6353058,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":24,"bounds":{"left":0.64727396,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":24,"bounds":{"left":0.65924203,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"31","depth":24,"bounds":{"left":0.6712101,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":24,"bounds":{"left":0.60056514,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":24,"bounds":{"left":0.6125333,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":24,"bounds":{"left":0.62450135,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":24,"bounds":{"left":0.6364694,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":24,"bounds":{"left":0.6484375,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":24,"bounds":{"left":0.6604056,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":24,"bounds":{"left":0.67237365,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mo","depth":24,"bounds":{"left":0.5987367,"top":0.1783719,"width":0.005984043,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27","depth":24,"bounds":{"left":0.5994016,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":24,"bounds":{"left":0.60056514,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":24,"bounds":{"left":0.5994016,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18","depth":24,"bounds":{"left":0.5994016,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"25","depth":24,"bounds":{"left":0.5994016,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":24,"bounds":{"left":0.60056514,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.63796544,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tu","depth":24,"bounds":{"left":0.6115359,"top":0.1783719,"width":0.0043218085,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"28","depth":24,"bounds":{"left":0.61136967,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":24,"bounds":{"left":0.6125333,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12","depth":24,"bounds":{"left":0.61136967,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19","depth":24,"bounds":{"left":0.61136967,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26","depth":24,"bounds":{"left":0.61136967,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":24,"bounds":{"left":0.6125333,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.63796544,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We","depth":24,"bounds":{"left":0.6225067,"top":0.1783719,"width":0.0063164895,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":24,"bounds":{"left":0.62333775,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":24,"bounds":{"left":0.62450135,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13","depth":24,"bounds":{"left":0.62333775,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":24,"bounds":{"left":0.62333775,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27","depth":24,"bounds":{"left":0.62333775,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":24,"bounds":{"left":0.62450135,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":25,"bounds":{"left":0.63796544,"top":0.15522745,"width":0.00930851,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Th","depth":24,"bounds":{"left":0.6353058,"top":0.1783719,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":24,"bounds":{"left":0.6353058,"top":0.20151636,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":24,"bounds":{"left":0.6364694,"top":0.22466081,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14","depth":24,"bounds":{"left":0.6353058,"top":0.24780527,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21","depth":24,"bounds":{"left":0.6353058,"top":0.27094972,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"28","depth":24,"bounds":{"left":0.6353058,"top":0.29409418,"width":0.004654255,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":24,"bounds":{"left":0.6364694,"top":0.31723863,"width":0.0023271276,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8145775317310132591
|
-2592927471129102712
|
click
|
accessibility
|
NULL
|
New Tab
New Tab
Jy 20820 es reindex stream model h New Tab
New Tab
Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app
Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
JY-20725 add HS rate limit handling on activities rematching by LakyLak · Pull Request #12066 · jiminny/app
Pipelines - jiminny/app
Pipelines - jiminny/app
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20773] User Pilot not receiving events on report generated - Jira
[JY-20773] User Pilot not receiving events on report generated - Jira
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
[JY-20776] Automated report - sentry - Jira
[JY-20776] Automated report - sentry - Jira
TypeError: 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 — jiminny — app
TypeError: 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 — jiminny — app
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
JY-20625 | JY-20742 | MCP POC by yalokin-jiminny · Pull Request #12036 · jiminny/app
JY-20625 | JY-20742 | MCP POC by yalokin-jiminny · Pull Request #12036 · jiminny/app
Data Explorer
Data Explorer
[JY-20776] Automated report - sentry - Jira
[JY-20776] Automated report - sentry - Jira
Jiminny
Jiminny
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
6
6
AI Reports
AI Reports
Ask Jiminny reports
Ask Jiminny reports
Report name
Period
2026
Mo
Tu
We
Th
Fr
Sa
Su
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
Mo
30
6
13
20
27
4
2026
Tu
31
7
14
21
28
5
2026
We
1
8
15
22
29
6
2026
Th
2
9
16
23
30
7
2026
Fr
3
10
17
24
1
8
2026
Sa
4
11
18
25
2
9
Su
5
12
19
26
3
10
2026
Mo
Tu
We
Th
Fr
Sa
Su
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
Mo
27
4
11
18
25
1
2026
Tu
28
5
12
19
26
2
2026
We
29
6
13
20
27
3
2026
Th
30
7
14
21
28
4...
|
23898
|
NULL
|
NULL
|
NULL
|
|
8970
|
404
|
29
|
2026-05-08T11:52:39.862616+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-08/1778 /Users/lukas/.screenpipe/data/data/2026-05-08/1778241159862_m2.jpg...
|
Firefox
|
SevenShores\Hubspot\Exceptions\BadRequest: Client SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT — Work...
|
True
|
jiminny.sentry.io/issues/7007366572/events/e72ac6c jiminny.sentry.io/issues/7007366572/events/e72ac6ccaa9445e3ae04d55cb8c32844/?project=82419...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Unnamed Group
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Close tab
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app
JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
New Tab
New Tab
New Tab
AI Features | Datadog
AI Features | Datadog
Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app
Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app
Pipelines - jiminny/app
Pipelines - jiminny/app
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
Monitors
Monitors
Settings
Settings
Try Business
What's New
Help
[EMAIL]
Issues
Expand
Feed
Feed
Errors & Outages
Errors & Outages
Breached Metrics
Breached Metrics
Warnings
Warnings
User Feedback
User Feedback
Autofix
Autofix
Recently Run
Recently Run
All Views
All Views
Configure
Alerts Moved
Alerts
Moved
Issues
Issues
View Project Details
APP-1EED
Ask Seer
Ask Seer
/
Give Feedback
SevenShores\Hubspot\Exceptions\BadRequest
View events
Events (total)
Users (90d)
Level: Error
Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT","correlationId":"019e04ea-a (truncated...)
17K
0
Ongoing
/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php in Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::executeSearchRequest
Resolve
Resolve
More resolve options
Archive
Archive
Archive options
Subscribe
Share
More Actions
Priority
Modify issue priority
High
Assignee
Modify issue assignee
Lukas Kovalik
All Envs
All Envs
90D
90D
Add a search term
Add a search term
Close sidebar
Toggle graph series - Events
Events
17K
Toggle graph series - Users
Users
0
release 68% 874599
release
68%
874599
environment 92% production
environment
92%
production
runtime.name 100% php
runtime.name
100%
php
os.build 92% #1 SMP Tue Jun 17 10:29:19 UTC 2025
os.build
92%
#1 SMP Tue Jun 17 10:29:19 UTC 2025
View all tags
View all tags
Select issue content
Events
Previous Event
Next Event
First
First
First
Latest
Latest
Latest
Recommended
Recommended
Recommended
View More Events
View More Events
Copy as
Copy as
ID: e72ac6cc
12 hours ago
JSON
JSON
Highlights
Highlights
Stack Trace
Stack Trace
Trace
Trace
Tags
Tags
Context
Context
php
8.3.30
Linux
6.1.164-196.303.amzn2023.aarch64
882924
882924
production
Collapse Highlights Section
Highlights
Edit
Edit
handled
yes
level
error
transaction
--
url
--
Trace: Trace ID
c379cb6a6f224dcab13f4f1ed38d504b
c379cb6a6f224dcab13f4f1ed38d504b
Collapse Stack Trace Section
Stack Trace
Display options
Display
Copy as
Copy as
There are 2 chained exceptions in this event.
SevenShores\Hubspot\Exceptions\BadRequest
SevenShores\Hubspot\Exceptions\BadRequest
SevenShores\Hubspot\Exceptions\BadRequest
GuzzleHttp\Exception\ClientException
GuzzleHttp\Exception\ClientException
GuzzleHttp\Exception\ClientException
Client error: `POST
https://api.hubapi.com/crm/v3/objects/contact/search
https://api.hubapi.com/crm/v3/objects/contact/search
` resulted in a `429 Too Many Requests` response:
{"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT","correlationId":"019e04ea-a (truncated...)
mechanism
generic
handled
true
code
429
Crashed in non-app
:
/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
:111
in
GuzzleHttp\Exception\RequestException::create
Show 11 more frames
Show 11 more frames
/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
:163
in
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::executeSearchRequest
Copy file path
Open this line in GitHub
In App
158
}
159
160
private
function
executeSearchRequest
(
Client
$client
,
string
$endpoint
,
array
$payload
,
PaginationState
$state
)
:
array
161
{
162
try
{
163
$response
=
$client
->
getInstance
(
)
->
getClient
(
)
->
request
(
'POST'
,
$endpoint
,
[
'json'
=>
$payload
]
)
;
164
165
return
$response
->
toArray
(
)
;
166
}
catch
(
\
Exception
$e
)
{
167
if
(
$client
->
isUnauthorizedException
(
$e
)
)
{
168
$this
->
logger
->
warning
(
'[Hubspot] Got 401 during pagination, attempting token refresh'
,
[
client
Object Jiminny\Services\Crm\Hubspot\Client
endpoint
https://api.hubapi.com/crm/v3/objects/contact/search...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.2237367,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.23703457,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Unnamed Group","depth":4,"bounds":{"left":0.2265625,"top":0.08978452,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXRadioButton","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":4,"bounds":{"left":0.2265625,"top":0.11332801,"width":0.07679521,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":5,"bounds":{"left":0.23969415,"top":0.1245012,"width":0.4644282,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":4,"bounds":{"left":0.2265625,"top":0.14604948,"width":0.07679521,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":5,"bounds":{"left":0.23969415,"top":0.15722266,"width":0.4644282,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.29105717,"top":0.15323225,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"bounds":{"left":0.2237367,"top":0.17877094,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"bounds":{"left":0.23703457,"top":0.18994413,"width":0.10721409,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.21149242,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.22266561,"width":0.17037898,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.2237367,"top":0.2442139,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.23703457,"top":0.25538707,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.27693537,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.28810853,"width":0.18899602,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.2237367,"top":0.30965683,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.23703457,"top":0.32083002,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.3423783,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.35355148,"width":0.19331782,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Problem loading page","depth":4,"bounds":{"left":0.2237367,"top":0.37509975,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","depth":5,"bounds":{"left":0.23703457,"top":0.38627294,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Search the CRM - HubSpot docs","depth":4,"bounds":{"left":0.2237367,"top":0.40782124,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search the CRM - HubSpot docs","depth":5,"bounds":{"left":0.23703457,"top":0.41899443,"width":0.05651596,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.2237367,"top":0.4405427,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.23703457,"top":0.4517159,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.2237367,"top":0.47326416,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.23703457,"top":0.48443735,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.2237367,"top":0.5059856,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.23703457,"top":0.5171588,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"AI Features | Datadog","depth":4,"bounds":{"left":0.2237367,"top":0.5387071,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI Features | Datadog","depth":5,"bounds":{"left":0.23703457,"top":0.54988027,"width":0.037400264,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.5714286,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.5826017,"width":0.17037898,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.60415006,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.61532325,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.2265625,"top":0.63846767,"width":0.07413564,"height":0.025538707},"on_screen":true,"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.2265625,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.23753324,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.2486702,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.25980717,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.27094415,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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,"on_screen":false,"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,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Toggle organization menu","depth":11,"bounds":{"left":0.3101729,"top":0.059856344,"width":0.010638298,"height":0.025538707},"on_screen":true,"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,"bounds":{"left":0.3046875,"top":0.09736632,"width":0.021609042,"height":0.050678372},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"bounds":{"left":0.3103391,"top":0.13048683,"width":0.010305851,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Explore","depth":12,"bounds":{"left":0.3046875,"top":0.14804469,"width":0.021609042,"height":0.050678372},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Explore","depth":14,"bounds":{"left":0.30950797,"top":0.1811652,"width":0.011968086,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Dashboards","depth":12,"bounds":{"left":0.3046875,"top":0.19872306,"width":0.021609042,"height":0.05027933},"on_screen":true,"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.30585107,"top":0.23184358,"width":0.019281914,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Monitors","depth":12,"bounds":{"left":0.3046875,"top":0.2490024,"width":0.021609042,"height":0.050678372},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Monitors","depth":14,"bounds":{"left":0.30851063,"top":0.2821229,"width":0.013962766,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"bounds":{"left":0.3046875,"top":0.29968077,"width":0.021609042,"height":0.050678372},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.30867687,"top":0.33280128,"width":0.013630319,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Business","depth":10,"bounds":{"left":0.3101729,"top":0.88667196,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"What's New","depth":10,"bounds":{"left":0.3101729,"top":0.9114126,"width":0.010638298,"height":0.025538707},"on_screen":true,"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,"bounds":{"left":0.3101729,"top":0.93615323,"width":0.010638298,"height":0.025538707},"on_screen":true,"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,"bounds":{"left":0.3101729,"top":0.9680766,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Issues","depth":13,"bounds":{"left":0.26678857,"top":0.066640064,"width":0.014461436,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":13,"bounds":{"left":0.31233376,"top":0.061452515,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Feed","depth":15,"bounds":{"left":0.2634641,"top":0.10055866,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed","depth":17,"bounds":{"left":0.2677859,"top":0.10734238,"width":0.010638298,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Errors & Outages","depth":15,"bounds":{"left":0.2634641,"top":0.14046289,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Errors & Outages","depth":17,"bounds":{"left":0.2677859,"top":0.14724661,"width":0.03673537,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Breached Metrics","depth":15,"bounds":{"left":0.2634641,"top":0.16759777,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Breached Metrics","depth":17,"bounds":{"left":0.2677859,"top":0.17438148,"width":0.037898935,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Warnings","depth":15,"bounds":{"left":0.2634641,"top":0.19473264,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Warnings","depth":17,"bounds":{"left":0.2677859,"top":0.20151636,"width":0.019946808,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"User Feedback","depth":15,"bounds":{"left":0.2634641,"top":0.22186752,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"User Feedback","depth":17,"bounds":{"left":0.2677859,"top":0.22865124,"width":0.032081116,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Autofix","depth":13,"bounds":{"left":0.2634641,"top":0.26177174,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Autofix","depth":16,"bounds":{"left":0.26745346,"top":0.26855546,"width":0.016289894,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Recently Run","depth":15,"bounds":{"left":0.2634641,"top":0.28731045,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Recently Run","depth":17,"bounds":{"left":0.2677859,"top":0.29409418,"width":0.028922873,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"All Views","depth":15,"bounds":{"left":0.2634641,"top":0.3272147,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All Views","depth":17,"bounds":{"left":0.2677859,"top":0.3339984,"width":0.019281914,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Configure","depth":14,"bounds":{"left":0.26745346,"top":0.3735036,"width":0.021941489,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Alerts Moved","depth":15,"bounds":{"left":0.2634641,"top":0.39225858,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Alerts","depth":17,"bounds":{"left":0.2677859,"top":0.3990423,"width":0.012799202,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Moved","depth":17,"bounds":{"left":0.30418882,"top":0.39984038,"width":0.012466756,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Issues","depth":12,"bounds":{"left":0.3332779,"top":0.06464485,"width":0.013796543,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"bounds":{"left":0.3332779,"top":0.066640064,"width":0.013796543,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View Project Details","depth":13,"bounds":{"left":0.3537234,"top":0.06624102,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"APP-1EED","depth":16,"bounds":{"left":0.3617021,"top":0.066640064,"width":0.021941489,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Ask Seer","depth":10,"bounds":{"left":0.93484044,"top":0.059856344,"width":0.04720745,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Seer","depth":13,"bounds":{"left":0.9461436,"top":0.0650439,"width":0.019614361,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":14,"bounds":{"left":0.9740692,"top":0.065442935,"width":0.0021609042,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Give Feedback","depth":11,"bounds":{"left":0.9840425,"top":0.059856344,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View events","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Events (total)","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Users (90d)","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Level: Error","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT\",\"correlationId\":\"019e04ea-a (truncated...)","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17K","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ongoing","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php in Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::executeSearchRequest","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Resolve","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Resolve","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More resolve options","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Archive","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Archive","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Archive options","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Subscribe","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More Actions","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Priority","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Modify issue priority","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"High","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assignee","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Modify issue assignee","depth":13,"on_screen":false,"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,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"All Envs","depth":13,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"All Envs","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"90D","depth":13,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"90D","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Add a search term","depth":16,"on_screen":false,"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":16,"on_screen":false,"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":13,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Toggle graph series - Events","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Events","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17K","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Toggle graph series - Users","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Users","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":15,"bounds":{"left":0.3464096,"top":0.0,"width":0.0034906915,"height":0.01396648},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"release 68% 874599","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"release","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"68%","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"874599","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"environment 92% production","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"environment","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"92%","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"production","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"runtime.name 100% php","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"runtime.name","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"100%","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"php","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"os.build 92% #1 SMP Tue Jun 17 10:29:19 UTC 2025","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"os.build","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"92%","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#1 SMP Tue Jun 17 10:29:19 UTC 2025","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View all tags","depth":12,"bounds":{"left":0.76894945,"top":0.0,"width":0.027094414,"height":0.01556265},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"View all tags","depth":13,"bounds":{"left":0.76894945,"top":0.0,"width":0.027094414,"height":0.012370312},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Select issue content","depth":13,"bounds":{"left":0.3332779,"top":0.0,"width":0.028922873,"height":0.025538707},"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Events","depth":15,"bounds":{"left":0.33726728,"top":0.0,"width":0.01761968,"height":0.01396648},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Previous Event","depth":13,"bounds":{"left":0.7250665,"top":0.0,"width":0.00930851,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Next Event","depth":13,"bounds":{"left":0.734375,"top":0.0,"width":0.00930851,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"First","depth":14,"bounds":{"left":0.74601066,"top":0.0,"width":0.013630319,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"First","depth":15,"bounds":{"left":0.74601066,"top":0.0,"width":0.013630319,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"First","depth":17,"bounds":{"left":0.7486702,"top":0.0,"width":0.00831117,"height":0.010774142},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Latest","depth":14,"bounds":{"left":0.7609708,"top":0.0,"width":0.017121011,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Latest","depth":15,"bounds":{"left":0.7609708,"top":0.0,"width":0.017121011,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Latest","depth":17,"bounds":{"left":0.76363033,"top":0.0,"width":0.011801862,"height":0.010774142},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Recommended","depth":14,"bounds":{"left":0.77942157,"top":0.0,"width":0.033410903,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Recommended","depth":15,"bounds":{"left":0.77942157,"top":0.0,"width":0.033410903,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Recommended","depth":17,"bounds":{"left":0.7820811,"top":0.0,"width":0.028091755,"height":0.010774142},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View More Events","depth":13,"bounds":{"left":0.81416225,"top":0.0,"width":0.0390625,"height":0.022346368},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"View More Events","depth":15,"bounds":{"left":0.8168218,"top":0.0,"width":0.03374335,"height":0.010774142},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy as","depth":13,"bounds":{"left":0.85455453,"top":0.0,"width":0.03174867,"height":0.022346368},"on_screen":false,"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":15,"bounds":{"left":0.86319816,"top":0.0,"width":0.01512633,"height":0.010774142},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ID: e72ac6cc","depth":15,"bounds":{"left":0.33759972,"top":0.105347164,"width":0.028590426,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12 hours ago","depth":15,"bounds":{"left":0.37682846,"top":0.105347164,"width":0.027593086,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JSON","depth":14,"bounds":{"left":0.40924203,"top":0.10454908,"width":0.012134309,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JSON","depth":15,"bounds":{"left":0.40924203,"top":0.105347164,"width":0.012134309,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Highlights","depth":17,"bounds":{"left":0.7787567,"top":0.100159615,"width":0.024268618,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Highlights","depth":19,"bounds":{"left":0.78141624,"top":0.10614525,"width":0.018949468,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Stack Trace","depth":17,"bounds":{"left":0.80369014,"top":0.100159615,"width":0.026928192,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Stack Trace","depth":19,"bounds":{"left":0.80634975,"top":0.10614525,"width":0.021609042,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Trace","depth":17,"bounds":{"left":0.8312833,"top":0.100159615,"width":0.015292553,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Trace","depth":19,"bounds":{"left":0.83394283,"top":0.10614525,"width":0.009973404,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Tags","depth":17,"bounds":{"left":0.8472407,"top":0.100159615,"width":0.013962766,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tags","depth":19,"bounds":{"left":0.84990025,"top":0.10614525,"width":0.008643617,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Context","depth":17,"bounds":{"left":0.8618683,"top":0.100159615,"width":0.020113032,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Context","depth":19,"bounds":{"left":0.86452794,"top":0.10614525,"width":0.014793883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"php","depth":16,"bounds":{"left":0.34557846,"top":0.011971269,"width":0.00831117,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8.3.30","depth":16,"bounds":{"left":0.3558843,"top":0.011971269,"width":0.013962766,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Linux","depth":16,"bounds":{"left":0.38314494,"top":0.011971269,"width":0.011801862,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6.1.164-196.303.amzn2023.aarch64","depth":16,"bounds":{"left":0.39694148,"top":0.011971269,"width":0.076961435,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"882924","depth":17,"bounds":{"left":0.4865359,"top":0.011971269,"width":0.017121011,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"882924","depth":18,"bounds":{"left":0.4865359,"top":0.011971269,"width":0.017121011,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"production","depth":17,"bounds":{"left":0.5162899,"top":0.011971269,"width":0.023769947,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse Highlights Section","depth":14,"bounds":{"left":0.33759972,"top":0.045091778,"width":0.52144283,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Highlights","depth":17,"bounds":{"left":0.34624335,"top":0.052673582,"width":0.026595745,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit","depth":14,"bounds":{"left":0.86170214,"top":0.048284117,"width":0.018949468,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Edit","depth":16,"bounds":{"left":0.8703458,"top":0.054269753,"width":0.0076462766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"handled","depth":16,"bounds":{"left":0.34624335,"top":0.08220271,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"yes","depth":16,"bounds":{"left":0.40774602,"top":0.08220271,"width":0.0071476065,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"level","depth":16,"bounds":{"left":0.34624335,"top":0.09976058,"width":0.011968086,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"error","depth":16,"bounds":{"left":0.40774602,"top":0.09976058,"width":0.011968086,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"transaction","depth":16,"bounds":{"left":0.34624335,"top":0.11731844,"width":0.026263298,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":16,"bounds":{"left":0.40774602,"top":0.11731844,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"url","depth":16,"bounds":{"left":0.6208444,"top":0.08220271,"width":0.0071476065,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":16,"bounds":{"left":0.68234706,"top":0.08220271,"width":0.004654255,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Trace: Trace ID","depth":16,"bounds":{"left":0.62017953,"top":0.09976058,"width":0.035904255,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"c379cb6a6f224dcab13f4f1ed38d504b","depth":16,"bounds":{"left":0.68234706,"top":0.09976058,"width":0.07646277,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"c379cb6a6f224dcab13f4f1ed38d504b","depth":17,"bounds":{"left":0.68234706,"top":0.09976058,"width":0.07646277,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse Stack Trace Section","depth":14,"bounds":{"left":0.33759972,"top":0.17278531,"width":0.47606382,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Stack Trace","depth":17,"bounds":{"left":0.34624335,"top":0.18036711,"width":0.030086435,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Display options","depth":15,"bounds":{"left":0.81632316,"top":0.17597765,"width":0.030585106,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Display","depth":17,"bounds":{"left":0.8249667,"top":0.1811652,"width":0.013962766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy as","depth":14,"bounds":{"left":0.84890294,"top":0.17597765,"width":0.03174867,"height":0.022346368},"on_screen":true,"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":16,"bounds":{"left":0.85754657,"top":0.1811652,"width":0.01512633,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"There are 2 chained exceptions in this event.","depth":16,"bounds":{"left":0.34624335,"top":0.20949721,"width":0.0965758,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest","depth":15,"bounds":{"left":0.34624335,"top":0.2442139,"width":0.53174865,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest","depth":17,"bounds":{"left":0.35488698,"top":0.25219473,"width":0.107546546,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest","depth":18,"bounds":{"left":0.35488698,"top":0.2525938,"width":0.107546546,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"GuzzleHttp\\Exception\\ClientException","depth":15,"bounds":{"left":0.34624335,"top":0.28252193,"width":0.53174865,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":true},{"role":"AXHeading","text":"GuzzleHttp\\Exception\\ClientException","depth":17,"bounds":{"left":0.35488698,"top":0.2905028,"width":0.087765954,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"GuzzleHttp\\Exception\\ClientException","depth":18,"bounds":{"left":0.35488698,"top":0.29090184,"width":0.087765954,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Client error: `POST","depth":17,"bounds":{"left":0.35488698,"top":0.3180367,"width":0.051861703,"height":0.014365523},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"https://api.hubapi.com/crm/v3/objects/contact/search","depth":17,"bounds":{"left":0.40674868,"top":0.3180367,"width":0.14045878,"height":0.014365523},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"https://api.hubapi.com/crm/v3/objects/contact/search","depth":18,"bounds":{"left":0.40674868,"top":0.3180367,"width":0.13480718,"height":0.014365523},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"` resulted in a `429 Too Many Requests` response:\n{\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT\",\"correlationId\":\"019e04ea-a (truncated...)","depth":17,"bounds":{"left":0.35488698,"top":0.3180367,"width":0.35006648,"height":0.029130088},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"mechanism","depth":16,"bounds":{"left":0.35787898,"top":0.36153233,"width":0.021609042,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"generic","depth":17,"bounds":{"left":0.3851396,"top":0.3603352,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"handled","depth":16,"bounds":{"left":0.4105718,"top":0.36153233,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"true","depth":17,"bounds":{"left":0.43085107,"top":0.3603352,"width":0.009474734,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"code","depth":16,"bounds":{"left":0.44896942,"top":0.36153233,"width":0.009142287,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"429","depth":17,"bounds":{"left":0.4637633,"top":0.3603352,"width":0.0071476065,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Crashed in non-app","depth":20,"bounds":{"left":0.35787898,"top":0.39744613,"width":0.03673537,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":20,"bounds":{"left":0.39461437,"top":0.39744613,"width":0.0009973404,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php","depth":20,"bounds":{"left":0.3962766,"top":0.39744613,"width":0.1221742,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":111","depth":20,"bounds":{"left":0.5184508,"top":0.39744613,"width":0.006150266,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in","depth":20,"bounds":{"left":0.5265958,"top":0.396249,"width":0.004488032,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"GuzzleHttp\\Exception\\RequestException::create","depth":20,"bounds":{"left":0.53307843,"top":0.39744613,"width":0.09059176,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Show 11 more frames","depth":18,"bounds":{"left":0.81981385,"top":0.39305666,"width":0.04454787,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show 11 more frames","depth":21,"bounds":{"left":0.8218085,"top":0.39744613,"width":0.04055851,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php","depth":20,"bounds":{"left":0.35787898,"top":0.42857143,"width":0.13580452,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":163","depth":20,"bounds":{"left":0.49368352,"top":0.42857143,"width":0.007480053,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in","depth":20,"bounds":{"left":0.5031583,"top":0.4273743,"width":0.0043218085,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::executeSearchRequest","depth":20,"bounds":{"left":0.50947475,"top":0.42857143,"width":0.1783577,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy file path","depth":20,"bounds":{"left":0.82712764,"top":0.4225858,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open this line in GitHub","depth":20,"bounds":{"left":0.83643615,"top":0.4225858,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"In App","depth":19,"bounds":{"left":0.84973407,"top":0.42857143,"width":0.011968086,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"158","depth":19,"bounds":{"left":0.35754654,"top":0.4521149,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"}","depth":19,"bounds":{"left":0.3801529,"top":0.4521149,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"159","depth":19,"bounds":{"left":0.35754654,"top":0.46927375,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"160","depth":19,"bounds":{"left":0.35754654,"top":0.48643255,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"private","depth":19,"bounds":{"left":0.3801529,"top":0.48643255,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"function","depth":19,"bounds":{"left":0.39926863,"top":0.48643255,"width":0.019115692,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"executeSearchRequest","depth":19,"bounds":{"left":0.42087767,"top":0.48643255,"width":0.047872342,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.46875,"top":0.48643255,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Client","depth":19,"bounds":{"left":0.4710771,"top":0.48643255,"width":0.014461436,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$client","depth":19,"bounds":{"left":0.4878657,"top":0.48643255,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":19,"bounds":{"left":0.5046542,"top":0.48643255,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"string","depth":19,"bounds":{"left":0.50947475,"top":0.48643255,"width":0.014295213,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$endpoint","depth":19,"bounds":{"left":0.52609706,"top":0.48643255,"width":0.021609042,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":19,"bounds":{"left":0.5477061,"top":0.48643255,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"array","depth":19,"bounds":{"left":0.5525266,"top":0.48643255,"width":0.011968086,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$payload","depth":19,"bounds":{"left":0.5668218,"top":0.48643255,"width":0.019115692,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":19,"bounds":{"left":0.5859375,"top":0.48643255,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PaginationState","depth":19,"bounds":{"left":0.59075797,"top":0.48643255,"width":0.035904255,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$state","depth":19,"bounds":{"left":0.6291556,"top":0.48643255,"width":0.014295213,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":19,"bounds":{"left":0.6434508,"top":0.48643255,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":19,"bounds":{"left":0.64577794,"top":0.48643255,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"array","depth":19,"bounds":{"left":0.6505984,"top":0.48643255,"width":0.011968086,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"161","depth":19,"bounds":{"left":0.35754654,"top":0.50359136,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":19,"bounds":{"left":0.3801529,"top":0.50359136,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"162","depth":19,"bounds":{"left":0.35754654,"top":0.5207502,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"try","depth":19,"bounds":{"left":0.38979387,"top":0.5207502,"width":0.0071476065,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":19,"bounds":{"left":0.39926863,"top":0.5207502,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"163","depth":19,"bounds":{"left":0.35754654,"top":0.5383081,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$response","depth":19,"bounds":{"left":0.39926863,"top":0.5383081,"width":0.021609042,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"=","depth":19,"bounds":{"left":0.42320478,"top":0.5383081,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$client","depth":19,"bounds":{"left":0.42802528,"top":0.5383081,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"->","depth":19,"bounds":{"left":0.44481382,"top":0.5383081,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getInstance","depth":19,"bounds":{"left":0.4496343,"top":0.5383081,"width":0.026263298,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.4758976,"top":0.5383081,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":19,"bounds":{"left":0.47822472,"top":0.5383081,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"->","depth":19,"bounds":{"left":0.48071808,"top":0.5383081,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getClient","depth":19,"bounds":{"left":0.48553857,"top":0.5383081,"width":0.02144282,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.5069814,"top":0.5383081,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":19,"bounds":{"left":0.50947475,"top":0.5383081,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"->","depth":19,"bounds":{"left":0.51180184,"top":0.5383081,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"request","depth":19,"bounds":{"left":0.51662236,"top":0.5383081,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.5334109,"top":0.5383081,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'POST'","depth":19,"bounds":{"left":0.53573805,"top":0.5383081,"width":0.014295213,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":19,"bounds":{"left":0.5500333,"top":0.5383081,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$endpoint","depth":19,"bounds":{"left":0.55485374,"top":0.5383081,"width":0.021609042,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":19,"bounds":{"left":0.57646275,"top":0.5383081,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[","depth":19,"bounds":{"left":0.5812833,"top":0.5383081,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'json'","depth":19,"bounds":{"left":0.58361036,"top":0.5383081,"width":0.014295213,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"=>","depth":19,"bounds":{"left":0.60039896,"top":0.5383081,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$payload","depth":19,"bounds":{"left":0.60754657,"top":0.5383081,"width":0.019115692,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"]","depth":19,"bounds":{"left":0.62666225,"top":0.5383081,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":19,"bounds":{"left":0.6291556,"top":0.5383081,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";","depth":19,"bounds":{"left":0.6314827,"top":0.5383081,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"164","depth":19,"bounds":{"left":0.35754654,"top":0.5554669,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"165","depth":19,"bounds":{"left":0.35754654,"top":0.5726257,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"return","depth":19,"bounds":{"left":0.39926863,"top":0.5726257,"width":0.014461436,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$response","depth":19,"bounds":{"left":0.41605717,"top":0.5726257,"width":0.021609042,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"->","depth":19,"bounds":{"left":0.43766624,"top":0.5726257,"width":0.004654255,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"toArray","depth":19,"bounds":{"left":0.44232047,"top":0.5726257,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.45910904,"top":0.5726257,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":19,"bounds":{"left":0.4616024,"top":0.5726257,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":";","depth":19,"bounds":{"left":0.46392953,"top":0.5726257,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"166","depth":19,"bounds":{"left":0.35754654,"top":0.5897845,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"}","depth":19,"bounds":{"left":0.38979387,"top":0.5897845,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"catch","depth":19,"bounds":{"left":0.39444813,"top":0.5897845,"width":0.011968086,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.4089096,"top":0.5897845,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\\","depth":19,"bounds":{"left":0.4112367,"top":0.5897845,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Exception","depth":19,"bounds":{"left":0.41373006,"top":0.5897845,"width":0.02144282,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$e","depth":19,"bounds":{"left":0.43766624,"top":0.5897845,"width":0.004654255,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":19,"bounds":{"left":0.44232047,"top":0.5897845,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":19,"bounds":{"left":0.44714096,"top":0.5897845,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"167","depth":19,"bounds":{"left":0.35754654,"top":0.6069433,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"if","depth":19,"bounds":{"left":0.39926863,"top":0.6069433,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.40641624,"top":0.6069433,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$client","depth":19,"bounds":{"left":0.4089096,"top":0.6069433,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"->","depth":19,"bounds":{"left":0.42569813,"top":0.6069433,"width":0.004654255,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"isUnauthorizedException","depth":19,"bounds":{"left":0.4303524,"top":0.6069433,"width":0.05518617,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.48553857,"top":0.6069433,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$e","depth":19,"bounds":{"left":0.4878657,"top":0.6069433,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":19,"bounds":{"left":0.49268618,"top":0.6069433,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":19,"bounds":{"left":0.4950133,"top":0.6069433,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"{","depth":19,"bounds":{"left":0.49983376,"top":0.6069433,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"168","depth":19,"bounds":{"left":0.35754654,"top":0.62450117,"width":0.00731383,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$this","depth":19,"bounds":{"left":0.4089096,"top":0.62450117,"width":0.011968086,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"->","depth":19,"bounds":{"left":0.42087767,"top":0.62450117,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"logger","depth":19,"bounds":{"left":0.42569813,"top":0.62450117,"width":0.014295213,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"->","depth":19,"bounds":{"left":0.43999335,"top":0.62450117,"width":0.0048204786,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"warning","depth":19,"bounds":{"left":0.44481382,"top":0.62450117,"width":0.016788565,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":19,"bounds":{"left":0.4616024,"top":0.62450117,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'[Hubspot] Got 401 during pagination, attempting token refresh'","depth":19,"bounds":{"left":0.46392953,"top":0.62450117,"width":0.15076463,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":19,"bounds":{"left":0.6146942,"top":0.62450117,"width":0.002493351,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[","depth":19,"bounds":{"left":0.61951464,"top":0.62450117,"width":0.0023271276,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"client","depth":20,"bounds":{"left":0.35787898,"top":0.64684755,"width":0.014295213,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Object Jiminny\\Services\\Crm\\Hubspot\\Client","depth":20,"bounds":{"left":0.40940824,"top":0.64684755,"width":0.10887633,"height":0.014365523},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"endpoint","depth":20,"bounds":{"left":0.35787898,"top":0.67517954,"width":0.019115692,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"https://api.hubapi.com/crm/v3/objects/contact/search","depth":20,"bounds":{"left":0.40940824,"top":0.67517954,"width":0.13480718,"height":0.014365523},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8145097231129035631
|
-2428444035888016256
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Unnamed Group
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Close tab
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app
JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
New Tab
New Tab
New Tab
AI Features | Datadog
AI Features | Datadog
Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app
Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app
Pipelines - jiminny/app
Pipelines - jiminny/app
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
Monitors
Monitors
Settings
Settings
Try Business
What's New
Help
[EMAIL]
Issues
Expand
Feed
Feed
Errors & Outages
Errors & Outages
Breached Metrics
Breached Metrics
Warnings
Warnings
User Feedback
User Feedback
Autofix
Autofix
Recently Run
Recently Run
All Views
All Views
Configure
Alerts Moved
Alerts
Moved
Issues
Issues
View Project Details
APP-1EED
Ask Seer
Ask Seer
/
Give Feedback
SevenShores\Hubspot\Exceptions\BadRequest
View events
Events (total)
Users (90d)
Level: Error
Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT","correlationId":"019e04ea-a (truncated...)
17K
0
Ongoing
/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php in Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::executeSearchRequest
Resolve
Resolve
More resolve options
Archive
Archive
Archive options
Subscribe
Share
More Actions
Priority
Modify issue priority
High
Assignee
Modify issue assignee
Lukas Kovalik
All Envs
All Envs
90D
90D
Add a search term
Add a search term
Close sidebar
Toggle graph series - Events
Events
17K
Toggle graph series - Users
Users
0
release 68% 874599
release
68%
874599
environment 92% production
environment
92%
production
runtime.name 100% php
runtime.name
100%
php
os.build 92% #1 SMP Tue Jun 17 10:29:19 UTC 2025
os.build
92%
#1 SMP Tue Jun 17 10:29:19 UTC 2025
View all tags
View all tags
Select issue content
Events
Previous Event
Next Event
First
First
First
Latest
Latest
Latest
Recommended
Recommended
Recommended
View More Events
View More Events
Copy as
Copy as
ID: e72ac6cc
12 hours ago
JSON
JSON
Highlights
Highlights
Stack Trace
Stack Trace
Trace
Trace
Tags
Tags
Context
Context
php
8.3.30
Linux
6.1.164-196.303.amzn2023.aarch64
882924
882924
production
Collapse Highlights Section
Highlights
Edit
Edit
handled
yes
level
error
transaction
--
url
--
Trace: Trace ID
c379cb6a6f224dcab13f4f1ed38d504b
c379cb6a6f224dcab13f4f1ed38d504b
Collapse Stack Trace Section
Stack Trace
Display options
Display
Copy as
Copy as
There are 2 chained exceptions in this event.
SevenShores\Hubspot\Exceptions\BadRequest
SevenShores\Hubspot\Exceptions\BadRequest
SevenShores\Hubspot\Exceptions\BadRequest
GuzzleHttp\Exception\ClientException
GuzzleHttp\Exception\ClientException
GuzzleHttp\Exception\ClientException
Client error: `POST
https://api.hubapi.com/crm/v3/objects/contact/search
https://api.hubapi.com/crm/v3/objects/contact/search
` resulted in a `429 Too Many Requests` response:
{"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT","correlationId":"019e04ea-a (truncated...)
mechanism
generic
handled
true
code
429
Crashed in non-app
:
/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
:111
in
GuzzleHttp\Exception\RequestException::create
Show 11 more frames
Show 11 more frames
/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
:163
in
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::executeSearchRequest
Copy file path
Open this line in GitHub
In App
158
}
159
160
private
function
executeSearchRequest
(
Client
$client
,
string
$endpoint
,
array
$payload
,
PaginationState
$state
)
:
array
161
{
162
try
{
163
$response
=
$client
->
getInstance
(
)
->
getClient
(
)
->
request
(
'POST'
,
$endpoint
,
[
'json'
=>
$payload
]
)
;
164
165
return
$response
->
toArray
(
)
;
166
}
catch
(
\
Exception
$e
)
{
167
if
(
$client
->
isUnauthorizedException
(
$e
)
)
{
168
$this
->
logger
->
warning
(
'[Hubspot] Got 401 during pagination, attempting token refresh'
,
[
client
Object Jiminny\Services\Crm\Hubspot\Client
endpoint
https://api.hubapi.com/crm/v3/objects/contact/search...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
10213
|
467
|
12
|
2026-05-08T17:11:34.061915+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-08/1778 /Users/lukas/.screenpipe/data/data/2026-05-08/1778260294061_m1.jpg...
|
Firefox
|
Sign in – Google accounts — Personal
|
True
|
accounts.google.com/v3/signin/accountchooser?acces accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=690608236388-k8tg5kmb75o295ati2g86n6v8hqbg2f5.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Fapp.affine.pro%2Foauth%2Fcallback&response_type=code&scope=openid+email+profile&state=%7B%22state%22%3A%2219edc32b-7b8b-4c40-8b2e-692e2b5ab7c4%22%2C%22client%22%3A%22web%22%2C%22provider%22%3A%22Google%22%7D&dsh=S-1355843172%3A1778260292520272&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hANcV39jpHwxQU_-Ei7qAiYI2Ml1g25aUziyEMy0komI1AaPdU44CwKWq0J_2t-h5KE7r9LlCWDAh76JykmDjRZ5h2eP78QmgjJ74V3W5YzcUxC7s9Yt8pMGzFVHM0HB6AzF4ptVXUikeHf8Ywty5DieCM1DwJthEMZcDNR_MfVNRE9oa1-zm9M35Js2HgNqVf4eClDfNw8zHOL6IoCXcailAPY3ccaFBLbxI3Sdm95bE9UCwnR7hRn0qUO-LX0qZll3pqVlbNIcke9xlNvqgvf1A-PLnn-9Ha76ETCYfial2PGOh4OakhtZ7efjg1HFrlc1YX15jJpkc9zHUp_RT3HDa_XHYrEb1UgHYX5K5KahWjlZYf-2okFg8dnzlLSDredfFA0E6T_r1g0rQ2zp6Gd_35xrG5qbxdGw0KD0SXRQ8ndwUAF_0PSlfwFUyU-AIAyUiy_qu1PFyJFC5DdnQ7JNwZUF5g%26flowName%3DGeneralOAuthFlow%26as%3DS-1355843172%253A1778260292520272%26client_id%3D690608236388-k8tg5kmb75o295ati2g86n6v8hqbg2f5.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Fapp.affine.pro...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Sign in with Google
Choose an account
Choose an ac Sign in with Google
Choose an account
Choose an account
to continue to
AFFiNE
Lukáš Koválik [EMAIL]
Lukáš Koválik
[EMAIL]
Lukas [EMAIL]
Lukas
[EMAIL]
Use another account
Use another account
Before using this app, you can review AFFiNE’s
Privacy Policy
Privacy Policy
and Terms of Service.
English (United Kingdom)
English (United Kingdom)
Help
Help
Privacy
Privacy
Terms
Terms
Waiting for accounts.google.com…...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Sign in with Google","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Choose an account","depth":11,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose an account","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to continue to","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"AFFiNE","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Lukáš Koválik kovaliklukas@gmail.com","depth":15,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lukáš Koválik","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"kovaliklukas@gmail.com","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Lukas lukakovalik@gmail.com","depth":15,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lukas","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"lukakovalik@gmail.com","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Use another account","depth":15,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use another account","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Before using this app, you can review AFFiNE’s","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Privacy Policy","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Privacy Policy","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and Terms of Service.","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"English (United Kingdom)","depth":10,"on_screen":true,"value":"English (United Kingdom)","help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"English (United Kingdom)","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Help","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Privacy","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Privacy","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Terms","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Terms","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Waiting for accounts.google.com…","depth":5,"bounds":{"left":0.0,"top":0.0,"width":0.12604167,"height":0.015},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8143578436794033074
|
-4842782161424188164
|
click
|
accessibility
|
NULL
|
Sign in with Google
Choose an account
Choose an ac Sign in with Google
Choose an account
Choose an account
to continue to
AFFiNE
Lukáš Koválik [EMAIL]
Lukáš Koválik
[EMAIL]
Lukas [EMAIL]
Lukas
[EMAIL]
Use another account
Use another account
Before using this app, you can review AFFiNE’s
Privacy Policy
Privacy Policy
and Terms of Service.
English (United Kingdom)
English (United Kingdom)
Help
Help
Privacy
Privacy
Terms
Terms
Waiting for accounts.google.com…...
|
10211
|
NULL
|
NULL
|
NULL
|
|
13878
|
620
|
37
|
2026-05-09T16:38:00.564312+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-09/1778 /Users/lukas/.screenpipe/data/data/2026-05-09/1778344680564_m2.jpg...
|
Firefox
|
Providers - Admin - authentik — Personal
|
True
|
auth.lakylak.xyz/if/admin/#/core/providers
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Clo Pull requests · screenpipe/screenpipe · GitHub
Close tab
DNS / Nameservers | Hostinger
Close tab
Nginx Proxy Manager
Close tab
Screenpipe — Archive
Close tab
SQLite Web: archive.db
Close tab
SQLite Web: db.sqlite
Close tab
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
Close tab
DXP4800PLUS-B5F8
Close tab
AFFiNE - All In One KnowledgeOS
Close tab
All docs · AFFiNE
Close tab
Payments Logger
Close tab
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Close tab
Location Logger
Close tab
Finance Hub
Close tab
Finance Hub
Close tab
Select: transactions - db - Adminer
Close tab
Електронно банкиране ДСК Директ от Банка ДСК
Close tab
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Close tab
VIVACOM
Close tab
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Close tab
VIVACOM
Close tab
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Close tab
Claude Code | Claude Platform
Close tab
Claude
Close tab
lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea
Close tab
Providers - Admin - authentik
Close tab
New Tab
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Skip to content
Home
Providers
Provide support for protocols like SAML and OAuth to assigned applications.
Provide support for protocols like SAML and OAuth to assigned applications.
Toggle API requests drawer
Toggle notifications drawer
0
unread
Settings
Sign out
User interface
User interface
Dashboards
Collapse Dashboards
Dashboards
Overview
Overview
User Statistics
User Statistics
System Tasks
System Tasks
Applications
Collapse Applications
Applications
Applications
Applications
Providers
Providers
Outposts
Outposts
Endpoint Devices
Expand Endpoint Devices
Endpoint Devices
Events
Expand Events
Events
Customization
Expand Customization
Customization
Flows and Stages
Expand Flows and Stages
Flows and Stages
Directory
Expand Directory
Directory
System
Expand System
System
Enterprise
Expand Enterprise
Enterprise
Product name
authentik
Product version
Version 2026.2.1
Select all rows on page (0 of 3 selected)
Name
Sort by "Name"
Name
Application
Application
Type
Type
Row Actions
Actions
Select "Reminders Proxy" row
Reminders Proxy
Reminders Proxy
Assigned to application
Reminders
Reminders
Proxy Provider
Edit "Reminders Proxy" provider
Select "open-webui" row
open-webui
open-webui
Assigned to application
Open WebUI
Open WebUI
OAuth2/OpenID Provider
Edit "open-webui" provider
Select "reminders-mcp" row
reminders-mcp
reminders-mcp
Assigned to application
Reminders MCP
Reminders MCP
OAuth2/OpenID Provider
Edit "reminders-mcp" provider
Name
Sort by "Name"
Name
Reminders Proxy
Reminders Proxy
open-webui
open-webui
reminders-mcp
reminders-mcp
Application
Application
Assigned to application
Reminders
Reminders
Assigned to application
Open WebUI
Open WebUI
Assigned to application
Reminders MCP
Reminders MCP
Type
Type
Proxy Provider
OAuth2/OpenID Provider
OAuth2/OpenID Provider
Row Actions
Actions
Edit "Reminders Proxy" provider
Edit "open-webui" provider
Edit "reminders-mcp" provider
Last refreshed
24 seconds ago
1 - 3 of 3
1 - 3 of 3
Go to previous page
Go to next page
Close sidebar...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016123671,"height":0.032721467},"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.0,"width":0.004986702,"height":0.011971269},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"DNS / Nameservers | Hostinger","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.0,"width":0.004986702,"height":0.011971269},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Nginx Proxy Manager","depth":4,"bounds":{"left":0.0,"top":0.028332002,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.028332002,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.0,"top":0.061053474,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.061053474,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"bounds":{"left":0.0,"top":0.09377494,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.09377494,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"bounds":{"left":0.0,"top":0.1264964,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.1264964,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":4,"bounds":{"left":0.0,"top":0.15921788,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.15921788,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"bounds":{"left":0.0,"top":0.19193934,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.19193934,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"AFFiNE - All In One KnowledgeOS","depth":4,"bounds":{"left":0.0,"top":0.22466081,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.22466081,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"bounds":{"left":0.0,"top":0.25738227,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.25738227,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Payments Logger","depth":4,"bounds":{"left":0.0,"top":0.29010376,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.29010376,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Your old PC can run Windows 11 in a VM, but not on bare metal - kovaliklukas@gmail.com - Gmail","depth":4,"bounds":{"left":0.0,"top":0.32282522,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.32282522,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Location Logger","depth":4,"bounds":{"left":0.0,"top":0.35554668,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.35554668,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"bounds":{"left":0.0,"top":0.38826814,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.38826814,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"bounds":{"left":0.0,"top":0.42098963,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.42098963,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Select: transactions - db - Adminer","depth":4,"bounds":{"left":0.0,"top":0.4537111,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.4537111,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":4,"bounds":{"left":0.0,"top":0.48643255,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.48643255,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":4,"bounds":{"left":0.0,"top":0.519154,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.519154,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"bounds":{"left":0.0,"top":0.5518755,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.5518755,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":4,"bounds":{"left":0.0,"top":0.584597,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.584597,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"bounds":{"left":0.0,"top":0.61731845,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.61731845,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":4,"bounds":{"left":0.0,"top":0.6500399,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.6500399,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Claude Code | Claude Platform","depth":4,"bounds":{"left":0.0,"top":0.6827614,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.6827614,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Claude","depth":4,"bounds":{"left":0.0,"top":0.71548283,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.71548283,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea","depth":4,"bounds":{"left":0.0,"top":0.7482043,"width":0.016123671,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.0006648936,"top":0.7482043,"width":0.004986702,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Providers - Admin - authentik","depth":4,"bounds":{"left":0.0,"top":0.78092575,"width":0.016123671,"height":0.032721467},"on_screen":true,"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.0006648936,"top":0.78092575,"width":0.004986702,"height":0.011971269},"on_screen":true,"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.0028257978,"top":0.81803674,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.8547486,"width":0.016123671,"height":0.0311253},"on_screen":true,"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.8858739,"width":0.016123671,"height":0.027533919},"on_screen":true,"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.9134078,"width":0.016123671,"height":0.02793296},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.0,"top":0.9413408,"width":0.016123671,"height":0.027533919},"on_screen":true,"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.9688747,"width":0.016123671,"height":0.0311253},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Skip to content","depth":6,"bounds":{"left":0.016123671,"top":0.0518755,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Home","depth":8,"bounds":{"left":0.025099734,"top":0.08539505,"width":0.078457445,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Providers","depth":10,"bounds":{"left":0.13547207,"top":0.075019956,"width":0.03474069,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Provide support for protocols like SAML and OAuth to assigned applications.","depth":8,"bounds":{"left":0.123171546,"top":0.1009577,"width":0.2330452,"height":0.033519555},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Provide support for protocols like SAML and OAuth to assigned applications.","depth":10,"bounds":{"left":0.123171546,"top":0.10574621,"width":0.18018617,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Toggle API requests drawer","depth":10,"bounds":{"left":0.3615359,"top":0.08539505,"width":0.017287234,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Toggle notifications drawer","depth":10,"bounds":{"left":0.37882313,"top":0.08539505,"width":0.02144282,"height":0.028731046},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":13,"bounds":{"left":0.39145613,"top":0.09098165,"width":0.0034906915,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"unread","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":10,"bounds":{"left":0.40026596,"top":0.08539505,"width":0.015957447,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Sign out","depth":10,"bounds":{"left":0.4162234,"top":0.08539505,"width":0.015957447,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"User interface","depth":9,"bounds":{"left":0.43218085,"top":0.086592175,"width":0.039893616,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"User interface","depth":10,"bounds":{"left":0.4375,"top":0.09217877,"width":0.02925532,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Dashboards","depth":8,"bounds":{"left":0.017121011,"top":0.15403032,"width":0.09541223,"height":0.1300878},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse Dashboards","depth":9,"bounds":{"left":0.017121011,"top":0.15403032,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Dashboards","depth":10,"bounds":{"left":0.02244016,"top":0.16161214,"width":0.02825798,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Overview","depth":12,"bounds":{"left":0.023603724,"top":0.18914606,"width":0.08892952,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Overview","depth":13,"bounds":{"left":0.028922873,"top":0.1963288,"width":0.019448139,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"User Statistics","depth":12,"bounds":{"left":0.023603724,"top":0.21867518,"width":0.08892952,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"User Statistics","depth":13,"bounds":{"left":0.028922873,"top":0.22585794,"width":0.029920213,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"System Tasks","depth":12,"bounds":{"left":0.023603724,"top":0.2482043,"width":0.08892952,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"System Tasks","depth":13,"bounds":{"left":0.028922873,"top":0.25538707,"width":0.027759308,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Applications","depth":8,"bounds":{"left":0.017121011,"top":0.28411812,"width":0.09541223,"height":0.1300878},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse Applications","depth":9,"bounds":{"left":0.017121011,"top":0.28411812,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Applications","depth":10,"bounds":{"left":0.02244016,"top":0.29169992,"width":0.02925532,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Applications","depth":12,"bounds":{"left":0.023603724,"top":0.31923383,"width":0.08892952,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Applications","depth":13,"bounds":{"left":0.028922873,"top":0.3264166,"width":0.02543218,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Providers","depth":12,"bounds":{"left":0.023603724,"top":0.34876296,"width":0.08892952,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Providers","depth":13,"bounds":{"left":0.028922873,"top":0.35594574,"width":0.019448139,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Outposts","depth":12,"bounds":{"left":0.023603724,"top":0.3782921,"width":0.08892952,"height":0.02952913},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Outposts","depth":13,"bounds":{"left":0.028922873,"top":0.38547486,"width":0.019448139,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Endpoint Devices","depth":8,"bounds":{"left":0.017121011,"top":0.4142059,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Endpoint Devices","depth":9,"bounds":{"left":0.017121011,"top":0.4142059,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Endpoint Devices","depth":10,"bounds":{"left":0.02244016,"top":0.4217877,"width":0.04155585,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Events","depth":8,"bounds":{"left":0.017121011,"top":0.44932163,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Events","depth":9,"bounds":{"left":0.017121011,"top":0.44932163,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Events","depth":10,"bounds":{"left":0.02244016,"top":0.45690343,"width":0.016123671,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Customization","depth":8,"bounds":{"left":0.017121011,"top":0.48443735,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Customization","depth":9,"bounds":{"left":0.017121011,"top":0.48443735,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Customization","depth":10,"bounds":{"left":0.02244016,"top":0.49201915,"width":0.034242023,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Flows and Stages","depth":8,"bounds":{"left":0.017121011,"top":0.51955307,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Flows and Stages","depth":9,"bounds":{"left":0.017121011,"top":0.51955307,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Flows and Stages","depth":10,"bounds":{"left":0.02244016,"top":0.5271349,"width":0.04138963,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Directory","depth":8,"bounds":{"left":0.017121011,"top":0.5546688,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Directory","depth":9,"bounds":{"left":0.017121011,"top":0.5546688,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Directory","depth":10,"bounds":{"left":0.02244016,"top":0.5622506,"width":0.022107713,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"System","depth":8,"bounds":{"left":0.017121011,"top":0.5897845,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand System","depth":9,"bounds":{"left":0.017121011,"top":0.5897845,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"System","depth":10,"bounds":{"left":0.02244016,"top":0.59736633,"width":0.017785905,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Enterprise","depth":8,"bounds":{"left":0.017121011,"top":0.6249002,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Enterprise","depth":9,"bounds":{"left":0.017121011,"top":0.6249002,"width":0.09541223,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Enterprise","depth":10,"bounds":{"left":0.02244016,"top":0.63248205,"width":0.024601065,"height":0.01715882},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Product name","depth":8,"bounds":{"left":0.026761968,"top":0.9537111,"width":0.07513298,"height":0.014365523},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"authentik","depth":9,"bounds":{"left":0.056017287,"top":0.9545092,"width":0.01662234,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Product version","depth":8,"bounds":{"left":0.026761968,"top":0.9680766,"width":0.07513298,"height":0.014365523},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Version 2026.2.1","depth":9,"bounds":{"left":0.050033245,"top":0.9688747,"width":0.028590426,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Select all rows on page (0 of 3 selected)","depth":14,"bounds":{"left":0.12849069,"top":0.23463687,"width":0.004654255,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCell","text":"Name","depth":13,"bounds":{"left":0.13646941,"top":0.22106944,"width":0.06582447,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXButton","text":"Sort by \"Name\"","depth":14,"bounds":{"left":0.13646941,"top":0.22825219,"width":0.026263298,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Name","depth":16,"bounds":{"left":0.13912898,"top":0.23383878,"width":0.013297873,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Application","depth":13,"bounds":{"left":0.20229389,"top":0.22106944,"width":0.15442154,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Application","depth":14,"bounds":{"left":0.20495346,"top":0.23383878,"width":0.026097074,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Type","depth":13,"bounds":{"left":0.3567154,"top":0.22106944,"width":0.09541223,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":14,"bounds":{"left":0.359375,"top":0.23383878,"width":0.011136968,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Row Actions","depth":13,"bounds":{"left":0.45212767,"top":0.22106944,"width":0.039893616,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Actions","depth":14,"bounds":{"left":0.45478722,"top":0.23383878,"width":0.017287234,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Select \"Reminders Proxy\" row","depth":13,"bounds":{"left":0.12849069,"top":0.27214685,"width":0.004654255,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reminders Proxy","depth":13,"bounds":{"left":0.13912898,"top":0.27094972,"width":0.03474069,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders Proxy","depth":14,"bounds":{"left":0.13912898,"top":0.27094972,"width":0.03474069,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"bounds":{"left":0.21060506,"top":0.27094972,"width":0.049534574,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders","depth":13,"bounds":{"left":0.2601396,"top":0.27094972,"width":0.021941489,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders","depth":14,"bounds":{"left":0.2601396,"top":0.27094972,"width":0.021941489,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proxy Provider","depth":13,"bounds":{"left":0.359375,"top":0.27094972,"width":0.030086435,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit \"Reminders Proxy\" provider","depth":14,"bounds":{"left":0.45478722,"top":0.26336792,"width":0.011303191,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Select \"open-webui\" row","depth":13,"bounds":{"left":0.12849069,"top":0.31444532,"width":0.004654255,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"open-webui","depth":13,"bounds":{"left":0.13912898,"top":0.31324822,"width":0.024767287,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"open-webui","depth":14,"bounds":{"left":0.13912898,"top":0.31324822,"width":0.024767287,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"bounds":{"left":0.21060506,"top":0.31324822,"width":0.049534574,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Open WebUI","depth":13,"bounds":{"left":0.2601396,"top":0.31324822,"width":0.02642952,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open WebUI","depth":14,"bounds":{"left":0.2601396,"top":0.31324822,"width":0.02642952,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OAuth2/OpenID Provider","depth":13,"bounds":{"left":0.359375,"top":0.31324822,"width":0.05285904,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit \"open-webui\" provider","depth":14,"bounds":{"left":0.45478722,"top":0.3056664,"width":0.011303191,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Select \"reminders-mcp\" row","depth":13,"bounds":{"left":0.12849069,"top":0.3567438,"width":0.004654255,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"reminders-mcp","depth":13,"bounds":{"left":0.13912898,"top":0.35554668,"width":0.03174867,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"reminders-mcp","depth":14,"bounds":{"left":0.13912898,"top":0.35554668,"width":0.03174867,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"bounds":{"left":0.21060506,"top":0.35554668,"width":0.049534574,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders MCP","depth":13,"bounds":{"left":0.2601396,"top":0.35554668,"width":0.033410903,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders MCP","depth":14,"bounds":{"left":0.2601396,"top":0.35554668,"width":0.033410903,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OAuth2/OpenID Provider","depth":13,"bounds":{"left":0.359375,"top":0.35554668,"width":0.05285904,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit \"reminders-mcp\" provider","depth":14,"bounds":{"left":0.45478722,"top":0.34796488,"width":0.011303191,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCell","text":"Name","depth":12,"bounds":{"left":0.13646941,"top":0.22106944,"width":0.06582447,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXButton","text":"Sort by \"Name\"","depth":13,"bounds":{"left":0.13646941,"top":0.22825219,"width":0.026263298,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Name","depth":15,"bounds":{"left":0.13912898,"top":0.23383878,"width":0.013297873,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders Proxy","depth":13,"bounds":{"left":0.13912898,"top":0.27094972,"width":0.03474069,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders Proxy","depth":14,"bounds":{"left":0.13912898,"top":0.27094972,"width":0.03474069,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"open-webui","depth":13,"bounds":{"left":0.13912898,"top":0.31324822,"width":0.024767287,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"open-webui","depth":14,"bounds":{"left":0.13912898,"top":0.31324822,"width":0.024767287,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"reminders-mcp","depth":13,"bounds":{"left":0.13912898,"top":0.35554668,"width":0.03174867,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"reminders-mcp","depth":14,"bounds":{"left":0.13912898,"top":0.35554668,"width":0.03174867,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Application","depth":12,"bounds":{"left":0.20229389,"top":0.22106944,"width":0.15442154,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Application","depth":13,"bounds":{"left":0.20495346,"top":0.23383878,"width":0.026097074,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"bounds":{"left":0.21060506,"top":0.27094972,"width":0.049534574,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders","depth":13,"bounds":{"left":0.2601396,"top":0.27094972,"width":0.021941489,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders","depth":14,"bounds":{"left":0.2601396,"top":0.27094972,"width":0.021941489,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"bounds":{"left":0.21060506,"top":0.31324822,"width":0.049534574,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Open WebUI","depth":13,"bounds":{"left":0.2601396,"top":0.31324822,"width":0.02642952,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open WebUI","depth":14,"bounds":{"left":0.2601396,"top":0.31324822,"width":0.02642952,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"bounds":{"left":0.21060506,"top":0.35554668,"width":0.049534574,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders MCP","depth":13,"bounds":{"left":0.2601396,"top":0.35554668,"width":0.033410903,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders MCP","depth":14,"bounds":{"left":0.2601396,"top":0.35554668,"width":0.033410903,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Type","depth":12,"bounds":{"left":0.3567154,"top":0.22106944,"width":0.09541223,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":13,"bounds":{"left":0.359375,"top":0.23383878,"width":0.011136968,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proxy Provider","depth":13,"bounds":{"left":0.359375,"top":0.27094972,"width":0.030086435,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OAuth2/OpenID Provider","depth":13,"bounds":{"left":0.359375,"top":0.31324822,"width":0.05285904,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OAuth2/OpenID Provider","depth":13,"bounds":{"left":0.359375,"top":0.35554668,"width":0.05285904,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Row Actions","depth":12,"bounds":{"left":0.45212767,"top":0.22106944,"width":0.039893616,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Actions","depth":13,"bounds":{"left":0.45478722,"top":0.23383878,"width":0.017287234,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit \"Reminders Proxy\" provider","depth":14,"bounds":{"left":0.45478722,"top":0.26336792,"width":0.011303191,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit \"open-webui\" provider","depth":14,"bounds":{"left":0.45478722,"top":0.3056664,"width":0.011303191,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit \"reminders-mcp\" provider","depth":14,"bounds":{"left":0.45478722,"top":0.34796488,"width":0.011303191,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Last refreshed","depth":13,"bounds":{"left":0.12849069,"top":0.4046289,"width":0.025265958,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"24 seconds ago","depth":13,"bounds":{"left":0.15475398,"top":0.4046289,"width":0.027260639,"height":0.0131683955},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1 - 3 of 3","depth":13,"bounds":{"left":0.4424867,"top":0.40343177,"width":0.01761968,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 - 3 of 3","depth":14,"bounds":{"left":0.4424867,"top":0.40343177,"width":0.01761968,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Go to previous page","depth":13,"bounds":{"left":0.46276596,"top":0.39664805,"width":0.007978723,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Go to next page","depth":13,"bounds":{"left":0.47606382,"top":0.39664805,"width":0.007978723,"height":0.028731046},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close sidebar","depth":6,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8143043565684608499
|
-5042042045573917557
|
click
|
accessibility
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Clo Pull requests · screenpipe/screenpipe · GitHub
Close tab
DNS / Nameservers | Hostinger
Close tab
Nginx Proxy Manager
Close tab
Screenpipe — Archive
Close tab
SQLite Web: archive.db
Close tab
SQLite Web: db.sqlite
Close tab
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
Close tab
DXP4800PLUS-B5F8
Close tab
AFFiNE - All In One KnowledgeOS
Close tab
All docs · AFFiNE
Close tab
Payments Logger
Close tab
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Close tab
Location Logger
Close tab
Finance Hub
Close tab
Finance Hub
Close tab
Select: transactions - db - Adminer
Close tab
Електронно банкиране ДСК Директ от Банка ДСК
Close tab
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Close tab
VIVACOM
Close tab
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Close tab
VIVACOM
Close tab
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Close tab
Claude Code | Claude Platform
Close tab
Claude
Close tab
lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea
Close tab
Providers - Admin - authentik
Close tab
New Tab
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Skip to content
Home
Providers
Provide support for protocols like SAML and OAuth to assigned applications.
Provide support for protocols like SAML and OAuth to assigned applications.
Toggle API requests drawer
Toggle notifications drawer
0
unread
Settings
Sign out
User interface
User interface
Dashboards
Collapse Dashboards
Dashboards
Overview
Overview
User Statistics
User Statistics
System Tasks
System Tasks
Applications
Collapse Applications
Applications
Applications
Applications
Providers
Providers
Outposts
Outposts
Endpoint Devices
Expand Endpoint Devices
Endpoint Devices
Events
Expand Events
Events
Customization
Expand Customization
Customization
Flows and Stages
Expand Flows and Stages
Flows and Stages
Directory
Expand Directory
Directory
System
Expand System
System
Enterprise
Expand Enterprise
Enterprise
Product name
authentik
Product version
Version 2026.2.1
Select all rows on page (0 of 3 selected)
Name
Sort by "Name"
Name
Application
Application
Type
Type
Row Actions
Actions
Select "Reminders Proxy" row
Reminders Proxy
Reminders Proxy
Assigned to application
Reminders
Reminders
Proxy Provider
Edit "Reminders Proxy" provider
Select "open-webui" row
open-webui
open-webui
Assigned to application
Open WebUI
Open WebUI
OAuth2/OpenID Provider
Edit "open-webui" provider
Select "reminders-mcp" row
reminders-mcp
reminders-mcp
Assigned to application
Reminders MCP
Reminders MCP
OAuth2/OpenID Provider
Edit "reminders-mcp" provider
Name
Sort by "Name"
Name
Reminders Proxy
Reminders Proxy
open-webui
open-webui
reminders-mcp
reminders-mcp
Application
Application
Assigned to application
Reminders
Reminders
Assigned to application
Open WebUI
Open WebUI
Assigned to application
Reminders MCP
Reminders MCP
Type
Type
Proxy Provider
OAuth2/OpenID Provider
OAuth2/OpenID Provider
Row Actions
Actions
Edit "Reminders Proxy" provider
Edit "open-webui" provider
Edit "reminders-mcp" provider
Last refreshed
24 seconds ago
1 - 3 of 3
1 - 3 of 3
Go to previous page
Go to next page
Close sidebar...
|
13877
|
NULL
|
NULL
|
NULL
|
|
13879
|
619
|
33
|
2026-05-09T16:38:01.038680+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-09/1778 /Users/lukas/.screenpipe/data/data/2026-05-09/1778344681038_m1.jpg...
|
Firefox
|
Providers - Admin - authentik — Personal
|
True
|
auth.lakylak.xyz/if/admin/#/core/providers
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Clo Pull requests · screenpipe/screenpipe · GitHub
Close tab
DNS / Nameservers | Hostinger
Close tab
Nginx Proxy Manager
Close tab
Screenpipe — Archive
Close tab
SQLite Web: archive.db
Close tab
SQLite Web: db.sqlite
Close tab
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
Close tab
DXP4800PLUS-B5F8
Close tab
AFFiNE - All In One KnowledgeOS
Close tab
All docs · AFFiNE
Close tab
Payments Logger
Close tab
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Close tab
Location Logger
Close tab
Finance Hub
Close tab
Finance Hub
Close tab
Select: transactions - db - Adminer
Close tab
Електронно банкиране ДСК Директ от Банка ДСК
Close tab
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Close tab
VIVACOM
Close tab
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Close tab
VIVACOM
Close tab
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Close tab
Claude Code | Claude Platform
Close tab
Claude
Close tab
lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea
Close tab
Providers - Admin - authentik
Close tab
New Tab
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Skip to content
Home
Providers
Provide support for protocols like SAML and OAuth to assigned applications.
Provide support for protocols like SAML and OAuth to assigned applications.
Toggle API requests drawer
Toggle notifications drawer
0
unread
Settings
Sign out
User interface
User interface
Dashboards
Collapse Dashboards
Dashboards
Overview
Overview
User Statistics
User Statistics
System Tasks
System Tasks
Applications
Collapse Applications
Applications
Applications
Applications
Providers
Providers
Outposts
Outposts
Endpoint Devices
Expand Endpoint Devices
Endpoint Devices
Events
Expand Events
Events
Customization
Expand Customization
Customization
Flows and Stages
Expand Flows and Stages
Flows and Stages
Directory
Expand Directory
Directory
System
Expand System
System
Enterprise
Expand Enterprise
Enterprise
Product name
authentik
Product version
Version 2026.2.1
Select all rows on page (0 of 3 selected)
Name
Sort by "Name"
Name
Application
Application
Type
Type
Row Actions
Actions
Select "Reminders Proxy" row
Reminders Proxy
Reminders Proxy
Assigned to application
Reminders
Reminders
Proxy Provider
Edit "Reminders Proxy" provider
Select "open-webui" row
open-webui
open-webui
Assigned to application
Open WebUI
Open WebUI
OAuth2/OpenID Provider
Edit "open-webui" provider
Select "reminders-mcp" row
reminders-mcp
reminders-mcp
Assigned to application
Reminders MCP
Reminders MCP
OAuth2/OpenID Provider
Edit "reminders-mcp" provider
Name
Sort by "Name"
Name
Reminders Proxy
Reminders Proxy
open-webui
open-webui
reminders-mcp
reminders-mcp
Application
Application
Assigned to application
Reminders
Reminders
Assigned to application
Open WebUI
Open WebUI
Assigned to application
Reminders MCP
Reminders MCP
Type
Type
Proxy Provider
OAuth2/OpenID Provider
OAuth2/OpenID Provider
Row Actions
Actions
Edit "Reminders Proxy" provider
Edit "open-webui" provider
Edit "reminders-mcp" provider
Last refreshed
24 seconds ago
1 - 3 of 3
1 - 3 of 3
Go to previous page
Go to next page
Close sidebar...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":4,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"DNS / Nameservers | Hostinger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Nginx Proxy Manager","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"AFFiNE - All In One KnowledgeOS","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Payments Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Your old PC can run Windows 11 in a VM, but not on bare metal - kovaliklukas@gmail.com - Gmail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Location Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Select: transactions - db - Adminer","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Claude Code | Claude Platform","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Claude","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Providers - Admin - authentik","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Skip to content","depth":6,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Home","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Providers","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Provide support for protocols like SAML and OAuth to assigned applications.","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Provide support for protocols like SAML and OAuth to assigned applications.","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Toggle API requests drawer","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Toggle notifications drawer","depth":10,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"unread","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Sign out","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"User interface","depth":9,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"User interface","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Dashboards","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse Dashboards","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Dashboards","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Overview","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Overview","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"User Statistics","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"User Statistics","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"System Tasks","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"System Tasks","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Applications","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse Applications","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Applications","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Applications","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Applications","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Providers","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Providers","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Outposts","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Outposts","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Endpoint Devices","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Endpoint Devices","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Endpoint Devices","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Events","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Events","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Events","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Customization","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Customization","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Customization","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Flows and Stages","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Flows and Stages","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Flows and Stages","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Directory","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Directory","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Directory","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"System","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand System","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"System","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Enterprise","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand Enterprise","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Enterprise","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Product name","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"authentik","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Product version","depth":8,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Version 2026.2.1","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Select all rows on page (0 of 3 selected)","depth":14,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCell","text":"Name","depth":13,"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXButton","text":"Sort by \"Name\"","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Name","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Application","depth":13,"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Application","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Type","depth":13,"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Row Actions","depth":13,"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Actions","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Select \"Reminders Proxy\" row","depth":13,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reminders Proxy","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders Proxy","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proxy Provider","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit \"Reminders Proxy\" provider","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Select \"open-webui\" row","depth":13,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"open-webui","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"open-webui","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Open WebUI","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open WebUI","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OAuth2/OpenID Provider","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit \"open-webui\" provider","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Select \"reminders-mcp\" row","depth":13,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"reminders-mcp","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"reminders-mcp","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders MCP","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders MCP","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OAuth2/OpenID Provider","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit \"reminders-mcp\" provider","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCell","text":"Name","depth":12,"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXButton","text":"Sort by \"Name\"","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Name","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders Proxy","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders Proxy","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"open-webui","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"open-webui","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"reminders-mcp","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"reminders-mcp","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Application","depth":12,"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Application","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Open WebUI","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open WebUI","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assigned to application","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reminders MCP","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reminders MCP","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Type","depth":12,"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proxy Provider","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OAuth2/OpenID Provider","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"OAuth2/OpenID Provider","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Row Actions","depth":12,"on_screen":true,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Actions","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit \"Reminders Proxy\" provider","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit \"open-webui\" provider","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit \"reminders-mcp\" provider","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Last refreshed","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"24 seconds ago","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1 - 3 of 3","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1 - 3 of 3","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Go to previous page","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Go to next page","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close sidebar","depth":6,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8143043565684608499
|
-5042042045573917557
|
click
|
accessibility
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Clo Pull requests · screenpipe/screenpipe · GitHub
Close tab
DNS / Nameservers | Hostinger
Close tab
Nginx Proxy Manager
Close tab
Screenpipe — Archive
Close tab
SQLite Web: archive.db
Close tab
SQLite Web: db.sqlite
Close tab
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
Close tab
DXP4800PLUS-B5F8
Close tab
AFFiNE - All In One KnowledgeOS
Close tab
All docs · AFFiNE
Close tab
Payments Logger
Close tab
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Close tab
Location Logger
Close tab
Finance Hub
Close tab
Finance Hub
Close tab
Select: transactions - db - Adminer
Close tab
Електронно банкиране ДСК Директ от Банка ДСК
Close tab
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Close tab
VIVACOM
Close tab
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Close tab
VIVACOM
Close tab
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Close tab
Claude Code | Claude Platform
Close tab
Claude
Close tab
lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea
Close tab
Providers - Admin - authentik
Close tab
New Tab
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Skip to content
Home
Providers
Provide support for protocols like SAML and OAuth to assigned applications.
Provide support for protocols like SAML and OAuth to assigned applications.
Toggle API requests drawer
Toggle notifications drawer
0
unread
Settings
Sign out
User interface
User interface
Dashboards
Collapse Dashboards
Dashboards
Overview
Overview
User Statistics
User Statistics
System Tasks
System Tasks
Applications
Collapse Applications
Applications
Applications
Applications
Providers
Providers
Outposts
Outposts
Endpoint Devices
Expand Endpoint Devices
Endpoint Devices
Events
Expand Events
Events
Customization
Expand Customization
Customization
Flows and Stages
Expand Flows and Stages
Flows and Stages
Directory
Expand Directory
Directory
System
Expand System
System
Enterprise
Expand Enterprise
Enterprise
Product name
authentik
Product version
Version 2026.2.1
Select all rows on page (0 of 3 selected)
Name
Sort by "Name"
Name
Application
Application
Type
Type
Row Actions
Actions
Select "Reminders Proxy" row
Reminders Proxy
Reminders Proxy
Assigned to application
Reminders
Reminders
Proxy Provider
Edit "Reminders Proxy" provider
Select "open-webui" row
open-webui
open-webui
Assigned to application
Open WebUI
Open WebUI
OAuth2/OpenID Provider
Edit "open-webui" provider
Select "reminders-mcp" row
reminders-mcp
reminders-mcp
Assigned to application
Reminders MCP
Reminders MCP
OAuth2/OpenID Provider
Edit "reminders-mcp" provider
Name
Sort by "Name"
Name
Reminders Proxy
Reminders Proxy
open-webui
open-webui
reminders-mcp
reminders-mcp
Application
Application
Assigned to application
Reminders
Reminders
Assigned to application
Open WebUI
Open WebUI
Assigned to application
Reminders MCP
Reminders MCP
Type
Type
Proxy Provider
OAuth2/OpenID Provider
OAuth2/OpenID Provider
Row Actions
Actions
Edit "Reminders Proxy" provider
Edit "open-webui" provider
Edit "reminders-mcp" provider
Last refreshed
24 seconds ago
1 - 3 of 3
1 - 3 of 3
Go to previous page
Go to next page
Close sidebar...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
3518
|
129
|
26
|
2026-05-07T12:23:53.238002+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778156633238_m1.jpg...
|
iTerm2
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp<DEV (docker)# Lukas/Stefka 121 • in 2h 7 m100% <478DOCKERO &1DEV (docker)882APP (-zsh)Jiminny-worker-processing-4:jiminny-worker-processing-4_00:jiminny-worker-processing-5:jiminny-worker-processing-5_00:stoppedstoppedworker-crm-update:worker-crm-update_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-download:worker-download_00: stoppedworker:worker_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker-calendar:worker-calendar_00:stoppedworker-conferences:worker-conferences_00: stoppedworker-crm-sync:worker-crm-sync_00:stoppedworker-audio:worker-audio_00: stoppedworker-emails:worker-emails_00:stoppedartisan-schedule:artisan-schedule_00: stoppedworker-es-update:worker-es-update_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00: startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00:startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debugSyncing opportunity 0Syncing opportunity 25Syncing opportunity 50Syncing opportunity 75Syncing opportunity 100root@docker_lamp_1:/home/jiminny# php artisan jiminny: debugSyncing opportunity 0Syncing opportunity 25Syncing opportunity 50Syncing opportunity 75Syncing opportunity 100root@docker_lamp_1:/home/jiminny# ]-zsh• $4screenpipe*•$5-zshThu 7 May 15:23:53T81₴6DEV...
|
NULL
|
8142476475776968849
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp<DEV (docker)# Lukas/Stefka 121 • in 2h 7 m100% <478DOCKERO &1DEV (docker)882APP (-zsh)Jiminny-worker-processing-4:jiminny-worker-processing-4_00:jiminny-worker-processing-5:jiminny-worker-processing-5_00:stoppedstoppedworker-crm-update:worker-crm-update_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-download:worker-download_00: stoppedworker:worker_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker-calendar:worker-calendar_00:stoppedworker-conferences:worker-conferences_00: stoppedworker-crm-sync:worker-crm-sync_00:stoppedworker-audio:worker-audio_00: stoppedworker-emails:worker-emails_00:stoppedartisan-schedule:artisan-schedule_00: stoppedworker-es-update:worker-es-update_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00: startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00:startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debugSyncing opportunity 0Syncing opportunity 25Syncing opportunity 50Syncing opportunity 75Syncing opportunity 100root@docker_lamp_1:/home/jiminny# php artisan jiminny: debugSyncing opportunity 0Syncing opportunity 25Syncing opportunity 50Syncing opportunity 75Syncing opportunity 100root@docker_lamp_1:/home/jiminny# ]-zsh• $4screenpipe*•$5-zshThu 7 May 15:23:53T81₴6DEV...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
12812
|
565
|
0
|
2026-05-09T09:33:22.895574+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-09/1778 /Users/lukas/.screenpipe/data/data/2026-05-09/1778319202895_m1.jpg...
|
Firefox
|
Select: payments - db - Adminer — Personal
|
True
|
http://192.168.0.242:8092/?pgsql=db&username=finan
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
DNS / Nameservers | Hostinger
DNS / Nameservers | Hostinger
Nginx Proxy Manager
Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Payments Logger
Payments Logger
Inbox - [EMAIL] - Gmail
Inbox - [EMAIL] - Gmail
(25) Quora
(25) Quora
Location Logger
Location Logger
Finance Hub
Finance Hub
Finance Hub
Finance Hub
Select: payments - db - Adminer
Select: payments - db - Adminer
Close tab
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
VIVACOM
VIVACOM
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
VIVACOM
VIVACOM
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Claude Code | Claude Platform
Claude Code | Claude Platform
Claude
Claude
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
PostgreSQL
PostgreSQL
»
db
db
»
finance_hub
finance_hub
»
public
public
» Select: payments
Select: payments
Select: payments
Select data
Select data
Show structure
Show structure
Alter table
Alter table
New item
New item
Select
Select
Search
Search
Sort
Sort
Limit
50
Text length
100
Action
Select
SELECT
SELECT
*
FROM
"
payments
payments
"
LIMIT
50
(0.001 s)
Edit
Edit
Modify
Modify
id
id
raw_message
raw_message
date
date
type
type
card
card
recipient
recipient
amount
amount
currency
currency
balance
balance
source
source
status
status
notified_at
notified_at
notify_phone
notify_phone
debit_bgn
debit_bgn
credit_bgn
credit_bgn
transaction_type
transaction_type
payer_account
payer_account
created_at
created_at
updated_at
updated_at
edit
edit
1
DSK Bank. Na 08/05/2026 v 10:00 sa iztegleni 200.00 EUR s karta 400915***4447 ot ATM s adres: DSK AT
…
2026-05-08 07:00:00
ATM
400915***4447
DSK ATM, SOFIA, BG
200
EUR
1050
INGEST
UNPROCESSED
NULL
[PHONE]
NULL
NULL
NULL
NULL
2026-05-09 06:44:52.867
2026-05-09 06:44:52.867
edit
edit
2
DSK Bank. Na 08/05/2026 v 19:32 sa plateni 67.81 EUR s karta 400915***4447 na POS s adres: LIDL BALG
…
2026-05-08 16:32:00
POS
400915***4447
LIDL BALGARIYA EOOD, SOFIYA, BGR
67.81
EUR
2011.57
INGEST
UNPROCESSED
NULL
NULL
NULL
NULL
NULL
NULL
2026-05-09 06:59:18.596
2026-05-09 06:59:18.596
edit
edit
9
Date: 08.05.2026 | Debit: 5.02 EUR
2026-05-08 00:00:00
NULL
400915xxxxxx4447
NULL
5.02
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
5.02
NULL
NULL
NULL
2026-05-09 09:29:57.778
2026-05-09 09:29:57.778
edit
edit
10
Date: 08.05.2026 | Debit: 15.46 EUR
2026-05-08 00:00:00
NULL
400915xxxxxx4447
NULL
15.46
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
15.46
NULL
NULL
NULL
2026-05-09 09:29:57.79
2026-05-09 09:29:57.79
edit
edit
11
Date: 08.05.2026 | Debit: 9.04 EUR
2026-05-08 00:00:00
NULL
400915xxxxxx4447
NULL
9.04
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
9.04
NULL
NULL
NULL
2026-05-09 09:29:57.798
2026-05-09 09:29:57.798
edit
edit
12
Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | Debit:
…
2026-05-08 16:32:00
NULL
400915xxxxxx4447
BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR
67.81
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
67.81
NULL
КАРТОВА ОПЕРАЦИЯ
NULL
2026-05-09 09:29:57.81
2026-05-09 09:29:57.81
edit
edit
13
Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: BGR SOFIA CBA EKO MARKET | Debit: 5.51 EUR
2026-05-07 06:02:00
NULL
400915xxxxxx4447
BGR SOFIA CBA EKO MARKET
5.51
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
5.51
NULL
КАРТОВА ОПЕРАЦИЯ
NULL
2026-05-09 09:29:57.827
2026-05-09 09:29:57.827
edit
edit
14
Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: POL BALICE Lagardere Travel R KR3 | Debit: 5.49 E
…
2026-05-06 10:16:00
NULL
400915xxxxxx4447
POL BALICE Lagardere Travel R KR3
5.49
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
5.49
NULL
КАРТОВА ОПЕРАЦИЯ
NULL
2026-05-09 09:29:57.84
2026-05-09 09:29:57.84
edit
edit
15
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: КОМУНАЛНИ РАЗХОДИ ЕЛ. КАНАЛИ | Debit: 17.93 EUR
2026-05-04 00:00:00
NULL
NULL
КОМУНАЛНИ РАЗХОДИ ЕЛ. КАНАЛИ
17.93
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
17.93
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.861
2026-05-09 09:29:57.861
edit
edit
16
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: С0ФИЙСКА ВОДА ДСК ДИРЕКТ | Debit: 8.44 EUR
2026-05-04 00:00:00
NULL
NULL
С0ФИЙСКА ВОДА ДСК ДИРЕКТ
8.44
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
8.44
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.876
2026-05-09 09:29:57.876
edit
edit
17
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ | Debit:
…
2026-05-04 00:00:00
NULL
NULL
ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ
47.63
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
47.63
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.891
2026-05-09 09:29:57.891
edit
edit
18
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ | Debit:
…
2026-05-04 00:00:00
NULL
NULL
ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ
0.09
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
0.09
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.906
2026-05-09 09:29:57.906
edit
edit
19
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: С0ФИЙСКА ВОДА ДСК ДИРЕКТ | Debit: 29.54 EUR
2026-05-04 00:00:00
NULL
NULL
С0ФИЙСКА ВОДА ДСК ДИРЕКТ
29.54
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
29.54
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.919
2026-05-09 09:29:57.919
edit
edit
20
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ОВЕГАЗ МРЕЖИ АД-ЕЛЕКТРОННИ КАНАЛИ И КАСА | Debit:
…
2026-05-04 00:00:00
NULL
NULL
ОВЕГАЗ МРЕЖИ АД-ЕЛЕКТРОННИ КАНАЛИ И КАСА
14.27
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
14.27
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.934
2026-05-09 09:29:57.934
edit
edit
21
Date: 04.05.2026 | Type: ПРЕВОД SEPA | Payee: ЧЦДГ МИЛА | Debit: 460 EUR
2026-05-04 00:00:00
NULL
NULL
ЧЦДГ МИЛА
460
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
460
NULL
ПРЕВОД SEPA
[IBAN]
2026-05-09 09:29:57.945...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DNS / Nameservers | Hostinger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DNS / Nameservers | Hostinger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Nginx Proxy Manager","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Nginx Proxy Manager","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"AFFiNE - All In One KnowledgeOS","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AFFiNE - All In One KnowledgeOS","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Payments Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Payments Logger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"(25) Quora","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"(25) Quora","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Location Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Location Logger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finance Hub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finance Hub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Select: payments - db - Adminer","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Select: payments - db - Adminer","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"VIVACOM","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"VIVACOM","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Code | Claude Platform","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Code | Claude Platform","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"PostgreSQL","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PostgreSQL","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"»","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"db","depth":8,"on_screen":true,"help_text":"Alt+Shift+1","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"db","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"»","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"finance_hub","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"finance_hub","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"»","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"public","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"public","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"» Select: payments","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Select: payments","depth":7,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Select: payments","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Select data","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Select data","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Show structure","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show structure","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Alter table","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Alter table","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"New item","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New item","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Select","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Select","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Search","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sort","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sort","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Limit","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"50","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Text length","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"100","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Action","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Select","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"SELECT","depth":9,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SELECT","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"*","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FROM","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"payments","depth":9,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"payments","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LIMIT","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"50","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(0.001 s)","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Edit","depth":8,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Edit","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Modify","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Modify","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"id","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"id","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"raw_message","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"raw_message","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"date","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"date","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"type","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"type","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"card","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"card","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"recipient","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"recipient","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"amount","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"amount","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"currency","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"currency","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"balance","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"balance","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"source","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"source","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"status","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"status","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"notified_at","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"notified_at","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"notify_phone","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"notify_phone","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"debit_bgn","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"debit_bgn","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"credit_bgn","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"credit_bgn","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"transaction_type","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"transaction_type","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"payer_account","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"payer_account","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"created_at","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"created_at","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"updated_at","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"updated_at","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DSK Bank. Na 08/05/2026 v 10:00 sa iztegleni 200.00 EUR s karta 400915***4447 ot ATM s adres: DSK AT","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"…","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-08 07:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ATM","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"400915***4447","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DSK ATM, SOFIA, BG","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"200","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1050","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"INGEST","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"+359888123456","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 06:44:52.867","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 06:44:52.867","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DSK Bank. Na 08/05/2026 v 19:32 sa plateni 67.81 EUR s karta 400915***4447 na POS s adres: LIDL BALG","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"…","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-08 16:32:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"POS","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"400915***4447","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LIDL BALGARIYA EOOD, SOFIYA, BGR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"67.81","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2011.57","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"INGEST","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 06:59:18.596","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 06:59:18.596","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 08.05.2026 | Debit: 5.02 EUR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-08 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"400915xxxxxx4447","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.02","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.02","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.778","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.778","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 08.05.2026 | Debit: 15.46 EUR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-08 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"400915xxxxxx4447","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15.46","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15.46","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.79","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.79","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 08.05.2026 | Debit: 9.04 EUR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-08 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"400915xxxxxx4447","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9.04","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9.04","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.798","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.798","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | Debit:","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"…","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-08 16:32:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"400915xxxxxx4447","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"67.81","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"67.81","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КАРТОВА ОПЕРАЦИЯ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.81","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.81","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: BGR SOFIA CBA EKO MARKET | Debit: 5.51 EUR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-07 06:02:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"400915xxxxxx4447","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BGR SOFIA CBA EKO MARKET","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.51","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.51","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КАРТОВА ОПЕРАЦИЯ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.827","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.827","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: POL BALICE Lagardere Travel R KR3 | Debit: 5.49 E","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"…","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-06 10:16:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"400915xxxxxx4447","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"POL BALICE Lagardere Travel R KR3","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.49","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.49","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КАРТОВА ОПЕРАЦИЯ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.84","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.84","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: КОМУНАЛНИ РАЗХОДИ ЕЛ. КАНАЛИ | Debit: 17.93 EUR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-04 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КОМУНАЛНИ РАЗХОДИ ЕЛ. КАНАЛИ","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17.93","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17.93","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КОМУНАЛНИ УСЛУГИ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG91STSA93000004594021","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.861","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.861","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: С0ФИЙСКА ВОДА ДСК ДИРЕКТ | Debit: 8.44 EUR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-04 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"С0ФИЙСКА ВОДА ДСК ДИРЕКТ","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8.44","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8.44","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КОМУНАЛНИ УСЛУГИ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG03STSA93000045940400","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.876","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.876","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ | Debit:","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"…","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-04 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"47.63","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"47.63","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КОМУНАЛНИ УСЛУГИ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG15STSA93000004594031","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.891","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.891","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ | Debit:","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"…","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-04 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.09","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.09","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КОМУНАЛНИ УСЛУГИ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG15STSA93000004594031","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.906","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.906","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: С0ФИЙСКА ВОДА ДСК ДИРЕКТ | Debit: 29.54 EUR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-04 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"С0ФИЙСКА ВОДА ДСК ДИРЕКТ","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29.54","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29.54","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КОМУНАЛНИ УСЛУГИ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG03STSA93000045940400","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.919","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.919","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ОВЕГАЗ МРЕЖИ АД-ЕЛЕКТРОННИ КАНАЛИ И КАСА | Debit:","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"…","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-04 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ОВЕГАЗ МРЕЖИ АД-ЕЛЕКТРОННИ КАНАЛИ И КАСА","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14.27","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14.27","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"КОМУНАЛНИ УСЛУГИ","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG57STSA93000004594051","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.934","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.934","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"edit","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"edit","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Date: 04.05.2026 | Type: ПРЕВОД SEPA | Payee: ЧЦДГ МИЛА | Debit: 460 EUR","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-04 00:00:00","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ МИЛА","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"460","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EUR","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UPLOAD","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UNPROCESSED","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"460","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NULL","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ПРЕВОД SEPA","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-09 09:29:57.945","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8142307231802162242
|
7585659747854296339
|
click
|
accessibility
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
DNS / Nameservers | Hostinger
DNS / Nameservers | Hostinger
Nginx Proxy Manager
Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Payments Logger
Payments Logger
Inbox - [EMAIL] - Gmail
Inbox - [EMAIL] - Gmail
(25) Quora
(25) Quora
Location Logger
Location Logger
Finance Hub
Finance Hub
Finance Hub
Finance Hub
Select: payments - db - Adminer
Select: payments - db - Adminer
Close tab
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
VIVACOM
VIVACOM
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
VIVACOM
VIVACOM
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Claude Code | Claude Platform
Claude Code | Claude Platform
Claude
Claude
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
PostgreSQL
PostgreSQL
»
db
db
»
finance_hub
finance_hub
»
public
public
» Select: payments
Select: payments
Select: payments
Select data
Select data
Show structure
Show structure
Alter table
Alter table
New item
New item
Select
Select
Search
Search
Sort
Sort
Limit
50
Text length
100
Action
Select
SELECT
SELECT
*
FROM
"
payments
payments
"
LIMIT
50
(0.001 s)
Edit
Edit
Modify
Modify
id
id
raw_message
raw_message
date
date
type
type
card
card
recipient
recipient
amount
amount
currency
currency
balance
balance
source
source
status
status
notified_at
notified_at
notify_phone
notify_phone
debit_bgn
debit_bgn
credit_bgn
credit_bgn
transaction_type
transaction_type
payer_account
payer_account
created_at
created_at
updated_at
updated_at
edit
edit
1
DSK Bank. Na 08/05/2026 v 10:00 sa iztegleni 200.00 EUR s karta 400915***4447 ot ATM s adres: DSK AT
…
2026-05-08 07:00:00
ATM
400915***4447
DSK ATM, SOFIA, BG
200
EUR
1050
INGEST
UNPROCESSED
NULL
[PHONE]
NULL
NULL
NULL
NULL
2026-05-09 06:44:52.867
2026-05-09 06:44:52.867
edit
edit
2
DSK Bank. Na 08/05/2026 v 19:32 sa plateni 67.81 EUR s karta 400915***4447 na POS s adres: LIDL BALG
…
2026-05-08 16:32:00
POS
400915***4447
LIDL BALGARIYA EOOD, SOFIYA, BGR
67.81
EUR
2011.57
INGEST
UNPROCESSED
NULL
NULL
NULL
NULL
NULL
NULL
2026-05-09 06:59:18.596
2026-05-09 06:59:18.596
edit
edit
9
Date: 08.05.2026 | Debit: 5.02 EUR
2026-05-08 00:00:00
NULL
400915xxxxxx4447
NULL
5.02
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
5.02
NULL
NULL
NULL
2026-05-09 09:29:57.778
2026-05-09 09:29:57.778
edit
edit
10
Date: 08.05.2026 | Debit: 15.46 EUR
2026-05-08 00:00:00
NULL
400915xxxxxx4447
NULL
15.46
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
15.46
NULL
NULL
NULL
2026-05-09 09:29:57.79
2026-05-09 09:29:57.79
edit
edit
11
Date: 08.05.2026 | Debit: 9.04 EUR
2026-05-08 00:00:00
NULL
400915xxxxxx4447
NULL
9.04
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
9.04
NULL
NULL
NULL
2026-05-09 09:29:57.798
2026-05-09 09:29:57.798
edit
edit
12
Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | Debit:
…
2026-05-08 16:32:00
NULL
400915xxxxxx4447
BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR
67.81
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
67.81
NULL
КАРТОВА ОПЕРАЦИЯ
NULL
2026-05-09 09:29:57.81
2026-05-09 09:29:57.81
edit
edit
13
Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: BGR SOFIA CBA EKO MARKET | Debit: 5.51 EUR
2026-05-07 06:02:00
NULL
400915xxxxxx4447
BGR SOFIA CBA EKO MARKET
5.51
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
5.51
NULL
КАРТОВА ОПЕРАЦИЯ
NULL
2026-05-09 09:29:57.827
2026-05-09 09:29:57.827
edit
edit
14
Date: 08.05.2026 | Type: КАРТОВА ОПЕРАЦИЯ | Payee: POL BALICE Lagardere Travel R KR3 | Debit: 5.49 E
…
2026-05-06 10:16:00
NULL
400915xxxxxx4447
POL BALICE Lagardere Travel R KR3
5.49
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
5.49
NULL
КАРТОВА ОПЕРАЦИЯ
NULL
2026-05-09 09:29:57.84
2026-05-09 09:29:57.84
edit
edit
15
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: КОМУНАЛНИ РАЗХОДИ ЕЛ. КАНАЛИ | Debit: 17.93 EUR
2026-05-04 00:00:00
NULL
NULL
КОМУНАЛНИ РАЗХОДИ ЕЛ. КАНАЛИ
17.93
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
17.93
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.861
2026-05-09 09:29:57.861
edit
edit
16
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: С0ФИЙСКА ВОДА ДСК ДИРЕКТ | Debit: 8.44 EUR
2026-05-04 00:00:00
NULL
NULL
С0ФИЙСКА ВОДА ДСК ДИРЕКТ
8.44
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
8.44
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.876
2026-05-09 09:29:57.876
edit
edit
17
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ | Debit:
…
2026-05-04 00:00:00
NULL
NULL
ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ
47.63
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
47.63
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.891
2026-05-09 09:29:57.891
edit
edit
18
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ | Debit:
…
2026-05-04 00:00:00
NULL
NULL
ЕЛЕКТPОХОЛДПPОДАЖБИ/ДСКДИРЕКТ/ЕЛ.ЕНЕРГИЯ
0.09
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
0.09
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.906
2026-05-09 09:29:57.906
edit
edit
19
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: С0ФИЙСКА ВОДА ДСК ДИРЕКТ | Debit: 29.54 EUR
2026-05-04 00:00:00
NULL
NULL
С0ФИЙСКА ВОДА ДСК ДИРЕКТ
29.54
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
29.54
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.919
2026-05-09 09:29:57.919
edit
edit
20
Date: 04.05.2026 | Type: КОМУНАЛНИ УСЛУГИ | Payee: ОВЕГАЗ МРЕЖИ АД-ЕЛЕКТРОННИ КАНАЛИ И КАСА | Debit:
…
2026-05-04 00:00:00
NULL
NULL
ОВЕГАЗ МРЕЖИ АД-ЕЛЕКТРОННИ КАНАЛИ И КАСА
14.27
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
14.27
NULL
КОМУНАЛНИ УСЛУГИ
[IBAN]
2026-05-09 09:29:57.934
2026-05-09 09:29:57.934
edit
edit
21
Date: 04.05.2026 | Type: ПРЕВОД SEPA | Payee: ЧЦДГ МИЛА | Debit: 460 EUR
2026-05-04 00:00:00
NULL
NULL
ЧЦДГ МИЛА
460
EUR
NULL
UPLOAD
UNPROCESSED
NULL
NULL
460
NULL
ПРЕВОД SEPA
[IBAN]
2026-05-09 09:29:57.945...
|
12807
|
NULL
|
NULL
|
NULL
|
|
17551
|
774
|
78
|
2026-05-11T10:25:17.855271+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495117855_m2.jpg...
|
Firefox
|
Screenpipe — Archive — Personal
|
True
|
app.screenpipe.lakylak.xyz
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
New Tab
New Tab
Screenpipe — Archive
Screenpipe — New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe [archive.db · 12323.6MB]
Screenpipe
[archive.db · 12323.6MB]
Activity
Search
Audio
Work Report
Timetable
AI Summary
Date
07
/
05
/
2026
Calendar
Monitor
Jump to
--
:
--
Go
APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN
−
1×
+
Follow
Follow
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php
⏮ 30s
◀ 10s
▶ Play
10s ▶
30s ⏭
11:58
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.28823137,"top":0.0518755,"width":0.113696806,"height":0.032721467},"on_screen":true,"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.30152926,"top":0.06304868,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.28823137,"top":0.08459697,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.30152926,"top":0.09577015,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.38962767,"top":0.09177973,"width":0.007978723,"height":0.01915403},"on_screen":true,"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.29105717,"top":0.118914604,"width":0.108211435,"height":0.025538707},"on_screen":true,"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.29105717,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.3020279,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.3131649,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.32430187,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.33543882,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe [archive.db · 12323.6MB]","depth":7,"bounds":{"left":0.4085771,"top":0.061452515,"width":0.06698803,"height":0.017956903},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"bounds":{"left":0.4085771,"top":0.06304868,"width":0.027759308,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[archive.db · 12323.6MB]","depth":9,"bounds":{"left":0.43766624,"top":0.06703911,"width":0.037898935,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"bounds":{"left":0.48021942,"top":0.059856344,"width":0.024767287,"height":0.0207502},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"bounds":{"left":0.5056516,"top":0.059856344,"width":0.023769947,"height":0.0207502},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"bounds":{"left":0.53008646,"top":0.059856344,"width":0.020944148,"height":0.0207502},"on_screen":true,"help_text":"No audio data in this database","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"bounds":{"left":0.55169547,"top":0.059856344,"width":0.03507314,"height":0.0207502},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Timetable","depth":7,"bounds":{"left":0.5874335,"top":0.059856344,"width":0.029753989,"height":0.0207502},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"bounds":{"left":0.6178524,"top":0.059856344,"width":0.034075797,"height":0.0207502},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"bounds":{"left":0.93849736,"top":0.0650439,"width":0.008144947,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"07","depth":9,"bounds":{"left":0.9552859,"top":0.06464485,"width":0.0048204786,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"bounds":{"left":0.96110374,"top":0.06464485,"width":0.0023271276,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"05","depth":9,"bounds":{"left":0.9644282,"top":0.06464485,"width":0.0048204786,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"bounds":{"left":0.970246,"top":0.06464485,"width":0.002493351,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"bounds":{"left":0.9737367,"top":0.06464485,"width":0.009474734,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"bounds":{"left":0.98454124,"top":0.0650439,"width":0.0051529254,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Monitor","depth":9,"bounds":{"left":0.4915226,"top":0.10853951,"width":0.013464096,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jump to","depth":9,"bounds":{"left":0.8500665,"top":0.10853951,"width":0.01412899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"bounds":{"left":0.87017953,"top":0.10814046,"width":0.0048204786,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"bounds":{"left":0.87599736,"top":0.10814046,"width":0.0023271276,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"bounds":{"left":0.8793218,"top":0.10814046,"width":0.0048204786,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Go","depth":8,"bounds":{"left":0.898105,"top":0.10454908,"width":0.012300532,"height":0.018754989},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN","depth":10,"bounds":{"left":0.4965093,"top":0.14964086,"width":0.10571808,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"−","depth":9,"bounds":{"left":0.8528923,"top":0.1452514,"width":0.009807181,"height":0.018754989},"on_screen":true,"help_text":"Zoom out","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"1×","depth":10,"bounds":{"left":0.866855,"top":0.14924182,"width":0.004155585,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"+","depth":9,"bounds":{"left":0.8753325,"top":0.1452514,"width":0.009640957,"height":0.018754989},"on_screen":true,"help_text":"Zoom in","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Follow","depth":10,"bounds":{"left":0.88829786,"top":0.14924182,"width":0.004654255,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":10,"bounds":{"left":0.8942819,"top":0.14924182,"width":0.011136968,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10:00","depth":13,"bounds":{"left":0.50182843,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10:30","depth":13,"bounds":{"left":0.51894945,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11:00","depth":13,"bounds":{"left":0.53640294,"top":0.21947326,"width":0.0076462766,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11:30","depth":13,"bounds":{"left":0.55352396,"top":0.21947326,"width":0.0076462766,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12:00","depth":13,"bounds":{"left":0.57047874,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12:30","depth":13,"bounds":{"left":0.58759975,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13:00","depth":13,"bounds":{"left":0.60488695,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13:30","depth":13,"bounds":{"left":0.62200797,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:00","depth":13,"bounds":{"left":0.639129,"top":0.21947326,"width":0.00831117,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:30","depth":13,"bounds":{"left":0.65625,"top":0.21947326,"width":0.00831117,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:00","depth":13,"bounds":{"left":0.67353725,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:30","depth":13,"bounds":{"left":0.6906583,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16:00","depth":13,"bounds":{"left":0.7077792,"top":0.21947326,"width":0.00831117,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16:30","depth":13,"bounds":{"left":0.7250665,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17:00","depth":13,"bounds":{"left":0.74235374,"top":0.21947326,"width":0.007978723,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17:30","depth":13,"bounds":{"left":0.75947475,"top":0.21947326,"width":0.007978723,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18:00","depth":13,"bounds":{"left":0.7765958,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18:30","depth":13,"bounds":{"left":0.7937167,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19:00","depth":13,"bounds":{"left":0.81083775,"top":0.21947326,"width":0.00831117,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19:30","depth":13,"bounds":{"left":0.828125,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20:00","depth":13,"bounds":{"left":0.84491354,"top":0.21947326,"width":0.008643617,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20:30","depth":13,"bounds":{"left":0.8622008,"top":0.21947326,"width":0.008643617,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21:00","depth":13,"bounds":{"left":0.87948805,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21:30","depth":13,"bounds":{"left":0.89677525,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php","depth":10,"bounds":{"left":0.49517953,"top":0.2661612,"width":0.1165226,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"⏮ 30s","depth":9,"bounds":{"left":0.49584442,"top":0.7186752,"width":0.023936171,"height":0.02434158},"on_screen":true,"help_text":"Ctrl+←","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"◀ 10s","depth":9,"bounds":{"left":0.52244014,"top":0.71907425,"width":0.02244016,"height":0.023942538},"on_screen":true,"help_text":"←","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"▶ Play","depth":9,"bounds":{"left":0.5475399,"top":0.71907425,"width":0.027925532,"height":0.023942538},"on_screen":true,"help_text":"Space","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"10s ▶","depth":9,"bounds":{"left":0.578125,"top":0.71907425,"width":0.022273935,"height":0.023942538},"on_screen":true,"help_text":"→","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"30s ⏭","depth":9,"bounds":{"left":0.6030585,"top":0.7186752,"width":0.024102394,"height":0.02434158},"on_screen":true,"help_text":"Ctrl+→","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"11:58","depth":10,"bounds":{"left":0.89677525,"top":0.7254589,"width":0.00930851,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":9,"bounds":{"left":0.4965093,"top":0.7609737,"width":0.011801862,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":9,"bounds":{"left":0.51662236,"top":0.7609737,"width":0.011801862,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CleanShot X","depth":9,"bounds":{"left":0.53673536,"top":0.7609737,"width":0.021609042,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":9,"bounds":{"left":0.5666556,"top":0.7609737,"width":0.010970744,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":9,"bounds":{"left":0.5859375,"top":0.7609737,"width":0.030086435,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PhpStorm","depth":9,"bounds":{"left":0.6243351,"top":0.7609737,"width":0.017287234,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Music","depth":9,"bounds":{"left":0.6499335,"top":0.7609737,"width":0.010305851,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Centre","depth":9,"bounds":{"left":0.66855055,"top":0.7609737,"width":0.025598405,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Claude","depth":9,"bounds":{"left":0.7024601,"top":0.7609737,"width":0.012134309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Slack","depth":9,"bounds":{"left":0.7229056,"top":0.7609737,"width":0.009474734,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alfred","depth":9,"bounds":{"left":0.7406915,"top":0.7609737,"width":0.010472074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":9,"bounds":{"left":0.75947475,"top":0.7609737,"width":0.013630319,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"System Information","depth":9,"bounds":{"left":0.78141624,"top":0.7609737,"width":0.033909574,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8141608819476163561
|
2864496259985343385
|
click
|
accessibility
|
NULL
|
New Tab
New Tab
Screenpipe — Archive
Screenpipe — New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe [archive.db · 12323.6MB]
Screenpipe
[archive.db · 12323.6MB]
Activity
Search
Audio
Work Report
Timetable
AI Summary
Date
07
/
05
/
2026
Calendar
Monitor
Jump to
--
:
--
Go
APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN
−
1×
+
Follow
Follow
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php
⏮ 30s
◀ 10s
▶ Play
10s ▶
30s ⏭
11:58
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
17550
|
NULL
|
NULL
|
NULL
|
|
17552
|
772
|
70
|
2026-05-11T10:25:18.067571+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495118067_m1.jpg...
|
Firefox
|
Screenpipe — Archive — Personal
|
True
|
app.screenpipe.lakylak.xyz
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
New Tab
New Tab
Screenpipe — Archive
Screenpipe — New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe [archive.db · 12323.6MB]
Screenpipe
[archive.db · 12323.6MB]
Activity
Search
Audio
Work Report
Timetable
AI Summary
Date
07
/
05
/
2026
Calendar
Monitor
Jump to
--
:
--
Go
APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN
−
1×
+
Follow
Follow
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php
⏮ 30s
◀ 10s
▶ Play
10s ▶
30s ⏭
11:58
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"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.043402776,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.06631944,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.08958333,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.112847224,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.13611111,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe [archive.db · 12323.6MB]","depth":7,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[archive.db · 12323.6MB]","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"on_screen":true,"help_text":"No audio data in this database","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Timetable","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"07","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"05","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Monitor","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jump to","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Go","depth":8,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"−","depth":9,"on_screen":true,"help_text":"Zoom out","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"1×","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"+","depth":9,"on_screen":true,"help_text":"Zoom in","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Follow","depth":10,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"⏮ 30s","depth":9,"on_screen":true,"help_text":"Ctrl+←","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"◀ 10s","depth":9,"on_screen":true,"help_text":"←","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"▶ Play","depth":9,"on_screen":true,"help_text":"Space","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"10s ▶","depth":9,"on_screen":true,"help_text":"→","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"30s ⏭","depth":9,"on_screen":true,"help_text":"Ctrl+→","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"11:58","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CleanShot X","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PhpStorm","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Music","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Centre","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Claude","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Slack","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alfred","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"System Information","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8141608819476163561
|
2864496259985343385
|
click
|
accessibility
|
NULL
|
New Tab
New Tab
Screenpipe — Archive
Screenpipe — New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe [archive.db · 12323.6MB]
Screenpipe
[archive.db · 12323.6MB]
Activity
Search
Audio
Work Report
Timetable
AI Summary
Date
07
/
05
/
2026
Calendar
Monitor
Jump to
--
:
--
Go
APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN
−
1×
+
Follow
Follow
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php
⏮ 30s
◀ 10s
▶ Play
10s ▶
30s ⏭
11:58
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17555
|
772
|
72
|
2026-05-11T10:25:22.004583+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495122004_m1.jpg...
|
Firefox
|
Screenpipe — Archive — Personal
|
True
|
app.screenpipe.lakylak.xyz
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
New Tab
New Tab
Screenpipe — Archive
Screenpipe — New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe [archive.db · 12323.6MB]
Screenpipe
[archive.db · 12323.6MB]
Activity
Search
Audio
Work Report
Timetable
AI Summary
Date
07
/
05
/
2026
Calendar
Monitor
Jump to
--
:
--
Go
APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN
−
1×
+
Follow
Follow
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php
⏮ 30s
◀ 10s
▶ Play
10s ▶
30s ⏭
11:58
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"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.043402776,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.06631944,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.08958333,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.112847224,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.13611111,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe [archive.db · 12323.6MB]","depth":7,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"[archive.db · 12323.6MB]","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"on_screen":true,"help_text":"No audio data in this database","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Timetable","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"07","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"05","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Monitor","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jump to","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Go","depth":8,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"−","depth":9,"on_screen":true,"help_text":"Zoom out","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"1×","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"+","depth":9,"on_screen":true,"help_text":"Zoom in","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Follow","depth":10,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Follow","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"16:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21:00","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"21:30","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"⏮ 30s","depth":9,"on_screen":true,"help_text":"Ctrl+←","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"◀ 10s","depth":9,"on_screen":true,"help_text":"←","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"▶ Play","depth":9,"on_screen":true,"help_text":"Space","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"10s ▶","depth":9,"on_screen":true,"help_text":"→","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"30s ⏭","depth":9,"on_screen":true,"help_text":"Ctrl+→","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"11:58","depth":10,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CleanShot X","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PhpStorm","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Music","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Centre","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Claude","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Slack","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alfred","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"System Information","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8141608819476163561
|
2864496259985343385
|
click
|
accessibility
|
NULL
|
New Tab
New Tab
Screenpipe — Archive
Screenpipe — New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe [archive.db · 12323.6MB]
Screenpipe
[archive.db · 12323.6MB]
Activity
Search
Audio
Work Report
Timetable
AI Summary
Date
07
/
05
/
2026
Calendar
Monitor
Jump to
--
:
--
Go
APP TIMELINE · CLICK TO PLAY · DRAG SCROLLBAR TO PAN
−
1×
+
Follow
Follow
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
7 May 11:58 · PhpStorm / faVsco.js – DeleteCrmEntityTrait.php
⏮ 30s
◀ 10s
▶ Play
10s ▶
30s ⏭
11:58
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
23125
|
980
|
55
|
2026-05-12T07:33:05.034819+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778571185034_m1.jpg...
|
QuickTime Player
|
PLanhat Petko interest event 2026-05-11.mp4
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Petko Kashinski
Screen share
+
Chrome
File
Edit
Vi Petko Kashinski
Screen share
+
Chrome
File
Edit
View
History
Bookmarks
Profiles
Tab
Window
Help
分
口
Q
8•
Mon 11 May 12:20
Work
Gree
Score
andre
• wilso
Call A
Jimin
4 Inbox
NX
ニ Apps
Build
u User
New
u User
→
ws.planhat.com/jiminny/home/data-explorer/usagemetricdef?preview=UsageMetricDef.69f2c6529c9f21b58804f123
Q
★
u
E Work
■ AIKB
ChatPlayground Al...
Jiminny - Calenda...
GMail
My Calendly - Eve...
= PH New Ul Login
Get Starting with J...
Chloe Onboarding...
+ CX Journey SMB...
Jiminny
Search Jiminny
Content Explorer
8 Metric
€ Dataset
Q reports
+ Metric
3 П
Data Explorer
activities.automated-reports-track-interest
Name
* Notifications
Overview
Raw Data
Trace
* Email Manager
EndUser 3
ExecReportsLast1Day
Cal
Metrics
Sections -
ExecReportsRequest
CS Day-to-day *
Getting started Guide
@ Just CS Data
automated-reports-track-interest
Usi
E
* Daily Operations
• Weekly prep
© Renewals and Upsell
Risk and Churn Analytics
目
Implementation
Impl Projects
Trial Opps (Under Review)
Stoyan's clients
Leadership -
88
System Reports
Leadership Operations
Portfolio Overview (Dashbo...
NPS Report - Greg
Client Engagement Overview
HOcommon
https://ws.planhat.com/jiminny/home/data-explorer/usagemetricdef?preview=Us….
zoom
7
■ Apps...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Petko Kashinski\nScreen share","depth":2,"bounds":{"left":0.0015826881,"top":0.039010823,"width":0.07848837,"height":0.037549384},"on_screen":true,"lines":[{"char_start":0,"char_count":16,"bounds":{"left":0.0015826884,"top":0.039010823,"width":0.07848837,"height":0.016469594}},{"char_start":16,"char_count":12,"bounds":{"left":0.0015826881,"top":0.062255677,"width":0.05377907,"height":0.014304527}}],"value":"Petko Kashinski\nScreen share","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"+","depth":2,"bounds":{"left":0.7719315,"top":0.048500497,"width":0.013081395,"height":0.020939758},"on_screen":true,"value":"+","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Chrome","depth":2,"bounds":{"left":0.027745478,"top":0.095033295,"width":0.031976745,"height":0.011633199},"on_screen":true,"value":"Chrome","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"File","depth":2,"bounds":{"left":0.06989664,"top":0.095033295,"width":0.014534883,"height":0.011633199},"on_screen":true,"value":"File","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Edit","depth":2,"bounds":{"left":0.094605945,"top":0.095033295,"width":0.015988372,"height":0.011633199},"on_screen":true,"value":"Edit","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"View","depth":2,"bounds":{"left":0.12076873,"top":0.095033295,"width":0.018895349,"height":0.011633199},"on_screen":true,"value":"View","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"History","depth":2,"bounds":{"left":0.1498385,"top":0.095033295,"width":0.02761628,"height":0.013959839},"on_screen":true,"value":"History","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Bookmarks","depth":2,"bounds":{"left":0.1876292,"top":0.095033295,"width":0.04215116,"height":0.011633199},"on_screen":true,"value":"Bookmarks","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Profiles","depth":2,"bounds":{"left":0.23995478,"top":0.095033295,"width":0.029069766,"height":0.011633199},"on_screen":true,"value":"Profiles","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Tab","depth":2,"bounds":{"left":0.2777455,"top":0.095033295,"width":0.014534883,"height":0.011633199},"on_screen":true,"value":"Tab","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Window","depth":2,"bounds":{"left":0.30245477,"top":0.095033295,"width":0.030523255,"height":0.011633199},"on_screen":true,"value":"Window","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Help","depth":2,"bounds":{"left":0.34315246,"top":0.095033295,"width":0.018895349,"height":0.013959839},"on_screen":true,"value":"Help","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"分","depth":2,"bounds":{"left":0.523385,"top":0.09270666,"width":0.010174419,"height":0.018613119},"on_screen":true,"value":"分","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"口","depth":2,"bounds":{"left":0.60332686,"top":0.095033295,"width":0.010174418,"height":0.013959839},"on_screen":true,"value":"口","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Q","depth":2,"bounds":{"left":0.7196059,"top":0.09270666,"width":0.00872093,"height":0.013959839},"on_screen":true,"value":"Q","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"8•\nMon 11 May 12:20","depth":2,"bounds":{"left":0.7414083,"top":0.0926528,"width":0.093023255,"height":0.016340336},"on_screen":true,"value":"8•\nMon 11 May 12:20","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Work","depth":2,"bounds":{"left":0.12367571,"top":0.12760626,"width":0.020348838,"height":0.0116332},"on_screen":true,"value":"Work","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Gree","depth":2,"bounds":{"left":0.19780362,"top":0.1299329,"width":0.01744186,"height":0.006979919},"on_screen":true,"value":"Gree","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Score","depth":2,"bounds":{"left":0.24431525,"top":0.12760626,"width":0.018895349,"height":0.011633199},"on_screen":true,"value":"Score","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"andre","depth":2,"bounds":{"left":0.2893734,"top":0.12760626,"width":0.020348838,"height":0.011633199},"on_screen":true,"value":"andre","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"• wilso","depth":2,"bounds":{"left":0.32280362,"top":0.12483798,"width":0.03197674,"height":0.016986625},"on_screen":true,"value":"• wilso","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Call A","depth":2,"bounds":{"left":0.38094315,"top":0.12752008,"width":0.021802325,"height":0.011719371},"on_screen":true,"value":"Call A","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Jimin","depth":2,"bounds":{"left":0.42745477,"top":0.12760626,"width":0.018895349,"height":0.011633199},"on_screen":true,"value":"Jimin","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"4 Inbox","depth":2,"bounds":{"left":0.4623385,"top":0.12752008,"width":0.030523255,"height":0.011719371},"on_screen":true,"value":"4 Inbox","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"NX","depth":2,"bounds":{"left":0.5206859,"top":0.12752008,"width":0.017233986,"height":0.011719371},"on_screen":true,"value":"NX","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"ニ Apps","depth":2,"bounds":{"left":0.55245477,"top":0.12752008,"width":0.03197674,"height":0.014304527},"on_screen":true,"value":"ニ Apps","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Build","depth":2,"bounds":{"left":0.61059433,"top":0.12760626,"width":0.018895349,"height":0.011633199},"on_screen":true,"value":"Build","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"u User","depth":2,"bounds":{"left":0.6439447,"top":0.12698741,"width":0.033589926,"height":0.0128708705},"on_screen":true,"value":"u User","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"New\nu User","depth":2,"bounds":{"left":0.7007106,"top":0.12760626,"width":0.06540697,"height":0.011633199},"on_screen":true,"value":"New\nu User","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"→","depth":2,"bounds":{"left":0.027745478,"top":0.16715913,"width":0.00872093,"height":0.013959839},"on_screen":true,"value":"→","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"ws.planhat.com/jiminny/home/data-explorer/usagemetricdef?preview=UsageMetricDef.69f2c6529c9f21b58804f123","depth":2,"bounds":{"left":0.08879199,"top":0.16715913,"width":0.45348835,"height":0.01628648},"on_screen":true,"value":"ws.planhat.com/jiminny/home/data-explorer/usagemetricdef?preview=UsageMetricDef.69f2c6529c9f21b58804f123","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Q","depth":2,"bounds":{"left":0.5684432,"top":0.16715913,"width":0.010174418,"height":0.013959839},"on_screen":true,"value":"Q","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"★","depth":2,"bounds":{"left":0.585885,"top":0.16715913,"width":0.010174419,"height":0.01628648},"on_screen":true,"value":"★","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"u","depth":2,"bounds":{"left":0.61495477,"top":0.16715913,"width":0.011627907,"height":0.01628648},"on_screen":true,"value":"u","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"E Work","depth":2,"bounds":{"left":0.77919894,"top":0.16685753,"width":0.031976745,"height":0.014304527},"on_screen":true,"value":"E Work","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"■ AIKB","depth":2,"bounds":{"left":0.005943152,"top":0.20438537,"width":0.030523255,"height":0.011643971},"on_screen":true,"value":"■ AIKB","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"ChatPlayground Al...","depth":2,"bounds":{"left":0.058268737,"top":0.20438537,"width":0.06831395,"height":0.011643971},"on_screen":true,"value":"ChatPlayground Al...","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Jiminny - Calenda...","depth":2,"bounds":{"left":0.14838502,"top":0.20438537,"width":0.06686046,"height":0.011643971},"on_screen":true,"value":"Jiminny - Calenda...","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"GMail","depth":2,"bounds":{"left":0.2385013,"top":0.20205873,"width":0.021802325,"height":0.011633199},"on_screen":true,"value":"GMail","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"My Calendly - Eve...","depth":2,"bounds":{"left":0.27919897,"top":0.20438537,"width":0.06831395,"height":0.011643971},"on_screen":true,"value":"My Calendly - Eve...","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"= PH New Ul Login","depth":2,"bounds":{"left":0.3591408,"top":0.20438537,"width":0.06976744,"height":0.011643971},"on_screen":true,"value":"= PH New Ul Login","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Get Starting with J...","depth":2,"bounds":{"left":0.44780362,"top":0.20172481,"width":0.07122093,"height":0.014304527},"on_screen":true,"value":"Get Starting with J...","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Chloe Onboarding...","depth":2,"bounds":{"left":0.582978,"top":0.20438537,"width":0.06976744,"height":0.014326069},"on_screen":true,"value":"Chloe Onboarding...","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"+ CX Journey SMB...","depth":2,"bounds":{"left":0.6600129,"top":0.20172481,"width":0.075581394,"height":0.016986625},"on_screen":true,"value":"+ CX Journey SMB...","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Jiminny","depth":2,"bounds":{"left":0.01757106,"top":0.23928496,"width":0.030523255,"height":0.011633199},"on_screen":true,"value":"Jiminny","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Search Jiminny","depth":2,"bounds":{"left":0.30245477,"top":0.2392742,"width":0.04505814,"height":0.011643971},"on_screen":true,"value":"Search Jiminny","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Content Explorer","depth":2,"bounds":{"left":0.01902455,"top":0.27145937,"width":0.049418602,"height":0.012031744},"on_screen":true,"value":"Content Explorer","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"8 Metric","depth":2,"bounds":{"left":0.13232905,"top":0.26912388,"width":0.03211194,"height":0.014774631},"on_screen":true,"value":"8 Metric","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"€ Dataset","depth":2,"bounds":{"left":0.18326874,"top":0.26953128,"width":0.03197674,"height":0.011762457},"on_screen":true,"value":"€ Dataset","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Q reports","depth":2,"bounds":{"left":0.13239664,"top":0.3018565,"width":0.029069766,"height":0.011880943},"on_screen":true,"value":"Q reports","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"+ Metric\n3 П","depth":2,"bounds":{"left":0.24720486,"top":0.3019978,"width":0.043622017,"height":0.011846064},"on_screen":true,"value":"+ Metric\n3 П","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Data Explorer","depth":2,"bounds":{"left":0.019024547,"top":0.3160641,"width":0.039244186,"height":0.011719371},"on_screen":true,"value":"Data Explorer","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"activities.automated-reports-track-interest","depth":2,"bounds":{"left":0.29664084,"top":0.30443087,"width":0.117732555,"height":0.011633199},"on_screen":true,"value":"activities.automated-reports-track-interest","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Name","depth":2,"bounds":{"left":0.1498385,"top":0.33235055,"width":0.018895349,"height":0.009306559},"on_screen":true,"value":"Name","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"* Notifications","depth":2,"bounds":{"left":0.007396643,"top":0.3393305,"width":0.049418602,"height":0.011697828},"on_screen":true,"value":"* Notifications","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Overview\nRaw Data\nTrace","depth":2,"bounds":{"left":0.2980943,"top":0.33672377,"width":0.08575581,"height":0.011913258},"on_screen":true,"value":"Overview\nRaw Data\nTrace","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"* Email Manager","depth":2,"bounds":{"left":0.0073966417,"top":0.36259687,"width":0.05523256,"height":0.011676285},"on_screen":true,"value":"* Email Manager","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"EndUser 3","depth":2,"bounds":{"left":0.15563853,"top":0.35783574,"width":0.034911573,"height":0.0118489005},"on_screen":true,"value":"EndUser 3","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"ExecReportsLast1Day","depth":2,"bounds":{"left":0.15419897,"top":0.3881899,"width":0.062499996,"height":0.011633199},"on_screen":true,"value":"ExecReportsLast1Day","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Cal","depth":2,"bounds":{"left":0.28065246,"top":0.3881899,"width":0.010174419,"height":0.009306559},"on_screen":true,"value":"Cal","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Metrics","depth":2,"bounds":{"left":0.2980943,"top":0.37888336,"width":0.021802325,"height":0.009306559},"on_screen":true,"value":"Metrics","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Sections -","depth":2,"bounds":{"left":0.0059431554,"top":0.41808078,"width":0.029069765,"height":0.007335378},"on_screen":true,"value":"Sections -","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"ExecReportsRequest","depth":2,"bounds":{"left":0.15419896,"top":0.4161096,"width":0.059593022,"height":0.011633199},"on_screen":true,"value":"ExecReportsRequest","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"CS Day-to-day *\nGetting started Guide\n@ Just CS Data","depth":2,"bounds":{"left":0.021931527,"top":0.439376,"width":0.06831395,"height":0.055839356},"on_screen":true,"lines":[{"char_start":0,"char_count":16,"bounds":{"left":0.021931527,"top":0.439376,"width":0.05087209,"height":0.013959839}},{"char_start":16,"char_count":22,"bounds":{"left":0.023385014,"top":0.4626424,"width":0.06686046,"height":0.013959839}},{"char_start":38,"char_count":14,"bounds":{"left":0.023385014,"top":0.48334518,"width":0.04505814,"height":0.011870172}}],"value":"CS Day-to-day *\nGetting started Guide\n@ Just CS Data","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"automated-reports-track-interest","depth":2,"bounds":{"left":0.15419897,"top":0.44402927,"width":0.094476745,"height":0.011633199},"on_screen":true,"value":"automated-reports-track-interest","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Usi","depth":2,"bounds":{"left":0.28065246,"top":0.44402927,"width":0.011627907,"height":0.011633199},"on_screen":true,"value":"Usi","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"E","depth":2,"bounds":{"left":0.0073966407,"top":0.54640144,"width":0.0072674416,"height":0.013959839},"on_screen":true,"value":"E","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"* Daily Operations\n• Weekly prep\n© Renewals and Upsell\nRisk and Churn Analytics","depth":2,"bounds":{"left":0.023385013,"top":0.50659007,"width":0.07848837,"height":0.07509877},"on_screen":true,"lines":[{"char_start":0,"char_count":19,"bounds":{"left":0.023385016,"top":0.50659007,"width":0.055232555,"height":0.011891715}},{"char_start":19,"char_count":14,"bounds":{"left":0.023385013,"top":0.52536476,"width":0.04360465,"height":0.014304527}},{"char_start":33,"char_count":22,"bounds":{"left":0.023385014,"top":0.5486096,"width":0.06540697,"height":0.011751685}},{"char_start":55,"char_count":24,"bounds":{"left":0.023385014,"top":0.5696678,"width":0.07848837,"height":0.012020973}}],"value":"* Daily Operations\n• Weekly prep\n© Renewals and Upsell\nRisk and Churn Analytics","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"目","depth":2,"bounds":{"left":0.007396641,"top":0.6255072,"width":0.00872093,"height":0.013959839},"on_screen":true,"value":"目","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Implementation\nImpl Projects\nTrial Opps (Under Review)\nStoyan's clients","depth":2,"bounds":{"left":0.021931525,"top":0.6045674,"width":0.074127905,"height":0.07677912},"on_screen":true,"lines":[{"char_start":0,"char_count":15,"bounds":{"left":0.021931525,"top":0.6045674,"width":0.05232558,"height":0.011633199}},{"char_start":15,"char_count":14,"bounds":{"left":0.021931525,"top":0.62549645,"width":0.037790697,"height":0.014304527}}],"value":"Implementation\nImpl Projects\nTrial Opps (Under Review)\nStoyan's clients","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Leadership -","depth":2,"bounds":{"left":0.021931523,"top":0.7041713,"width":0.040697675,"height":0.012516461},"on_screen":true,"value":"Leadership -","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"88","depth":2,"bounds":{"left":0.0073966407,"top":0.79069865,"width":0.00872093,"height":0.0116332},"on_screen":true,"value":"88","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"System Reports\nLeadership Operations\nPortfolio Overview (Dashbo...\nNPS Report - Greg\nClient Engagement Overview","depth":2,"bounds":{"left":0.021931525,"top":0.72787935,"width":0.08284883,"height":0.095392235},"on_screen":true,"value":"System Reports\nLeadership Operations\nPortfolio Overview (Dashbo...\nNPS Report - Greg\nClient Engagement Overview","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"HOcommon","depth":2,"bounds":{"left":0.30390826,"top":0.77441216,"width":0.04360465,"height":0.0046532797},"on_screen":true,"value":"HOcommon","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"https://ws.planhat.com/jiminny/home/data-explorer/usagemetricdef?preview=Us….","depth":2,"bounds":{"left":0.0,"top":0.8418847,"width":0.27470928,"height":0.013959839},"on_screen":true,"value":"https://ws.planhat.com/jiminny/home/data-explorer/usagemetricdef?preview=Us….","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"zoom","depth":2,"bounds":{"left":0.100419894,"top":0.89074415,"width":0.021802325,"height":0.009306559},"on_screen":true,"value":"zoom","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"7","depth":2,"bounds":{"left":0.2385013,"top":0.8860909,"width":0.013081395,"height":0.018613119},"on_screen":true,"value":"7","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"■ Apps","depth":2,"bounds":{"left":0.52919894,"top":0.20438537,"width":0.030523255,"height":0.011643971},"on_screen":true,"value":"■ Apps","role_description":"text entry area","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8140430174218498792
|
6856778524413687421
|
click
|
accessibility
|
NULL
|
Petko Kashinski
Screen share
+
Chrome
File
Edit
Vi Petko Kashinski
Screen share
+
Chrome
File
Edit
View
History
Bookmarks
Profiles
Tab
Window
Help
分
口
Q
8•
Mon 11 May 12:20
Work
Gree
Score
andre
• wilso
Call A
Jimin
4 Inbox
NX
ニ Apps
Build
u User
New
u User
→
ws.planhat.com/jiminny/home/data-explorer/usagemetricdef?preview=UsageMetricDef.69f2c6529c9f21b58804f123
Q
★
u
E Work
■ AIKB
ChatPlayground Al...
Jiminny - Calenda...
GMail
My Calendly - Eve...
= PH New Ul Login
Get Starting with J...
Chloe Onboarding...
+ CX Journey SMB...
Jiminny
Search Jiminny
Content Explorer
8 Metric
€ Dataset
Q reports
+ Metric
3 П
Data Explorer
activities.automated-reports-track-interest
Name
* Notifications
Overview
Raw Data
Trace
* Email Manager
EndUser 3
ExecReportsLast1Day
Cal
Metrics
Sections -
ExecReportsRequest
CS Day-to-day *
Getting started Guide
@ Just CS Data
automated-reports-track-interest
Usi
E
* Daily Operations
• Weekly prep
© Renewals and Upsell
Risk and Churn Analytics
目
Implementation
Impl Projects
Trial Opps (Under Review)
Stoyan's clients
Leadership -
88
System Reports
Leadership Operations
Portfolio Overview (Dashbo...
NPS Report - Greg
Client Engagement Overview
HOcommon
https://ws.planhat.com/jiminny/home/data-explorer/usagemetricdef?preview=Us….
zoom
7
■ Apps...
|
NULL
|
/Volumes/Work/2026/PLanhat Petko interest event 20 /Volumes/Work/2026/PLanhat Petko interest event 2026-05-11.mp4...
|
NULL
|
NULL
|
|
10743
|
481
|
7
|
2026-05-08T17:47:49.847349+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-08/1778 /Users/lukas/.screenpipe/data/data/2026-05-08/1778262469847_m1.jpg...
|
Code
|
Review payment logger au… — docker [SSH: nas]
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E)
Search (⇧⌘F)
Source Control (⌃⇧ Explorer (⇧⌘E)
Search (⇧⌘F)
Source Control (⌃⇧G) - 55 pending changes
55
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update
2
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: docker [SSH: nas]
Explorer Section: docker [SSH: nas]
DOCKER [SSH: NAS]
adguard
ai-stack
app-db
appflowy
audiobookshelf
auth
certs
db
media
templates
.env
.env.example
docker-compose.yml
README.md
beszel
bitwarden
dawarich
dsk-uploader
flask-app
garmin-connector
gitea
health
health-tracker
homarr
hst
immich
jellyfinht
kavita
libreoffice
linkwarden
location-logger
alembic
app
mcp-server
.env
.env.example
.gitignore
.mcp.json
M
alembic.ini
docker-compose.yml
M
Dockerfile
README.md
M
requirements.txt
M
today_map.html
mariadb
meeting-detector
mindfulmama
n8n
notifier-app
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
docker-compose.yml, Editor Group 1
docker-compose.yml, Editor Group 1
docker-compose.yml, Editor Group 1
services:
postgresql:
image: docker.io/library/postgres:16-alpine
container_name: Authentik-DB
hostname: authentik-db
restart: unless-stopped
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB:-authentik} -U ${POSTGRES_USER:-authentik}"]
interval: 5s
timeout: 5s
retries: 5
environment:
POSTGRES_PASSWORD: [PASSWORD]
POSTGRES_USER: authentik
POSTGRES_DB: authentik
volumes:
- /volume2/docker/auth/db:/var/lib/postgresql/data
networks:
- authentik_internal
redis:
image: docker.io/library/redis:alpine
container_name: Authentik-REDIS
hostname: authentik-redis
restart: unless-stopped
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
interval: 5s
timeout: 3s
retries: 5
networks:
- authentik_internal
server:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}
container_name: Authentik-Server
hostname: authentik-server
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: [PASSWORD]
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
AUTHENTIK_ERROR_REPORTING__ENABLED: "false"
AUTHENTIK_HOST: ${AUTHENTIK_HOST}
AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}
AUTHENTIK_BOOTSTRAP_PASSWORD: [PASSWORD]
ports:
- "9100:9000"
volumes:
- /volume2/docker/auth/media:/media
- /volume2/docker/auth/templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks:
- authentik_internal
- proxy
worker:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}
container_name: Authentik-Worker
hostname: authentik-worker
restart: unless-stopped
command: worker
user: root
environment:
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: [PASSWORD]
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /volume2/docker/auth/media:/media
- /volume2/docker/auth/certs:/certs
- /volume2/docker/auth/templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks:
- authentik_internal
outpost:
image: ghcr.io/goauthentik/proxy:${AUTHENTIK_TAG}
container_name: Authentik-Outpost
hostname: authentik-outpost
restart: unless-stopped
environment:
AUTHENTIK_HOST: ${AUTHENTIK_HOST}
AUTHENTIK_INSECURE: "false"
AUTHENTIK_TOKEN: ${AUTHENTIK_OUTPOST_TOKEN}
ports:
- "9101:9000"
depends_on:
- server
networks:
- authentik_internal
- proxy
networks:
authentik_internal:
internal: true
proxy:
external: true
services:
postgresql:
image: docker.io/library/postgres:16-alpine
container_name: Authentik-DB
hostname: authentik-db
restart: unless-stopped
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB:-authentik} -U ${POSTGRES_USER:-authentik}"]
interval: 5s
timeout: 5s
retries: 5
environment:
POSTGRES_PASSWORD: [PASSWORD]
POSTGRES_USER: authentik
POSTGRES_DB: authentik
volumes:
- /volume2/docker/auth/db:/var/lib/postgresql/data
networks:
- authentik_internal
redis:
image: docker.io/library/redis:alpine
container_name: Authentik-REDIS
hostname: authentik-redis
restart: unless-stopped
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
interval: 5s
timeout: 3s
retries: 5
networks:
- authentik_internal
server:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}
container_name: Authentik-Server
hostname: authentik-server
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: [PASSWORD]
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
AUTHENTIK_ERROR_REPORTING__ENABLED: "false"
AUTHENTIK_HOST: ${AUTHENTIK_HOST}
AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}
AUTHENTIK_BOOTSTRAP_PASSWORD: [PASSWORD]
ports:
- "9100:9000"
volumes:
- /volume2/docker/auth/media:/media
- /volume2/docker/auth/templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks:
- authentik_internal
- proxy
worker:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}
container_name: Authentik-Worker
hostname: authentik-worker
restart: unless-stopped
command: worker
user: root
environment:
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: [PASSWORD]
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /volume2/docker/auth/media:/media
- /volume2/docker/auth/certs:/certs
- /volume2/docker/auth/templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks:
- authentik_internal
outpost:
image: ghcr.io/goauthentik/proxy:${AUTHENTIK_TAG}
container_name: Authentik-Outpost
hostname: authentik-outpost
restart: unless-stopped
environment:
AUTHENTIK_HOST: ${AUTHENTIK_HOST}
AUTHENTIK_INSECURE: "false"
AUTHENTIK_TOKEN: ${AUTHENTIK_OUTPOST_TOKEN}
ports:
- "9101:9000"
depends_on:
- server
networks:
- authentik_internal
- proxy
networks:
authentik_internal:
internal: true
proxy:
external: true
Review payment logger au…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports
PORTS
remote SSH: nas
SSH: nas
location-logger (Git)
location-logger
location-logger (Git) - main*, Checkout Branch/Tag...
main*
location-logger (Git) - Synchronize Changes
No Problems
0
0
No Ports Forwarded
0
Notifications
Sign In
Sign In
expanded
Command Succeeded
Review payment logger authorization implementation
Session history
New session
Message actions
review payment_logger project how toes authorization work
Thinking
Thinking
Let me explore the payment_logger project structure first.
Bash
Find payment_logger project files
IN
find /volume2/docker -type f -name "*.py" -o -name "*.yml" -o -name "*.yaml" -o -name "*.env" -o -name "*.toml" -o -name "*.cfg" | grep -i payment | head -50
Copy code to clipboard
OUT
bfs: error: /volume2/docker/portnotedb/pg_commit_ts: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_dynshmem: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_notify: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_serial: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_snapshots: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_subtrans: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_twophase: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_multixact: Permission denied.
bfs: error: /volume2/docker/portnotedb/base: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_replslot: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_tblspc: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_stat: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_stat_tmp: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_xact: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_logical: Permission denied.
bfs: error: /volume2/docker/openttd/.dbus: Permission denied.
bfs: error: /volume2/docker/immich/db: Permission denied.
bfs: error: /volume2/docker/paperlessngx/db: Permission denied.
bfs: error: /volume2/docker/appflowy/postgres: Permission denied.
bfs: error: /volume2/docker/auth/db: Permission denied.
bfs: error: /volume2/docker/openttd/.XDG/dbus-1: Permission denied.
bfs: error: /volume2/docker/openttd/.config/pulse: Permission denied.
bfs: error: /volume2/docker/openttd/.cache/openbox/sessions: Permission denied.
/volume2/docker/payments-logger/.env
/volume2/docker/payments-logger/docker-compose.yml
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
Bash
List docker directory contents
IN
ls /volume2/docker/
Copy code to clipboard
OUT
adguard
ai-stack
app-db
appflowy
audiobookshelf
auth
beszel
bitwarden
dawarich
dsk-uploader
flask-app
garmin-connector
gitea
health
health-tracker
homarr
hst
immich
jellyfinht
kavita
libreoffice
linkwarden
location-logger
mariadb
meeting-detector
mindfulmama
n8n
notifier-app
npm
oauth
obsidian
ollama
openttd
openvpn-client
open-webui
orchestrator
outfit-app
owntracks-stack
paperlessngx
payments-logger
personal-log
personal-log-system
player
portainer
portnotedb
reminders-app
romm
second-brain
static
stirling
syncthing
tailscale
temp-logger
test-app
tmp
torrent-stack
tree
trilium
tubearchivist
twenty
uptimekuma
ytptube
Agent:
Explore payment_logger authorization code
IN
Explore the payments-logger project at /volume2/docker/payments-logger and give me a thorough understanding of how authorization works. I need to know:
1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)
2. Where auth is enforced (middleware, decorators, route guards, etc.)
3. What roles/permissions exist
4. How tokens are issued, validated, and refreshed
5. Any auth-related config (env vars, settings)
Please read the key source files and give me a clear summary with file paths and line numbers for the important parts.
Bash
IN
find /volume2/docker/payments-logger -type f -name "*.py" -o -name "*.json" -o -name "*.yml" -o -name "*.yaml" | grep -E "(auth|token|jwt|session|permission|role)" | head -20
Copy code to clipboard
OUT
(Bash completed with no output)
Bash
IN
ls -la /volume2/docker/payments-logger/ 2>/dev/null || echo "Directory not found"
Copy code to clipboard
OUT
total 36
drwxrwxrwx 1 Adm1n admin 162 Mar 29 18:01 .
drwxrwxrwx 1 root root 1146 Apr 26 18:49 ..
-rwxrwxrwx 1 Adm1n admin 15233 Feb 22 17:08 API.md
drwxrwxrwx 1 Adm1n admin 88 Mar 29 15:41 backend
drwxrwxrwx 1 Adm1n admin 38 Mar 29 17:07 .claude
-rwxrwxrwx 1 Adm1n admin 1502 Mar 29 18:01 docker-compose.yml
-rwxrwxrwx 1 Adm1n admin 1066 Mar 29 15:44 .env
-rwxrwxrwx 1 Adm1n admin 1078 Feb 14 17:53 .env.example
drwxrwxrwx 1 Adm1n admin 194 Mar 29 15:44 frontend
-rwxrwxrwx 1 Adm1n admin 19 Feb 14 17:54 .gitignore
-rwxrwxrwx 1 Adm1n admin 4052 Feb 14 19:06 README.md
Bash
IN
find /volume2/docker/payments-logger/backend -type f | head -30
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/Dockerfile
/volume2/docker/payments-logger/backend/.dockerignore
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/prisma/schema.prisma
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql
Bash
IN
find /volume2/docker/payments-logger -type f \( -name "*.js" -o -name "*.json" -o -name "*.md" \) | sort
Copy code to clipboard
OUT
/volume2/docker/payments-logger/API.md
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/.claude/settings.local.json
/volume2/docker/payments-logger/frontend/package.json
/volume2/docker/payments-logger/frontend/postcss.config.js
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/tailwind.config.js
/volume2/docker/payments-logger/frontend/vite.config.js
/volume2/docker/payments-logger/README.md
Read
.env
.env
Read
auth.js
auth.js
Read
index.js
index.js
Read
package.json
package.json
Read
auth.js
auth.js
Read
API.md
API.md
Read
payments.js
payments.js
Read
.env.example
.env.example
Read
schema.prisma
schema.prisma
Bash
IN
grep -r "API_KEY\|auth\|token\|oauth\|hydra" /volume2/docker/payments-logger/backend/src --include="*.js" -n
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/src/index.js:6:const { bearerTokenMiddleware, wellKnownRouter } = require('./auth');
/volume2/docker/payments-logger/backend/src/index.js:18:// ── OAuth Bearer token auth (skips public paths) ──────────────────────────────
/volume2/docker/payments-logger/backend/src/auth.js:2: * OAuth 2.1 / Hydra JWT authentication for Express.
/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints
/volume2/docker/payments-logger/backend/src/auth.js:33:function sendUnauthorized(res, detail, error = 'invalid_token') {
/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata="${realm}/.well-known/oauth-protected-resource"`,
/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server="${HYDRA_PUBLIC_URL}"`,
/volume2/docker/payments-logger/backend/src/auth.js:52: * On success, attaches the decoded payload to req.tokenPayload.
/volume2/docker/payments-logger/backend/src/auth.js:54: * @param {Set<string>} publicPaths Paths to skip auth for.
/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',
/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',
/volume2/docker/payments-logger/backend/src/auth.js:66: const auth = req.headers.authorization || '';
/volume2/docker/payments-logger/backend/src/auth.js:67: if (!auth.toLowerCase().startsWith('bearer ')) {
/volume2/docker/payments-logger/backend/src/auth.js:68: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');
/volume2/docker/payments-logger/backend/src/auth.js:71: const token = auth.slice(7).trim();
/volume2/docker/payments-logger/backend/src/auth.js:72: if (!token) {
/volume2/docker/payments-logger/backend/src/auth.js:73: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');
/volume2/docker/payments-logger/backend/src/auth.js:82: const { payload } = await jwtVerify(token, getJwks(), verifyOptions);
/volume2/docker/payments-logger/backend/src/auth.js:83: req.tokenPayload = payload;
/volume2/docker/payments-logger/backend/src/auth.js:87: const error = msg.includes('expired') ? 'invalid_token' : 'invalid_token';
/volume2/docker/payments-logger/backend/src/auth.js:88: sendUnauthorized(res, msg, error);
/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],
/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:119: authorization_endpoint: doc.authorization_endpoint,
/volume2/docker/payments-logger/backend/src/auth.js:120: token_endpoint: doc.token_endpoint,
/volume2/docker/payments-logger/backend/src/auth.js:123: grant_types_supported: doc.grant_types_supported || ['authorization_code', 'refresh_token'],
/volume2/docker/payments-logger/backend/src/auth.js:124: [API_KEY]: doc.[API_KEY] || ['none', 'client_secret_basic'],
/volume2/docker/payments-logger/backend/src/auth.js:128: id_token_signing_alg_values_supported: doc.id_token_signing_alg_values_supported || ['RS256'],
/volume2/docker/payments-logger/backend/src/routes/payments.js:58:// ── Ingest a payment (public — no auth) ──────────────────────────────────────
Bash
IN
find /volume2/docker/payments-logger/frontend/src -type f -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" | head -20
Copy code to clipboard
OUT
/volume2/docker/payments-logger/frontend/src/main.jsx
/volume2/docker/payments-logger/frontend/src/App.jsx
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx
/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx
Read
AuthProvider.jsx
AuthProvider.jsx
Read
AuthCallback.jsx
AuthCallback.jsx
Read
App.jsx
App.jsx
Read
main.jsx
main.jsx
Read
vite.config.js
vite.config.js
Bash
IN
grep -r "HYDRA\|VITE" /volume2/docker/payments-logger --include=".env*" -n
Copy code to clipboard
OUT
(Bash completed with no output)
Read
docker-compose.yml
docker-compose.yml
Bash
IN
grep -r "API_KEY" /volume2/docker/payments-logger/backend --include="*.js" -n
Copy code to clipboard
OUT
(Bash completed with no output)
Read
README.md
README.md
Bash
IN
grep -n "HYDRA\|oauth\|TOKEN" /volume2/docker/payments-logger/backend/src/index.js /volume2/docker/payments-logger/backend/src/auth.js | head -40
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints
/volume2/docker/payments-logger/backend/src/auth.js:11:const HYDRA_PUBLIC_URL = (process.env.HYDRA_PUBLIC_URL || '').replace(/\/$/, '');
/volume2/docker/payments-logger/backend/src/auth.js:24: new URL(`${HYDRA_PUBLIC_URL}/.well-known/jwks.json`)
/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata="${realm}/.well-known/oauth-protected-resource"`,
/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server="${HYDRA_PUBLIC_URL}"`,
/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',
/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',
/volume2/docker/payments-logger/backend/src/auth.js:78: issuer: HYDRA_PUBLIC_URL,
/volume2/docker/payments-logger/backend/src/auth.js:81: if (process.env.TOKEN_AUDIENCE) verifyOptions.audience = process.env.TOKEN_AUDIENCE;
/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],
/volume2/docker/payments-logger/backend/src/auth.js:107: jwks_uri: `${HYDRA_PUBLIC_URL}/.well-known/jwks.json`,
/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:113: const r = await fetch(`${HYDRA_PUBLIC_URL}/.well-known/openid-configuration`);
/volume2/docker/payments-logger/backend/src/auth.js:118: issuer: doc.issuer || HYDRA_PUBLIC_URL,
Thinking
Thinking
payments-logger Authorization Overview
payments-logger Authorization Overview
The project uses
OAuth 2.1 with PKCE
via an external Hydra OAuth server at
hydra.lakylak.xyz
.
Auth Flow
Auth Flow
Frontend
(
frontend/src/auth.js
frontend/src/auth.js
):
Fetches OAuth server metadata via discovery endpoint
Generates a PKCE code verifier/challenge (SHA-256)
Redirects user to Hydra login with
code_challenge
On callback, exchanges code + verifier for tokens
Stores
access_token
,
refresh_token
in
localStorage
(
pl_oauth_tokens
)
Auto-refreshes token 30 seconds before expiry
Backend
(
backend/src/auth.js
backend/src/auth.js
):
bearerTokenMiddleware
validates the
Authorization: Bearer <token>
header
Fetches Hydra's JWKS (cached 300s) and verifies JWT signature (RS256/ES256/PS256)
Validates issuer (
[URL_WITH_CREDENTIALS]
const prisma = new PrismaClient();
const [ENV_SECRET];
const JWT_EXPIRE_MINS = parseInt(process.env.JWT_EXPIRE_MINUTES || '1440', 10);
if (!JWT_SECRET) {
console.error('FATAL: JWT_SECRET env var is required');
process.exit(1);
}
const secret = new TextEncoder().encode(JWT_SECRET);
// ── JWT helpers ───────────────────────────────────────────────────────────────
async function signToken(username) {
return new SignJWT({ sub: username })
.setProtectedHeader({ alg: 'HS256' })
.setIssuedAt()
.setExpirationTime(`${JWT_EXPIRE_MINS}m`)
.sign(secret);
}
async function verifyToken(token) {
const { payload } = await jwtVerify(token, secret, { algorithms: ['HS256'] });
return payload;
}
// ── Middleware ────────────────────────────────────────────────────────────────
function bearerTokenMiddleware(publicPaths) {
const _public = new Set(publicPaths);
return async (req, res, next) => {
if (_public.has(req.path)) return next();
const auth = req.headers.authorization || '';
if (!auth.toLowerCase().startsWith('bearer ')) {
return res.status(401).json({ error: 'Bearer token required' });
}
const token = auth.slice(7).trim();
try {
req.tokenPayload = await verifyToken(token);
next();
} catch (err) {
res.status(401).json({ error: 'Invalid or expired token' });
}
};
}
// ── Auth routes ───────────────────────────────────────────────────────────────
const authRouter = express.Router();
authRouter.post('/auth/register', async (req, res) => {
const { username, password } = req.body || {};
if (!username || !password) {
return res.status(400).json({ error: 'username and password are required' });
}
if (typeof username !== 'string' || username.length > 100) {
return res.status(400).json({ error: 'username must be a string under 100 chars' });
}
if (typeof password !== 'string' || password.length < 8) {
return res.status(400).json({ error: 'password must be at least 8 characters' });
}
try {
const existing = await prisma.user.findUnique({ where: { username } });
if (existing) {
return res.status(409).json({ error: 'Username already taken' });
}
const hashedPassword = [PASSWORD] bcrypt.hash(password, 10);
await prisma.user.create({ data: { username, hashedPassword } });
const token = await signToken(username);
res.status(201).json({ access_token: token, token_type: 'bearer', expires_in: JWT_EXPIRE_MINS * 60 });
} catch (err) {
console.error('Register error:', err);
res.status(500).json({ error: 'Registration failed' });
}
});
authRouter.post('/auth/login', async (req, res) => {
const { username, password } = req.body || {};
if (!username || !password) {
return res.status(400).json({ error: 'username and password are required' });
}
try {
const user = await prisma.user.findUnique({ where: { username } });
// Always run bcrypt compare to prevent timing-based username enumeration
const dummyHash = '$2a$10$abcdefghijklmnopqrstuuABCDEFGHIJKLMNOPQRSTUVWXYZ012345';
const valid = user
? await bcrypt.compare(password, user.hashedPassword)
: await bcrypt.compare(password, dummyHash).then(() => false);
if (!valid) {
return res.status(401).json({ error: 'Invalid username or password' });
}
const token = await signToken(username);
res.json({ access_token: token, token_type: 'bearer', expires_in: JWT_EXPIRE_MINS * 60 });
} catch (err) {
console.error('Login error:', err);
res.status(500).json({ error: 'Login failed' });
}
});
module.exports = { bearerTokenMiddleware, authRouter };
Update Todos
Add bcryptjs to backend package.json
Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)
Update backend/src/index.js (remove wellKnownRouter, mount authRouter)
Add User model to prisma/schema.prisma
Create Prisma migration for users table
Rewrite frontend/src/auth.js (simple username/password login)
Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)
Update frontend/src/main.jsx (remove /auth/callback handling)...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 55 pending changes","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"55","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: docker [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: docker [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"DOCKER [SSH: NAS]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"adguard","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-stack","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app-db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"appflowy","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audiobookshelf","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"auth","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"certs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"media","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"templates","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".env","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".env.example","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"docker-compose.yml","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"README.md","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"beszel","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bitwarden","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dawarich","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dsk-uploader","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"flask-app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"garmin-connector","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"gitea","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health-tracker","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"homarr","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"hst","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"immich","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jellyfinht","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"kavita","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"libreoffice","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"linkwarden","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"location-logger","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alembic","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mcp-server","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".env","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".env.example","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".mcp.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alembic.ini","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"docker-compose.yml","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Dockerfile","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"README.md","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"requirements.txt","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"today_map.html","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mariadb","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"meeting-detector","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mindfulmama","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"n8n","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"notifier-app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"docker-compose.yml, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"docker-compose.yml, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"docker-compose.yml, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"services:\n\n postgresql:\n image: docker.io/library/postgres:16-alpine\n container_name: Authentik-DB\n hostname: authentik-db\n restart: unless-stopped\n security_opt:\n - no-new-privileges:true\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -d ${POSTGRES_DB:-authentik} -U ${POSTGRES_USER:-authentik}\"]\n interval: 5s\n timeout: 5s\n retries: 5\n environment:\n POSTGRES_PASSWORD: ${PG_PASS}\n POSTGRES_USER: authentik\n POSTGRES_DB: authentik\n volumes:\n - /volume2/docker/auth/db:/var/lib/postgresql/data\n networks:\n - authentik_internal\n\n redis:\n image: docker.io/library/redis:alpine\n container_name: Authentik-REDIS\n hostname: authentik-redis\n restart: unless-stopped\n security_opt:\n - no-new-privileges:true\n healthcheck:\n test: [\"CMD-SHELL\", \"redis-cli ping | grep PONG\"]\n interval: 5s\n timeout: 3s\n retries: 5\n networks:\n - authentik_internal\n\n server:\n image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}\n container_name: Authentik-Server\n hostname: authentik-server\n restart: unless-stopped\n command: server\n environment:\n AUTHENTIK_REDIS__HOST: authentik-redis\n AUTHENTIK_POSTGRESQL__HOST: authentik-db\n AUTHENTIK_POSTGRESQL__USER: authentik\n AUTHENTIK_POSTGRESQL__NAME: authentik\n AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}\n AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}\n AUTHENTIK_ERROR_REPORTING__ENABLED: \"false\"\n AUTHENTIK_HOST: ${AUTHENTIK_HOST}\n AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}\n AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD}\n ports:\n - \"9100:9000\"\n volumes:\n - /volume2/docker/auth/media:/media\n - /volume2/docker/auth/templates:/templates\n depends_on:\n postgresql:\n condition: service_healthy\n redis:\n condition: service_healthy\n networks:\n - authentik_internal\n - proxy\n\n worker:\n image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}\n container_name: Authentik-Worker\n hostname: authentik-worker\n restart: unless-stopped\n command: worker\n user: root\n environment:\n AUTHENTIK_REDIS__HOST: authentik-redis\n AUTHENTIK_POSTGRESQL__HOST: authentik-db\n AUTHENTIK_POSTGRESQL__USER: authentik\n AUTHENTIK_POSTGRESQL__NAME: authentik\n AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}\n AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}\n volumes:\n - /var/run/docker.sock:/var/run/docker.sock\n - /volume2/docker/auth/media:/media\n - /volume2/docker/auth/certs:/certs\n - /volume2/docker/auth/templates:/templates\n depends_on:\n postgresql:\n condition: service_healthy\n redis:\n condition: service_healthy\n networks:\n - authentik_internal\n\n outpost:\n image: ghcr.io/goauthentik/proxy:${AUTHENTIK_TAG}\n container_name: Authentik-Outpost\n hostname: authentik-outpost\n restart: unless-stopped\n environment:\n AUTHENTIK_HOST: ${AUTHENTIK_HOST}\n AUTHENTIK_INSECURE: \"false\"\n AUTHENTIK_TOKEN: ${AUTHENTIK_OUTPOST_TOKEN}\n ports:\n - \"9101:9000\"\n depends_on:\n - server\n networks:\n - authentik_internal\n - proxy\n\nnetworks:\n authentik_internal:\n internal: true\n proxy:\n external: true","depth":28,"on_screen":true,"value":"services:\n\n postgresql:\n image: docker.io/library/postgres:16-alpine\n container_name: Authentik-DB\n hostname: authentik-db\n restart: unless-stopped\n security_opt:\n - no-new-privileges:true\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -d ${POSTGRES_DB:-authentik} -U ${POSTGRES_USER:-authentik}\"]\n interval: 5s\n timeout: 5s\n retries: 5\n environment:\n POSTGRES_PASSWORD: ${PG_PASS}\n POSTGRES_USER: authentik\n POSTGRES_DB: authentik\n volumes:\n - /volume2/docker/auth/db:/var/lib/postgresql/data\n networks:\n - authentik_internal\n\n redis:\n image: docker.io/library/redis:alpine\n container_name: Authentik-REDIS\n hostname: authentik-redis\n restart: unless-stopped\n security_opt:\n - no-new-privileges:true\n healthcheck:\n test: [\"CMD-SHELL\", \"redis-cli ping | grep PONG\"]\n interval: 5s\n timeout: 3s\n retries: 5\n networks:\n - authentik_internal\n\n server:\n image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}\n container_name: Authentik-Server\n hostname: authentik-server\n restart: unless-stopped\n command: server\n environment:\n AUTHENTIK_REDIS__HOST: authentik-redis\n AUTHENTIK_POSTGRESQL__HOST: authentik-db\n AUTHENTIK_POSTGRESQL__USER: authentik\n AUTHENTIK_POSTGRESQL__NAME: authentik\n AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}\n AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}\n AUTHENTIK_ERROR_REPORTING__ENABLED: \"false\"\n AUTHENTIK_HOST: ${AUTHENTIK_HOST}\n AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}\n AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD}\n ports:\n - \"9100:9000\"\n volumes:\n - /volume2/docker/auth/media:/media\n - /volume2/docker/auth/templates:/templates\n depends_on:\n postgresql:\n condition: service_healthy\n redis:\n condition: service_healthy\n networks:\n - authentik_internal\n - proxy\n\n worker:\n image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}\n container_name: Authentik-Worker\n hostname: authentik-worker\n restart: unless-stopped\n command: worker\n user: root\n environment:\n AUTHENTIK_REDIS__HOST: authentik-redis\n AUTHENTIK_POSTGRESQL__HOST: authentik-db\n AUTHENTIK_POSTGRESQL__USER: authentik\n AUTHENTIK_POSTGRESQL__NAME: authentik\n AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}\n AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}\n volumes:\n - /var/run/docker.sock:/var/run/docker.sock\n - /volume2/docker/auth/media:/media\n - /volume2/docker/auth/certs:/certs\n - /volume2/docker/auth/templates:/templates\n depends_on:\n postgresql:\n condition: service_healthy\n redis:\n condition: service_healthy\n networks:\n - authentik_internal\n\n outpost:\n image: ghcr.io/goauthentik/proxy:${AUTHENTIK_TAG}\n container_name: Authentik-Outpost\n hostname: authentik-outpost\n restart: unless-stopped\n environment:\n AUTHENTIK_HOST: ${AUTHENTIK_HOST}\n AUTHENTIK_INSECURE: \"false\"\n AUTHENTIK_TOKEN: ${AUTHENTIK_OUTPOST_TOKEN}\n ports:\n - \"9101:9000\"\n depends_on:\n - server\n networks:\n - authentik_internal\n - proxy\n\nnetworks:\n authentik_internal:\n internal: true\n proxy:\n external: true","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"services:\n\n postgresql:\n image: docker.io/library/postgres:16-alpine\n container_name: Authentik-DB\n hostname: authentik-db\n restart: unless-stopped\n security_opt:\n - no-new-privileges:true\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -d ${POSTGRES_DB:-authentik} -U ${POSTGRES_USER:-authentik}\"]\n interval: 5s\n timeout: 5s\n retries: 5\n environment:\n POSTGRES_PASSWORD: ${PG_PASS}\n POSTGRES_USER: authentik\n POSTGRES_DB: authentik\n volumes:\n - /volume2/docker/auth/db:/var/lib/postgresql/data\n networks:\n - authentik_internal\n\n redis:\n image: docker.io/library/redis:alpine\n container_name: Authentik-REDIS\n hostname: authentik-redis\n restart: unless-stopped\n security_opt:\n - no-new-privileges:true\n healthcheck:\n test: [\"CMD-SHELL\", \"redis-cli ping | grep PONG\"]\n interval: 5s\n timeout: 3s\n retries: 5\n networks:\n - authentik_internal\n\n server:\n image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}\n container_name: Authentik-Server\n hostname: authentik-server\n restart: unless-stopped\n command: server\n environment:\n AUTHENTIK_REDIS__HOST: authentik-redis\n AUTHENTIK_POSTGRESQL__HOST: authentik-db\n AUTHENTIK_POSTGRESQL__USER: authentik\n AUTHENTIK_POSTGRESQL__NAME: authentik\n AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}\n AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}\n AUTHENTIK_ERROR_REPORTING__ENABLED: \"false\"\n AUTHENTIK_HOST: ${AUTHENTIK_HOST}\n AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}\n AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD}\n ports:\n - \"9100:9000\"\n volumes:\n - /volume2/docker/auth/media:/media\n - /volume2/docker/auth/templates:/templates\n depends_on:\n postgresql:\n condition: service_healthy\n redis:\n condition: service_healthy\n networks:\n - authentik_internal\n - proxy\n\n worker:\n image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}\n container_name: Authentik-Worker\n hostname: authentik-worker\n restart: unless-stopped\n command: worker\n user: root\n environment:\n AUTHENTIK_REDIS__HOST: authentik-redis\n AUTHENTIK_POSTGRESQL__HOST: authentik-db\n AUTHENTIK_POSTGRESQL__USER: authentik\n AUTHENTIK_POSTGRESQL__NAME: authentik\n AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}\n AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}\n volumes:\n - /var/run/docker.sock:/var/run/docker.sock\n - /volume2/docker/auth/media:/media\n - /volume2/docker/auth/certs:/certs\n - /volume2/docker/auth/templates:/templates\n depends_on:\n postgresql:\n condition: service_healthy\n redis:\n condition: service_healthy\n networks:\n - authentik_internal\n\n outpost:\n image: ghcr.io/goauthentik/proxy:${AUTHENTIK_TAG}\n container_name: Authentik-Outpost\n hostname: authentik-outpost\n restart: unless-stopped\n environment:\n AUTHENTIK_HOST: ${AUTHENTIK_HOST}\n AUTHENTIK_INSECURE: \"false\"\n AUTHENTIK_TOKEN: ${AUTHENTIK_OUTPOST_TOKEN}\n ports:\n - \"9101:9000\"\n depends_on:\n - server\n networks:\n - authentik_internal\n - proxy\n\nnetworks:\n authentik_internal:\n internal: true\n proxy:\n external: true","depth":29,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Review payment logger au…, Editor Group 2","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUTPUT","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"TERMINAL","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Ports","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"location-logger (Git)","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"location-logger","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"location-logger (Git) - main*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"main*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"location-logger (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"No Ports Forwarded","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"expanded","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Command Succeeded","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Review payment logger authorization implementation","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"review payment_logger project how toes authorization work","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me explore the payment_logger project structure first.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Find payment_logger project files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker -type f -name \"*.py\" -o -name \"*.yml\" -o -name \"*.yaml\" -o -name \"*.env\" -o -name \"*.toml\" -o -name \"*.cfg\" | grep -i payment | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"bfs: error: /volume2/docker/portnotedb/pg_commit_ts: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_dynshmem: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_notify: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_serial: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_snapshots: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_subtrans: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_twophase: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_multixact: Permission denied.\nbfs: error: /volume2/docker/portnotedb/base: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_replslot: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_tblspc: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_stat: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_stat_tmp: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_xact: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_logical: Permission denied.\nbfs: error: /volume2/docker/openttd/.dbus: Permission denied.\nbfs: error: /volume2/docker/immich/db: Permission denied.\nbfs: error: /volume2/docker/paperlessngx/db: Permission denied.\nbfs: error: /volume2/docker/appflowy/postgres: Permission denied.\nbfs: error: /volume2/docker/auth/db: Permission denied.\nbfs: error: /volume2/docker/openttd/.XDG/dbus-1: Permission denied.\nbfs: error: /volume2/docker/openttd/.config/pulse: Permission denied.\nbfs: error: /volume2/docker/openttd/.cache/openbox/sessions: Permission denied.\n/volume2/docker/payments-logger/.env\n/volume2/docker/payments-logger/docker-compose.yml\n/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List docker directory contents","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume2/docker/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"adguard\nai-stack\napp-db\nappflowy\naudiobookshelf\nauth\nbeszel\nbitwarden\ndawarich\ndsk-uploader\nflask-app\ngarmin-connector\ngitea\nhealth\nhealth-tracker\nhomarr\nhst\nimmich\njellyfinht\nkavita\nlibreoffice\nlinkwarden\nlocation-logger\nmariadb\nmeeting-detector\nmindfulmama\nn8n\nnotifier-app\nnpm\noauth\nobsidian\nollama\nopenttd\nopenvpn-client\nopen-webui\norchestrator\noutfit-app\nowntracks-stack\npaperlessngx\npayments-logger\npersonal-log\npersonal-log-system\nplayer\nportainer\nportnotedb\nreminders-app\nromm\nsecond-brain\nstatic\nstirling\nsyncthing\ntailscale\ntemp-logger\ntest-app\ntmp\ntorrent-stack\ntree\ntrilium\ntubearchivist\ntwenty\nuptimekuma\nytptube","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Agent:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Explore payment_logger authorization code","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Explore the payments-logger project at /volume2/docker/payments-logger and give me a thorough understanding of how authorization works. I need to know:\n\n1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)\n2. Where auth is enforced (middleware, decorators, route guards, etc.)\n3. What roles/permissions exist\n4. How tokens are issued, validated, and refreshed\n5. Any auth-related config (env vars, settings)\n\nPlease read the key source files and give me a clear summary with file paths and line numbers for the important parts.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger -type f -name \"*.py\" -o -name \"*.json\" -o -name \"*.yml\" -o -name \"*.yaml\" | grep -E \"(auth|token|jwt|session|permission|role)\" | head -20","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(Bash completed with no output)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls -la /volume2/docker/payments-logger/ 2>/dev/null || echo \"Directory not found\"","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"total 36\ndrwxrwxrwx 1 Adm1n admin 162 Mar 29 18:01 .\ndrwxrwxrwx 1 root root 1146 Apr 26 18:49 ..\n-rwxrwxrwx 1 Adm1n admin 15233 Feb 22 17:08 API.md\ndrwxrwxrwx 1 Adm1n admin 88 Mar 29 15:41 backend\ndrwxrwxrwx 1 Adm1n admin 38 Mar 29 17:07 .claude\n-rwxrwxrwx 1 Adm1n admin 1502 Mar 29 18:01 docker-compose.yml\n-rwxrwxrwx 1 Adm1n admin 1066 Mar 29 15:44 .env\n-rwxrwxrwx 1 Adm1n admin 1078 Feb 14 17:53 .env.example\ndrwxrwxrwx 1 Adm1n admin 194 Mar 29 15:44 frontend\n-rwxrwxrwx 1 Adm1n admin 19 Feb 14 17:54 .gitignore\n-rwxrwxrwx 1 Adm1n admin 4052 Feb 14 19:06 README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger/backend -type f | head -30","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/backend/Dockerfile\n/volume2/docker/payments-logger/backend/.dockerignore\n/volume2/docker/payments-logger/backend/package.json\n/volume2/docker/payments-logger/backend/prisma/schema.prisma\n/volume2/docker/payments-logger/backend/src/parser.js\n/volume2/docker/payments-logger/backend/src/index.js\n/volume2/docker/payments-logger/backend/src/auth.js\n/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml\n/volume2/docker/payments-logger/backend/src/routes/payments.js\n/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger -type f \\( -name \"*.js\" -o -name \"*.json\" -o -name \"*.md\" \\) | sort","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/API.md\n/volume2/docker/payments-logger/backend/package.json\n/volume2/docker/payments-logger/backend/src/auth.js\n/volume2/docker/payments-logger/backend/src/index.js\n/volume2/docker/payments-logger/backend/src/parser.js\n/volume2/docker/payments-logger/backend/src/routes/payments.js\n/volume2/docker/payments-logger/.claude/settings.local.json\n/volume2/docker/payments-logger/frontend/package.json\n/volume2/docker/payments-logger/frontend/postcss.config.js\n/volume2/docker/payments-logger/frontend/src/auth.js\n/volume2/docker/payments-logger/frontend/tailwind.config.js\n/volume2/docker/payments-logger/frontend/vite.config.js\n/volume2/docker/payments-logger/README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":".env","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".env","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"index.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"index.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"package.json","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"package.json","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"API.md","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"API.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"payments.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"payments.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":".env.example","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".env.example","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"schema.prisma","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"schema.prisma","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep -r \"API_KEY\\|auth\\|token\\|oauth\\|hydra\" /volume2/docker/payments-logger/backend/src --include=\"*.js\" -n","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/backend/src/index.js:6:const { bearerTokenMiddleware, wellKnownRouter } = require('./auth');\n/volume2/docker/payments-logger/backend/src/index.js:18:// ── OAuth Bearer token auth (skips public paths) ──────────────────────────────\n/volume2/docker/payments-logger/backend/src/auth.js:2: * OAuth 2.1 / Hydra JWT authentication for Express.\n/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints\n/volume2/docker/payments-logger/backend/src/auth.js:33:function sendUnauthorized(res, detail, error = 'invalid_token') {\n/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata=\"${realm}/.well-known/oauth-protected-resource\"`,\n/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server=\"${HYDRA_PUBLIC_URL}\"`,\n/volume2/docker/payments-logger/backend/src/auth.js:52: * On success, attaches the decoded payload to req.tokenPayload.\n/volume2/docker/payments-logger/backend/src/auth.js:54: * @param {Set<string>} publicPaths Paths to skip auth for.\n/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',\n/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',\n/volume2/docker/payments-logger/backend/src/auth.js:66: const auth = req.headers.authorization || '';\n/volume2/docker/payments-logger/backend/src/auth.js:67: if (!auth.toLowerCase().startsWith('bearer ')) {\n/volume2/docker/payments-logger/backend/src/auth.js:68: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');\n/volume2/docker/payments-logger/backend/src/auth.js:71: const token = auth.slice(7).trim();\n/volume2/docker/payments-logger/backend/src/auth.js:72: if (!token) {\n/volume2/docker/payments-logger/backend/src/auth.js:73: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');\n/volume2/docker/payments-logger/backend/src/auth.js:82: const { payload } = await jwtVerify(token, getJwks(), verifyOptions);\n/volume2/docker/payments-logger/backend/src/auth.js:83: req.tokenPayload = payload;\n/volume2/docker/payments-logger/backend/src/auth.js:87: const error = msg.includes('expired') ? 'invalid_token' : 'invalid_token';\n/volume2/docker/payments-logger/backend/src/auth.js:88: sendUnauthorized(res, msg, error);\n/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {\n/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],\n/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {\n/volume2/docker/payments-logger/backend/src/auth.js:119: authorization_endpoint: doc.authorization_endpoint,\n/volume2/docker/payments-logger/backend/src/auth.js:120: token_endpoint: doc.token_endpoint,\n/volume2/docker/payments-logger/backend/src/auth.js:123: grant_types_supported: doc.grant_types_supported || ['authorization_code', 'refresh_token'],\n/volume2/docker/payments-logger/backend/src/auth.js:124: token_endpoint_auth_methods_supported: doc.token_endpoint_auth_methods_supported || ['none', 'client_secret_basic'],\n/volume2/docker/payments-logger/backend/src/auth.js:128: id_token_signing_alg_values_supported: doc.id_token_signing_alg_values_supported || ['RS256'],\n/volume2/docker/payments-logger/backend/src/routes/payments.js:58:// ── Ingest a payment (public — no auth) ──────────────────────────────────────","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger/frontend/src -type f -name \"*.js\" -o -name \"*.jsx\" -o -name \"*.ts\" -o -name \"*.tsx\" | head -20","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/frontend/src/main.jsx\n/volume2/docker/payments-logger/frontend/src/App.jsx\n/volume2/docker/payments-logger/frontend/src/auth.js\n/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx\n/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx\n/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx\n/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"AuthProvider.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AuthProvider.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"AuthCallback.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AuthCallback.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"App.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"App.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"vite.config.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"vite.config.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep -r \"HYDRA\\|VITE\" /volume2/docker/payments-logger --include=\".env*\" -n","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(Bash completed with no output)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"docker-compose.yml","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep -r \"API_KEY\" /volume2/docker/payments-logger/backend --include=\"*.js\" -n","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(Bash completed with no output)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"README.md","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep -n \"HYDRA\\|oauth\\|TOKEN\" /volume2/docker/payments-logger/backend/src/index.js /volume2/docker/payments-logger/backend/src/auth.js | head -40","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints\n/volume2/docker/payments-logger/backend/src/auth.js:11:const HYDRA_PUBLIC_URL = (process.env.HYDRA_PUBLIC_URL || '').replace(/\\/$/, '');\n/volume2/docker/payments-logger/backend/src/auth.js:24: new URL(`${HYDRA_PUBLIC_URL}/.well-known/jwks.json`)\n/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata=\"${realm}/.well-known/oauth-protected-resource\"`,\n/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server=\"${HYDRA_PUBLIC_URL}\"`,\n/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',\n/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',\n/volume2/docker/payments-logger/backend/src/auth.js:78: issuer: HYDRA_PUBLIC_URL,\n/volume2/docker/payments-logger/backend/src/auth.js:81: if (process.env.TOKEN_AUDIENCE) verifyOptions.audience = process.env.TOKEN_AUDIENCE;\n/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {\n/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],\n/volume2/docker/payments-logger/backend/src/auth.js:107: jwks_uri: `${HYDRA_PUBLIC_URL}/.well-known/jwks.json`,\n/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {\n/volume2/docker/payments-logger/backend/src/auth.js:113: const r = await fetch(`${HYDRA_PUBLIC_URL}/.well-known/openid-configuration`);\n/volume2/docker/payments-logger/backend/src/auth.js:118: issuer: doc.issuer || HYDRA_PUBLIC_URL,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"payments-logger Authorization Overview","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"payments-logger Authorization Overview","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The project uses","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"OAuth 2.1 with PKCE","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"via an external Hydra OAuth server at","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"hydra.lakylak.xyz","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"Auth Flow","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Auth Flow","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Frontend","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"frontend/src/auth.js","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"frontend/src/auth.js","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"):","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Fetches OAuth server metadata via discovery endpoint","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Generates a PKCE code verifier/challenge (SHA-256)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Redirects user to Hydra login with","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"code_challenge","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"On callback, exchanges code + verifier for tokens","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Stores","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"access_token","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"refresh_token","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"localStorage","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pl_oauth_tokens","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto-refreshes token 30 seconds before expiry","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Backend","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"backend/src/auth.js","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"backend/src/auth.js","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"):","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"bearerTokenMiddleware","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"validates the","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Authorization: Bearer <token>","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"header","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Fetches Hydra's JWKS (cached 300s) and verifies JWT signature (RS256/ES256/PS256)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Validates issuer (","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"https://hydra.lakylak.xyz","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") and optional audience","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"Enforcement","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Enforcement","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Applied globally in","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"backend/src/index.js:19","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"backend/src/index.js:19","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"with these","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"public (unprotected) paths","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/.well-known/oauth-protected-resource","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/.well-known/oauth-authorization-server","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/api/health","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/api/payments/ingest","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(rate-limited at 200 req/min — for SMS ingestion)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"Roles/Permissions","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Roles/Permissions","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"No RBAC","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— it's binary: authenticated vs. unauthenticated. Required scopes:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"openid","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"offline_access","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"Key Security Notes","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Key Security Notes","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"PKCE","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prevents authorization code interception","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"State parameter","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"provides CSRF protection","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"No server-side token storage","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— validation is stateless via JWKS","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The README/API docs mention an","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"X-API-Key","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"header, but that's","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"outdated","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— the actual code uses Bearer tokens only","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Config lives in","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"docker-compose.yml","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"docker-compose.yml","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(lines 30–33):","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"HYDRA_PUBLIC_URL","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"REQUIRED_SCOPES","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"OAUTH_CLIENT_ID","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", and optionally","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"TOKEN_AUDIENCE","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"JWKS_CACHE_TTL","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"compare it to location logger and make it the same. Lets remove hydra and only use authentic (or whatever location logger uses).","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me first explore how location-logger handles authorization.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Agent:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Explore location-logger authorization code","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Explore the location-logger project at /volume2/docker/location-logger and give me a thorough understanding of how authorization works. I need to know:\n\n1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)\n2. Where auth is enforced (middleware, decorators, route guards, etc.)\n3. What roles/permissions exist\n4. How tokens are issued, validated, and refreshed\n5. Any auth-related config (env vars, settings)\n6. Frontend auth flow (how the user logs in, how tokens are stored and used)\n7. The full directory/file structure of the project\n\nPlease read ALL relevant source files completely and give me a detailed summary with file paths and line numbers. I need enough detail to replicate this auth system in another project.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/location-logger -type f -name \"*.py\" -o -name \"*.js\" -o -name \"*.ts\" -o -name \"*.json\" | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/location-logger/.mcp.json\n/volume2/docker/location-logger/app/__init__.py\n/volume2/docker/location-logger/app/utils.py\n/volume2/docker/location-logger/app/config.py\n/volume2/docker/location-logger/app/main.py\n/volume2/docker/location-logger/alembic/env.py\n/volume2/docker/location-logger/mcp-server/server.py\n/volume2/docker/location-logger/alembic/versions/20260203_201500_create_location_points_table.py\n/volume2/docker/location-logger/alembic/versions/20260209_200000_add_enhanced_fields_and_tables.py\n/volume2/docker/location-logger/alembic/versions/20260214_000000_add_users_and_audit_logs.py\n/volume2/docker/location-logger/alembic/versions/20260320_000000_add_audit_query_string.py\n/volume2/docker/location-logger/app/services/geofence_service.py\n/volume2/docker/location-logger/app/services/recorder_service.py\n/volume2/docker/location-logger/app/services/trip_service.py\n/volume2/docker/location-logger/app/services/enhanced_location_service.py\n/volume2/docker/location-logger/app/services/geocoding_service.py\n/volume2/docker/location-logger/app/clients/__init__.py\n/volume2/docker/location-logger/app/clients/dawarich_client.py\n/volume2/docker/location-logger/app/clients/owntracks_client.py\n/volume2/docker/location-logger/app/models/areas.py\n/volume2/docker/location-logger/app/models/geofence_events.py\n/volume2/docker/location-logger/app/models/trips.py\n/volume2/docker/location-logger/app/models/user.py\n/volume2/docker/location-logger/app/models/location.py\n/volume2/docker/location-logger/app/models/audit_log.py\n/volume2/docker/location-logger/app/auth/__init__.py\n/volume2/docker/location-logger/app/auth/dependencies.py\n/volume2/docker/location-logger/app/auth/utils.py\n/volume2/docker/location-logger/app/api/enhanced_endpoints.py\n/volume2/docker/location-logger/app/db/base.py\n/volume2/docker/location-logger/app/db/session.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"tree -L 4 /volume2/docker/location-logger 2>/dev/null || find /volume2/docker/location-logger -type d | sort","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/location-logger\n├── alembic\n│ ├── env.py\n│ ├── script.py.mako\n│ └── versions\n│ ├── 20260203_201500_create_location_points_table.py\n│ ├── 20260209_200000_add_enhanced_fields_and_tables.py\n│ ├── 20260214_000000_add_users_and_audit_logs.py\n│ ├── 20260320_000000_add_audit_query_string.py\n│ └── __pycache__\n│ └── 20260214_000000_add_users_and_audit_logs.cpython-311.pyc\n├── alembic.ini\n├── app\n│ ├── api\n│ │ └── enhanced_endpoints.py\n│ ├── auth\n│ │ ├── dependencies.py\n│ │ ├── __init__.py\n│ │ ├── __pycache__\n│ │ │ ├── dependencies.cpython-311.pyc\n│ │ │ ├── __init__.cpython-311.pyc\n│ │ │ └── utils.cpython-311.pyc\n│ │ └── utils.py\n│ ├── clients\n│ │ ├── dawarich_client.py\n│ │ ├── __init__.py\n│ │ └── owntracks_client.py\n│ ├── config.py\n│ ├── db\n│ │ ├── base.py\n│ │ └── session.py\n│ ├── __init__.py\n│ ├── main.py\n│ ├── models\n│ │ ├── areas.py\n│ │ ├── audit_log.py\n│ │ ├── geofence_events.py\n│ │ ├── location.py\n│ │ ├── __pycache__\n│ │ │ ├── audit_log.cpython-311.pyc\n│ │ │ └── user.cpython-311.pyc\n│ │ ├── trips.py\n│ │ └── user.py\n│ ├── __pycache__\n│ │ ├── __init__.cpython-311.pyc\n│ │ └── main.cpython-311.pyc\n│ ├── services\n│ │ ├── enhanced_location_service.py\n│ │ ├── geocoding_service.py\n│ │ ├── geofence_service.py\n│ │ ├── recorder_service.py\n│ │ └── trip_service.py\n│ ├── static\n│ │ └── dashboard.html\n│ └── utils.py\n├── docker-compose.yml\n├── Dockerfile\n├── mcp-server\n│ ├── Dockerfile\n│ ├── requirements.txt\n│ └── server.py\n├── README.md\n├── requirements.txt\n└── today_map.html\n\n16 directories, 48 files","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"utils.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"utils.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"dependencies.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"dependencies.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"user.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"user.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"config.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"config.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"session.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"session.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"dashboard.html","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"dashboard.html","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"audit_log.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"audit_log.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"20260214_000000_add_users_and_audit_logs.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20260214_000000_add_users_and_audit_logs.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"20260320_000000_add_audit_query_string.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20260320_000000_add_audit_query_string.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"README.md","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"requirements.txt","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"requirements.txt","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"server.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"server.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"server.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"server.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(lines 101-400)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now I have a full picture of both systems. Let me read the payments-logger source files before planning the migration.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List all payments-logger files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger -type f | grep -v node_modules | grep -v .git | sort","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/API.md\n/volume2/docker/payments-logger/backend/Dockerfile\n/volume2/docker/payments-logger/backend/.dockerignore\n/volume2/docker/payments-logger/backend/package.json\n/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml\n/volume2/docker/payments-logger/backend/prisma/schema.prisma\n/volume2/docker/payments-logger/backend/src/auth.js\n/volume2/docker/payments-logger/backend/src/index.js\n/volume2/docker/payments-logger/backend/src/parser.js\n/volume2/docker/payments-logger/backend/src/routes/payments.js\n/volume2/docker/payments-logger/.claude/settings.local.json\n/volume2/docker/payments-logger/docker-compose.yml\n/volume2/docker/payments-logger/.env\n/volume2/docker/payments-logger/.env.example\n/volume2/docker/payments-logger/frontend/Dockerfile\n/volume2/docker/payments-logger/frontend/.dockerignore\n/volume2/docker/payments-logger/frontend/index.html\n/volume2/docker/payments-logger/frontend/package.json\n/volume2/docker/payments-logger/frontend/postcss.config.js\n/volume2/docker/payments-logger/frontend/src/App.jsx\n/volume2/docker/payments-logger/frontend/src/auth.js\n/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx\n/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx\n/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx\n/volume2/docker/payments-logger/frontend/src/index.css\n/volume2/docker/payments-logger/frontend/src/main.jsx\n/volume2/docker/payments-logger/frontend/tailwind.config.js\n/volume2/docker/payments-logger/frontend/vite.config.js\n/volume2/docker/payments-logger/README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"index.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"index.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"AuthProvider.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AuthProvider.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"package.json","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"package.json","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"AuthCallback.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AuthCallback.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"schema.prisma","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"schema.prisma","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"docker-compose.yml","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now let me read the remaining frontend files.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"App.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"App.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"package.json","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"package.json","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":".env","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".env","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me read the remaining files before making changes.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"vite.config.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"vite.config.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"payments.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"payments.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":".env.example","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".env.example","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now I have everything I need. Here's what changes:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Backend:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"auth.js","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(HS256 JWT + bcrypt), add","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/auth/login","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/auth/register","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"endpoints, add","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"User","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"model to Prisma, new migration, remove Hydra env vars.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Frontend:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Replace PKCE flow with a simple login form in","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"AuthProvider","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", simplify","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"auth.js","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", remove","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"AuthCallback","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", drop","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/.well-known","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"proxy.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Config:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Drop all Hydra/OAuth env vars, add","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"JWT_SECRET","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me implement everything now.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update Todos","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add bcryptjs to backend package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update backend/src/index.js (remove wellKnownRouter, mount authRouter)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add User model to prisma/schema.prisma","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Create Prisma migration for users table","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/auth.js (simple username/password login)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/src/main.jsx (remove /auth/callback handling)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Delete frontend/src/components/AuthCallback.jsx","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/vite.config.js (remove /.well-known proxy)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update .env and .env.example","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update Todos","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add bcryptjs to backend package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update backend/src/index.js (remove wellKnownRouter, mount authRouter)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add User model to prisma/schema.prisma","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Create Prisma migration for users table","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/auth.js (simple username/password login)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/src/main.jsx (remove /auth/callback handling)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Delete frontend/src/components/AuthCallback.jsx","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/vite.config.js (remove /.well-known proxy)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update .env and .env.example","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"package.json","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"package.json","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Added 1 line","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update Todos","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add bcryptjs to backend package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update backend/src/index.js (remove wellKnownRouter, mount authRouter)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add User model to prisma/schema.prisma","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Create Prisma migration for users table","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/auth.js (simple username/password login)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/src/main.jsx (remove /auth/callback handling)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Delete frontend/src/components/AuthCallback.jsx","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/vite.config.js (remove /.well-known proxy)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update .env and .env.example","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Write","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"116 lines","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"const express = require('express');\nconst bcrypt = require('bcryptjs');\nconst { SignJWT, jwtVerify } = require('jose');\nconst { PrismaClient } = require('@prisma/client');\n\nconst prisma = new PrismaClient();\n\nconst JWT_SECRET = process.env.JWT_SECRET;\nconst JWT_EXPIRE_MINS = parseInt(process.env.JWT_EXPIRE_MINUTES || '1440', 10);\n\nif (!JWT_SECRET) {\n console.error('FATAL: JWT_SECRET env var is required');\n process.exit(1);\n}\n\nconst secret = new TextEncoder().encode(JWT_SECRET);\n\n// ── JWT helpers ───────────────────────────────────────────────────────────────\n\nasync function signToken(username) {\n return new SignJWT({ sub: username })\n .setProtectedHeader({ alg: 'HS256' })\n .setIssuedAt()\n .setExpirationTime(`${JWT_EXPIRE_MINS}m`)\n .sign(secret);\n}\n\nasync function verifyToken(token) {\n const { payload } = await jwtVerify(token, secret, { algorithms: ['HS256'] });\n return payload;\n}\n\n// ── Middleware ────────────────────────────────────────────────────────────────\n\nfunction bearerTokenMiddleware(publicPaths) {\n const _public = new Set(publicPaths);\n\n return async (req, res, next) => {\n if (_public.has(req.path)) return next();\n\n const auth = req.headers.authorization || '';\n if (!auth.toLowerCase().startsWith('bearer ')) {\n return res.status(401).json({ error: 'Bearer token required' });\n }\n\n const token = auth.slice(7).trim();\n try {\n req.tokenPayload = await verifyToken(token);\n next();\n } catch (err) {\n res.status(401).json({ error: 'Invalid or expired token' });\n }\n };\n}\n\n// ── Auth routes ───────────────────────────────────────────────────────────────\n\nconst authRouter = express.Router();\n\nauthRouter.post('/auth/register', async (req, res) => {\n const { username, password } = req.body || {};\n if (!username || !password) {\n return res.status(400).json({ error: 'username and password are required' });\n }\n if (typeof username !== 'string' || username.length > 100) {\n return res.status(400).json({ error: 'username must be a string under 100 chars' });\n }\n if (typeof password !== 'string' || password.length < 8) {\n return res.status(400).json({ error: 'password must be at least 8 characters' });\n }\n\n try {\n const existing = await prisma.user.findUnique({ where: { username } });\n if (existing) {\n return res.status(409).json({ error: 'Username already taken' });\n }\n\n const hashedPassword = await bcrypt.hash(password, 10);\n await prisma.user.create({ data: { username, hashedPassword } });\n\n const token = await signToken(username);\n res.status(201).json({ access_token: token, token_type: 'bearer', expires_in: JWT_EXPIRE_MINS * 60 });\n } catch (err) {\n console.error('Register error:', err);\n res.status(500).json({ error: 'Registration failed' });\n }\n});\n\nauthRouter.post('/auth/login', async (req, res) => {\n const { username, password } = req.body || {};\n if (!username || !password) {\n return res.status(400).json({ error: 'username and password are required' });\n }\n\n try {\n const user = await prisma.user.findUnique({ where: { username } });\n // Always run bcrypt compare to prevent timing-based username enumeration\n const dummyHash = '$2a$10$abcdefghijklmnopqrstuuABCDEFGHIJKLMNOPQRSTUVWXYZ012345';\n const valid = user\n ? await bcrypt.compare(password, user.hashedPassword)\n : await bcrypt.compare(password, dummyHash).then(() => false);\n\n if (!valid) {\n return res.status(401).json({ error: 'Invalid username or password' });\n }\n\n const token = await signToken(username);\n res.json({ access_token: token, token_type: 'bearer', expires_in: JWT_EXPIRE_MINS * 60 });\n } catch (err) {\n console.error('Login error:', err);\n res.status(500).json({ error: 'Login failed' });\n }\n});\n\nmodule.exports = { bearerTokenMiddleware, authRouter };","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update Todos","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add bcryptjs to backend package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update backend/src/index.js (remove wellKnownRouter, mount authRouter)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add User model to prisma/schema.prisma","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Create Prisma migration for users table","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/auth.js (simple username/password login)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/src/main.jsx (remove /auth/callback handling)","depth":26,"on_screen":false,"role_description":"text"}]...
|
8139516311519445480
|
3802054028445717068
|
idle
|
accessibility
|
NULL
|
Explorer (⇧⌘E)
Search (⇧⌘F)
Source Control (⌃⇧ Explorer (⇧⌘E)
Search (⇧⌘F)
Source Control (⌃⇧G) - 55 pending changes
55
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update
2
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: docker [SSH: nas]
Explorer Section: docker [SSH: nas]
DOCKER [SSH: NAS]
adguard
ai-stack
app-db
appflowy
audiobookshelf
auth
certs
db
media
templates
.env
.env.example
docker-compose.yml
README.md
beszel
bitwarden
dawarich
dsk-uploader
flask-app
garmin-connector
gitea
health
health-tracker
homarr
hst
immich
jellyfinht
kavita
libreoffice
linkwarden
location-logger
alembic
app
mcp-server
.env
.env.example
.gitignore
.mcp.json
M
alembic.ini
docker-compose.yml
M
Dockerfile
README.md
M
requirements.txt
M
today_map.html
mariadb
meeting-detector
mindfulmama
n8n
notifier-app
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
docker-compose.yml, Editor Group 1
docker-compose.yml, Editor Group 1
docker-compose.yml, Editor Group 1
services:
postgresql:
image: docker.io/library/postgres:16-alpine
container_name: Authentik-DB
hostname: authentik-db
restart: unless-stopped
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB:-authentik} -U ${POSTGRES_USER:-authentik}"]
interval: 5s
timeout: 5s
retries: 5
environment:
POSTGRES_PASSWORD: [PASSWORD]
POSTGRES_USER: authentik
POSTGRES_DB: authentik
volumes:
- /volume2/docker/auth/db:/var/lib/postgresql/data
networks:
- authentik_internal
redis:
image: docker.io/library/redis:alpine
container_name: Authentik-REDIS
hostname: authentik-redis
restart: unless-stopped
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
interval: 5s
timeout: 3s
retries: 5
networks:
- authentik_internal
server:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}
container_name: Authentik-Server
hostname: authentik-server
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: [PASSWORD]
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
AUTHENTIK_ERROR_REPORTING__ENABLED: "false"
AUTHENTIK_HOST: ${AUTHENTIK_HOST}
AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}
AUTHENTIK_BOOTSTRAP_PASSWORD: [PASSWORD]
ports:
- "9100:9000"
volumes:
- /volume2/docker/auth/media:/media
- /volume2/docker/auth/templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks:
- authentik_internal
- proxy
worker:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}
container_name: Authentik-Worker
hostname: authentik-worker
restart: unless-stopped
command: worker
user: root
environment:
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: [PASSWORD]
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /volume2/docker/auth/media:/media
- /volume2/docker/auth/certs:/certs
- /volume2/docker/auth/templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks:
- authentik_internal
outpost:
image: ghcr.io/goauthentik/proxy:${AUTHENTIK_TAG}
container_name: Authentik-Outpost
hostname: authentik-outpost
restart: unless-stopped
environment:
AUTHENTIK_HOST: ${AUTHENTIK_HOST}
AUTHENTIK_INSECURE: "false"
AUTHENTIK_TOKEN: ${AUTHENTIK_OUTPOST_TOKEN}
ports:
- "9101:9000"
depends_on:
- server
networks:
- authentik_internal
- proxy
networks:
authentik_internal:
internal: true
proxy:
external: true
services:
postgresql:
image: docker.io/library/postgres:16-alpine
container_name: Authentik-DB
hostname: authentik-db
restart: unless-stopped
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB:-authentik} -U ${POSTGRES_USER:-authentik}"]
interval: 5s
timeout: 5s
retries: 5
environment:
POSTGRES_PASSWORD: [PASSWORD]
POSTGRES_USER: authentik
POSTGRES_DB: authentik
volumes:
- /volume2/docker/auth/db:/var/lib/postgresql/data
networks:
- authentik_internal
redis:
image: docker.io/library/redis:alpine
container_name: Authentik-REDIS
hostname: authentik-redis
restart: unless-stopped
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
interval: 5s
timeout: 3s
retries: 5
networks:
- authentik_internal
server:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}
container_name: Authentik-Server
hostname: authentik-server
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: [PASSWORD]
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
AUTHENTIK_ERROR_REPORTING__ENABLED: "false"
AUTHENTIK_HOST: ${AUTHENTIK_HOST}
AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}
AUTHENTIK_BOOTSTRAP_PASSWORD: [PASSWORD]
ports:
- "9100:9000"
volumes:
- /volume2/docker/auth/media:/media
- /volume2/docker/auth/templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks:
- authentik_internal
- proxy
worker:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG}
container_name: Authentik-Worker
hostname: authentik-worker
restart: unless-stopped
command: worker
user: root
environment:
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-db
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: [PASSWORD]
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /volume2/docker/auth/media:/media
- /volume2/docker/auth/certs:/certs
- /volume2/docker/auth/templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks:
- authentik_internal
outpost:
image: ghcr.io/goauthentik/proxy:${AUTHENTIK_TAG}
container_name: Authentik-Outpost
hostname: authentik-outpost
restart: unless-stopped
environment:
AUTHENTIK_HOST: ${AUTHENTIK_HOST}
AUTHENTIK_INSECURE: "false"
AUTHENTIK_TOKEN: ${AUTHENTIK_OUTPOST_TOKEN}
ports:
- "9101:9000"
depends_on:
- server
networks:
- authentik_internal
- proxy
networks:
authentik_internal:
internal: true
proxy:
external: true
Review payment logger au…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports
PORTS
remote SSH: nas
SSH: nas
location-logger (Git)
location-logger
location-logger (Git) - main*, Checkout Branch/Tag...
main*
location-logger (Git) - Synchronize Changes
No Problems
0
0
No Ports Forwarded
0
Notifications
Sign In
Sign In
expanded
Command Succeeded
Review payment logger authorization implementation
Session history
New session
Message actions
review payment_logger project how toes authorization work
Thinking
Thinking
Let me explore the payment_logger project structure first.
Bash
Find payment_logger project files
IN
find /volume2/docker -type f -name "*.py" -o -name "*.yml" -o -name "*.yaml" -o -name "*.env" -o -name "*.toml" -o -name "*.cfg" | grep -i payment | head -50
Copy code to clipboard
OUT
bfs: error: /volume2/docker/portnotedb/pg_commit_ts: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_dynshmem: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_notify: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_serial: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_snapshots: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_subtrans: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_twophase: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_multixact: Permission denied.
bfs: error: /volume2/docker/portnotedb/base: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_replslot: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_tblspc: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_stat: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_stat_tmp: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_xact: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_logical: Permission denied.
bfs: error: /volume2/docker/openttd/.dbus: Permission denied.
bfs: error: /volume2/docker/immich/db: Permission denied.
bfs: error: /volume2/docker/paperlessngx/db: Permission denied.
bfs: error: /volume2/docker/appflowy/postgres: Permission denied.
bfs: error: /volume2/docker/auth/db: Permission denied.
bfs: error: /volume2/docker/openttd/.XDG/dbus-1: Permission denied.
bfs: error: /volume2/docker/openttd/.config/pulse: Permission denied.
bfs: error: /volume2/docker/openttd/.cache/openbox/sessions: Permission denied.
/volume2/docker/payments-logger/.env
/volume2/docker/payments-logger/docker-compose.yml
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
Bash
List docker directory contents
IN
ls /volume2/docker/
Copy code to clipboard
OUT
adguard
ai-stack
app-db
appflowy
audiobookshelf
auth
beszel
bitwarden
dawarich
dsk-uploader
flask-app
garmin-connector
gitea
health
health-tracker
homarr
hst
immich
jellyfinht
kavita
libreoffice
linkwarden
location-logger
mariadb
meeting-detector
mindfulmama
n8n
notifier-app
npm
oauth
obsidian
ollama
openttd
openvpn-client
open-webui
orchestrator
outfit-app
owntracks-stack
paperlessngx
payments-logger
personal-log
personal-log-system
player
portainer
portnotedb
reminders-app
romm
second-brain
static
stirling
syncthing
tailscale
temp-logger
test-app
tmp
torrent-stack
tree
trilium
tubearchivist
twenty
uptimekuma
ytptube
Agent:
Explore payment_logger authorization code
IN
Explore the payments-logger project at /volume2/docker/payments-logger and give me a thorough understanding of how authorization works. I need to know:
1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)
2. Where auth is enforced (middleware, decorators, route guards, etc.)
3. What roles/permissions exist
4. How tokens are issued, validated, and refreshed
5. Any auth-related config (env vars, settings)
Please read the key source files and give me a clear summary with file paths and line numbers for the important parts.
Bash
IN
find /volume2/docker/payments-logger -type f -name "*.py" -o -name "*.json" -o -name "*.yml" -o -name "*.yaml" | grep -E "(auth|token|jwt|session|permission|role)" | head -20
Copy code to clipboard
OUT
(Bash completed with no output)
Bash
IN
ls -la /volume2/docker/payments-logger/ 2>/dev/null || echo "Directory not found"
Copy code to clipboard
OUT
total 36
drwxrwxrwx 1 Adm1n admin 162 Mar 29 18:01 .
drwxrwxrwx 1 root root 1146 Apr 26 18:49 ..
-rwxrwxrwx 1 Adm1n admin 15233 Feb 22 17:08 API.md
drwxrwxrwx 1 Adm1n admin 88 Mar 29 15:41 backend
drwxrwxrwx 1 Adm1n admin 38 Mar 29 17:07 .claude
-rwxrwxrwx 1 Adm1n admin 1502 Mar 29 18:01 docker-compose.yml
-rwxrwxrwx 1 Adm1n admin 1066 Mar 29 15:44 .env
-rwxrwxrwx 1 Adm1n admin 1078 Feb 14 17:53 .env.example
drwxrwxrwx 1 Adm1n admin 194 Mar 29 15:44 frontend
-rwxrwxrwx 1 Adm1n admin 19 Feb 14 17:54 .gitignore
-rwxrwxrwx 1 Adm1n admin 4052 Feb 14 19:06 README.md
Bash
IN
find /volume2/docker/payments-logger/backend -type f | head -30
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/Dockerfile
/volume2/docker/payments-logger/backend/.dockerignore
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/prisma/schema.prisma
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql
Bash
IN
find /volume2/docker/payments-logger -type f \( -name "*.js" -o -name "*.json" -o -name "*.md" \) | sort
Copy code to clipboard
OUT
/volume2/docker/payments-logger/API.md
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/.claude/settings.local.json
/volume2/docker/payments-logger/frontend/package.json
/volume2/docker/payments-logger/frontend/postcss.config.js
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/tailwind.config.js
/volume2/docker/payments-logger/frontend/vite.config.js
/volume2/docker/payments-logger/README.md
Read
.env
.env
Read
auth.js
auth.js
Read
index.js
index.js
Read
package.json
package.json
Read
auth.js
auth.js
Read
API.md
API.md
Read
payments.js
payments.js
Read
.env.example
.env.example
Read
schema.prisma
schema.prisma
Bash
IN
grep -r "API_KEY\|auth\|token\|oauth\|hydra" /volume2/docker/payments-logger/backend/src --include="*.js" -n
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/src/index.js:6:const { bearerTokenMiddleware, wellKnownRouter } = require('./auth');
/volume2/docker/payments-logger/backend/src/index.js:18:// ── OAuth Bearer token auth (skips public paths) ──────────────────────────────
/volume2/docker/payments-logger/backend/src/auth.js:2: * OAuth 2.1 / Hydra JWT authentication for Express.
/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints
/volume2/docker/payments-logger/backend/src/auth.js:33:function sendUnauthorized(res, detail, error = 'invalid_token') {
/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata="${realm}/.well-known/oauth-protected-resource"`,
/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server="${HYDRA_PUBLIC_URL}"`,
/volume2/docker/payments-logger/backend/src/auth.js:52: * On success, attaches the decoded payload to req.tokenPayload.
/volume2/docker/payments-logger/backend/src/auth.js:54: * @param {Set<string>} publicPaths Paths to skip auth for.
/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',
/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',
/volume2/docker/payments-logger/backend/src/auth.js:66: const auth = req.headers.authorization || '';
/volume2/docker/payments-logger/backend/src/auth.js:67: if (!auth.toLowerCase().startsWith('bearer ')) {
/volume2/docker/payments-logger/backend/src/auth.js:68: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');
/volume2/docker/payments-logger/backend/src/auth.js:71: const token = auth.slice(7).trim();
/volume2/docker/payments-logger/backend/src/auth.js:72: if (!token) {
/volume2/docker/payments-logger/backend/src/auth.js:73: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');
/volume2/docker/payments-logger/backend/src/auth.js:82: const { payload } = await jwtVerify(token, getJwks(), verifyOptions);
/volume2/docker/payments-logger/backend/src/auth.js:83: req.tokenPayload = payload;
/volume2/docker/payments-logger/backend/src/auth.js:87: const error = msg.includes('expired') ? 'invalid_token' : 'invalid_token';
/volume2/docker/payments-logger/backend/src/auth.js:88: sendUnauthorized(res, msg, error);
/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],
/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:119: authorization_endpoint: doc.authorization_endpoint,
/volume2/docker/payments-logger/backend/src/auth.js:120: token_endpoint: doc.token_endpoint,
/volume2/docker/payments-logger/backend/src/auth.js:123: grant_types_supported: doc.grant_types_supported || ['authorization_code', 'refresh_token'],
/volume2/docker/payments-logger/backend/src/auth.js:124: [API_KEY]: doc.[API_KEY] || ['none', 'client_secret_basic'],
/volume2/docker/payments-logger/backend/src/auth.js:128: id_token_signing_alg_values_supported: doc.id_token_signing_alg_values_supported || ['RS256'],
/volume2/docker/payments-logger/backend/src/routes/payments.js:58:// ── Ingest a payment (public — no auth) ──────────────────────────────────────
Bash
IN
find /volume2/docker/payments-logger/frontend/src -type f -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" | head -20
Copy code to clipboard
OUT
/volume2/docker/payments-logger/frontend/src/main.jsx
/volume2/docker/payments-logger/frontend/src/App.jsx
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx
/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx
Read
AuthProvider.jsx
AuthProvider.jsx
Read
AuthCallback.jsx
AuthCallback.jsx
Read
App.jsx
App.jsx
Read
main.jsx
main.jsx
Read
vite.config.js
vite.config.js
Bash
IN
grep -r "HYDRA\|VITE" /volume2/docker/payments-logger --include=".env*" -n
Copy code to clipboard
OUT
(Bash completed with no output)
Read
docker-compose.yml
docker-compose.yml
Bash
IN
grep -r "API_KEY" /volume2/docker/payments-logger/backend --include="*.js" -n
Copy code to clipboard
OUT
(Bash completed with no output)
Read
README.md
README.md
Bash
IN
grep -n "HYDRA\|oauth\|TOKEN" /volume2/docker/payments-logger/backend/src/index.js /volume2/docker/payments-logger/backend/src/auth.js | head -40
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints
/volume2/docker/payments-logger/backend/src/auth.js:11:const HYDRA_PUBLIC_URL = (process.env.HYDRA_PUBLIC_URL || '').replace(/\/$/, '');
/volume2/docker/payments-logger/backend/src/auth.js:24: new URL(`${HYDRA_PUBLIC_URL}/.well-known/jwks.json`)
/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata="${realm}/.well-known/oauth-protected-resource"`,
/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server="${HYDRA_PUBLIC_URL}"`,
/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',
/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',
/volume2/docker/payments-logger/backend/src/auth.js:78: issuer: HYDRA_PUBLIC_URL,
/volume2/docker/payments-logger/backend/src/auth.js:81: if (process.env.TOKEN_AUDIENCE) verifyOptions.audience = process.env.TOKEN_AUDIENCE;
/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],
/volume2/docker/payments-logger/backend/src/auth.js:107: jwks_uri: `${HYDRA_PUBLIC_URL}/.well-known/jwks.json`,
/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:113: const r = await fetch(`${HYDRA_PUBLIC_URL}/.well-known/openid-configuration`);
/volume2/docker/payments-logger/backend/src/auth.js:118: issuer: doc.issuer || HYDRA_PUBLIC_URL,
Thinking
Thinking
payments-logger Authorization Overview
payments-logger Authorization Overview
The project uses
OAuth 2.1 with PKCE
via an external Hydra OAuth server at
hydra.lakylak.xyz
.
Auth Flow
Auth Flow
Frontend
(
frontend/src/auth.js
frontend/src/auth.js
):
Fetches OAuth server metadata via discovery endpoint
Generates a PKCE code verifier/challenge (SHA-256)
Redirects user to Hydra login with
code_challenge
On callback, exchanges code + verifier for tokens
Stores
access_token
,
refresh_token
in
localStorage
(
pl_oauth_tokens
)
Auto-refreshes token 30 seconds before expiry
Backend
(
backend/src/auth.js
backend/src/auth.js
):
bearerTokenMiddleware
validates the
Authorization: Bearer <token>
header
Fetches Hydra's JWKS (cached 300s) and verifies JWT signature (RS256/ES256/PS256)
Validates issuer (
[URL_WITH_CREDENTIALS]
const prisma = new PrismaClient();
const [ENV_SECRET];
const JWT_EXPIRE_MINS = parseInt(process.env.JWT_EXPIRE_MINUTES || '1440', 10);
if (!JWT_SECRET) {
console.error('FATAL: JWT_SECRET env var is required');
process.exit(1);
}
const secret = new TextEncoder().encode(JWT_SECRET);
// ── JWT helpers ───────────────────────────────────────────────────────────────
async function signToken(username) {
return new SignJWT({ sub: username })
.setProtectedHeader({ alg: 'HS256' })
.setIssuedAt()
.setExpirationTime(`${JWT_EXPIRE_MINS}m`)
.sign(secret);
}
async function verifyToken(token) {
const { payload } = await jwtVerify(token, secret, { algorithms: ['HS256'] });
return payload;
}
// ── Middleware ────────────────────────────────────────────────────────────────
function bearerTokenMiddleware(publicPaths) {
const _public = new Set(publicPaths);
return async (req, res, next) => {
if (_public.has(req.path)) return next();
const auth = req.headers.authorization || '';
if (!auth.toLowerCase().startsWith('bearer ')) {
return res.status(401).json({ error: 'Bearer token required' });
}
const token = auth.slice(7).trim();
try {
req.tokenPayload = await verifyToken(token);
next();
} catch (err) {
res.status(401).json({ error: 'Invalid or expired token' });
}
};
}
// ── Auth routes ───────────────────────────────────────────────────────────────
const authRouter = express.Router();
authRouter.post('/auth/register', async (req, res) => {
const { username, password } = req.body || {};
if (!username || !password) {
return res.status(400).json({ error: 'username and password are required' });
}
if (typeof username !== 'string' || username.length > 100) {
return res.status(400).json({ error: 'username must be a string under 100 chars' });
}
if (typeof password !== 'string' || password.length < 8) {
return res.status(400).json({ error: 'password must be at least 8 characters' });
}
try {
const existing = await prisma.user.findUnique({ where: { username } });
if (existing) {
return res.status(409).json({ error: 'Username already taken' });
}
const hashedPassword = [PASSWORD] bcrypt.hash(password, 10);
await prisma.user.create({ data: { username, hashedPassword } });
const token = await signToken(username);
res.status(201).json({ access_token: token, token_type: 'bearer', expires_in: JWT_EXPIRE_MINS * 60 });
} catch (err) {
console.error('Register error:', err);
res.status(500).json({ error: 'Registration failed' });
}
});
authRouter.post('/auth/login', async (req, res) => {
const { username, password } = req.body || {};
if (!username || !password) {
return res.status(400).json({ error: 'username and password are required' });
}
try {
const user = await prisma.user.findUnique({ where: { username } });
// Always run bcrypt compare to prevent timing-based username enumeration
const dummyHash = '$2a$10$abcdefghijklmnopqrstuuABCDEFGHIJKLMNOPQRSTUVWXYZ012345';
const valid = user
? await bcrypt.compare(password, user.hashedPassword)
: await bcrypt.compare(password, dummyHash).then(() => false);
if (!valid) {
return res.status(401).json({ error: 'Invalid username or password' });
}
const token = await signToken(username);
res.json({ access_token: token, token_type: 'bearer', expires_in: JWT_EXPIRE_MINS * 60 });
} catch (err) {
console.error('Login error:', err);
res.status(500).json({ error: 'Login failed' });
}
});
module.exports = { bearerTokenMiddleware, authRouter };
Update Todos
Add bcryptjs to backend package.json
Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)
Update backend/src/index.js (remove wellKnownRouter, mount authRouter)
Add User model to prisma/schema.prisma
Create Prisma migration for users table
Rewrite frontend/src/auth.js (simple username/password login)
Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)
Update frontend/src/main.jsx (remove /auth/callback handling)...
|
10741
|
NULL
|
NULL
|
NULL
|
|
2681
|
112
|
14
|
2026-05-07T11:35:28.151571+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778153728151_m2.jpg...
|
PhpStorm
|
faVsco.js – Hubspot/Client.php
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
master, menu
Start Listen Project: faVsco.js, menu
master, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
[URL_WITH_CREDENTIALS] CrmFieldOption array{id:string, label:string, value?:string}
*/
class Client extends BaseClient implements HubspotClientInterface
{
public const string MIN_API_VERSION = '2';
public const string BASE_URL = '[URL_WITH_CREDENTIALS] T
* @param callable(): T $apiCall
* @return T
*
* @throws RateLimitException
*/
private function executeRequest(callable $apiCall)
{
if (! $this->rateLimiter->canMakeRequest($this->config)) {
$retryAfter = $this->rateLimiter->requestAvailableIn($this->config);
$this->log->warning('[Hubspot] Rate limit exceeded, deferring request', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
]);
throw new RateLimitException(
'Hubspot rate limit reached for configuration ' . $this->config->getId(),
$retryAfter,
);
}
$this->rateLimiter->incrementRequestCount($this->config);
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function isHubspotRateLimit(Throwable $e): bool
{
return method_exists($e, 'getCode') && (int) $e->getCode() === 429;
}
private function parseRetryAfter(Throwable $e): int
{
if (method_exists($e, 'getResponseHeaders')) {
$headers = $e->getResponseHeaders() ?: [];
$value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;
if (is_array($value)) {
$value = $value[0] ?? null;
}
if (is_numeric($value)) {
return (int) $value;
}
}
return 10;
}
public function getMinimumApiVersion(): string
{
return self::MIN_API_VERSION;
}
public function getInstance(): Factory
{
return new Factory([
'key' => $this->accessToken,
'oauth2' => true,
'base_url' => $this->baseUrl,
]);
}
public function getNewInstance(): Discovery
{
return \HubSpot\Factory::createWithAccessToken($this->accessToken);
}
/**
* Secondly and daily limits for Hubspot API
*
* Product Tier: Free & Starter | Professional & Enterprise | API add-on (any tier)
* Burst: 100/10 seconds | 150/10 seconds | 200/10 seconds
* Daily: 250,000 | 500,000 | 1,000,000
*
* Official documentation states: The search endpoints are rate limited to five requests per second.
* Since with 5 RPS were still hitting secondly rate limits we lowered it to 4
*/
public function getPaginatedData(array $payload, string $type, int $offset = 0): array
{
$total = 0;
$lastId = null;
$rows = [];
foreach ($this->getPaginatedDataGenerator($payload, $type, $offset, $total, $lastId) as $row) {
$rows[] = $row;
}
return ['results' => $rows, 'total' => $total, 'last_record' => $lastId];
}
/**
* @throws HubspotException
* @throws SocialAccountTokenInvalidException
* @throws BadRequest
*/
public function getPaginatedDataGenerator(
array $payload,
string $type,
int $offset = 0,
int &$total = 0,
?string &$lastRecordId = null
): \Generator {
return $this->paginationService->getPaginatedDataGenerator(
$this,
$payload,
$type,
$offset,
$total,
$lastRecordId
);
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$crmId,
implode(',', $fields),
'companies,contacts'
));
} catch (DealApiException $e) {
$this->log->info('[Hubspot] Failed to fetch opportunity', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $deal instanceof DealWithAssociations) {
throw new CrmException('Deal not found');
}
return [
'id' => $deal->getId(),
'properties' => $deal->getProperties(),
'associations' => $deal->getAssociations(),
];
}
/**
* Generic batch read method for HubSpot objects
*
* @param string $objectType The object type ('deals', 'companies', 'contacts')
* @param array<string> $crmIds Array of HubSpot object IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with object data
*/
private function batchReadObjects(string $objectType, array $crmIds, array $fields): array
{
if (empty($crmIds)) {
return [];
}
$this->validateBatchSize($objectType, $crmIds);
$this->ensureValidToken();
try {
$batchConfig = $this->createBatchConfiguration($objectType);
$batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmIds, $fields);
$response = $batchConfig['api']->read($batchReadRequest);
$this->validateApiResponse($response, $objectType);
$results = $this->processApiResults($response);
$this->logBatchResults($objectType, $crmIds, $results);
return $results;
} catch (\Throwable $e) {
$this->handleBatchError($e, $objectType, $crmIds);
}
}
private function validateBatchSize(string $objectType, array $crmIds): void
{
if (count($crmIds) > 100) {
throw new \InvalidArgumentException("Batch size cannot exceed 100 {$objectType}");
}
}
private function createBatchConfiguration(string $objectType): array
{
$configurations = [
'deals' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Deals\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Deals\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->deals()->batchApi(),
],
'companies' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Companies\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Companies\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->companies()->batchApi(),
],
'contacts' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Contacts\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->contacts()->batchApi(),
],
];
if (! isset($configurations[$objectType])) {
throw new \InvalidArgumentException("Unsupported object type: {$objectType}");
}
return $configurations[$objectType];
}
private function prepareBatchRequest(array $batchConfig, array $crmIds, array $fields): object
{
$batchReadRequest = $batchConfig['batchReadRequest'];
$inputClass = $batchConfig['inputClass'];
$inputs = array_map(function ($crmId) use ($inputClass) {
$input = new $inputClass();
$input->setId($crmId);
return $input;
}, $crmIds);
$batchReadRequest->setInputs($inputs);
$batchReadRequest->setProperties($fields);
return $batchReadRequest;
}
private function validateApiResponse($response, string $objectType): void
{
if (! $response) {
throw new CrmException("HubSpot API returned null response for {$objectType} batch read");
}
}
private function processApiResults($response): array
{
$results = [];
$responseResults = $response->getResults();
if ($responseResults) {
foreach ($responseResults as $object) {
if ($object && $object->getId()) {
$results[$object->getId()] = [
'id' => $object->getId(),
'properties' => $object->getProperties() ?: [],
];
}
}
}
return $results;
}
private function logBatchResults(string $objectType, array $crmIds, array $results): void
{
$this->log->info("[HubSpot] Batch fetched {$objectType}", [
'requested_count' => count($crmIds),
'returned_count' => count($results),
'crm_ids' => $crmIds,
]);
}
private function handleBatchError(\Throwable $e, string $objectType, array $crmIds): void
{
$errorMessage = $e->getMessage() ?: 'Unknown error';
$errorTrace = $e->getTraceAsString() ?: 'No trace available';
$this->log->error("[HubSpot] Failed to batch fetch {$objectType}", [
'crm_ids' => $crmIds,
'error' => $errorMessage,
'trace' => $errorTrace,
]);
throw new CrmException("Failed to batch fetch {$objectType}: " . $errorMessage);
}
/**
* Batch read multiple opportunities by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot deal IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with opportunity data
*/
public function getOpportunitiesByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('deals', $crmIds, $fields);
}
/**
* Batch read multiple companies by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot company IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with company data
*/
public function getCompaniesByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('companies', $crmIds, $fields);
}
/**
* Batch read multiple contacts by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot contact IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with contact data
*/
public function getContactsByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('contacts', $crmIds, $fields);
}
/**
* @throws CompanyApiException
* @throws CrmException
*/
public function getAccountById(string $crmId, array $fields): array
{
try {
$company = $this->getNewInstance()->crm()->companies()->basicApi()->getById(
$crmId,
implode(',', $fields),
);
} catch (CompanyApiException $e) {
$this->log->info('[Hubspot] Failed to fetch account', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $company instanceof CompaniesWithAssociations) {
throw new CrmException('Account not found');
}
return [
'id' => $company->getId(),
'properties' => $company->getProperties(),
];
}
/**
* @throws ContactApiException
* @throws CrmException
*/
public function getContactById(string $crmId, array $fields): array
{
try {
$contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(
$crmId,
implode(',', $fields)
);
} catch (ContactApiException $e) {
$this->log->info('[Hubspot] Failed to fetch contact', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $contact instanceof ContactsWithAssociations) {
throw new CrmException('Contact not found');
}
return [
'id' => $contact->getId(),
'properties' => $contact->getProperties(),
];
}
/**
* This is email search request that Hubspot offers as GET (more generous quota)
*/
public function getContactByEmail(string $email, array $fields = []): array
{
try {
$contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(
$email,
implode(',', $fields),
null,
false,
'email'
);
return [
'id' => $contact->getId(),
'properties' => $contact->getProperties(),
];
} catch (ContactApiException $e) {
$this->log->info('[Hubspot] Failed to fetch contact', [
'email' => $email,
'reason' => $e->getMessage(),
]);
return [];
}
}
/**
* @throws CrmException
*/
public function fetchProperty(string $objectType, string $propertyId): Property
{
$result = $this->getNewInstance()->crm()->properties()->coreApi()->getByName($objectType, $propertyId);
if (! $result instanceof Property) {
$this->log->error('[Hubspot] Failed to fetch property', [
'object_type' => $objectType,
'property_id' => $propertyId,
'reason' => $result->getMessage(),
]);
throw new CrmException('Failed to fetch property');
}
return $result;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchPropertyOptions(string $objectType, string $propertyId): array
{
/** @var array<CrmFieldOption> */
return $this->fetchProperty($objectType, $propertyId)->getOptions();
}
/**
* @return array<array{id:string, label:string, deleted:bool}>
*/
public function fetchCallDispositions(): array
{
/** @var Response $response */
$response = $this->getInstance()->engagements()->getCallDispositions();
/**
* @var array<array{
* id:string,
* label:string,
* deleted: bool
* }>
*/
return $response->toArray();
}
/**
* @return array<CrmFieldOption>
*/
public function fetchOpportunityPipelineStages(): array
{
$stages = [];
$apiResponse = $this->getNewInstance()->crm()->pipelines()->pipelinesApi()->getAll('deals');
if ($apiResponse instanceof Error) {
$this->log->error('[Hubspot] Failed to fetch opportunity pipelines', [
'reason' => $apiResponse->getMessage(),
]);
return [];
}
foreach ($apiResponse->getResults() as $pipeline) {
$pipelineStages = array_map(
static function (PipelineStage $stage) {
return [
'id' => $stage->getId(),
'label' => $stage->getLabel(),
];
},
$pipeline->getStages()
);
$stages = array_merge($stages, $pipelineStages);
}
return $stages;
}
public function fetchOpportunityPipelines(): array
{
$pipelines = [];
try {
$apiResponse = $this->makeRequest('/crm/v3/pipelines/deals');
} catch (\Exception $e) {
$this->log->info('[Hubspot] Failed to fetch opportunity pipelines', [
'reason' => $e->getMessage(),
]);
return [];
}
$response = $apiResponse->toArray();
foreach ($response['results'] as $pipeline) {
$pipelines[] = [
'id' => $pipeline['id'],
'label' => $pipeline['label'],
];
}
return $pipelines;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchMeetingOutcomeFieldOptions(Field $field): array
{
return $field->getCrmProviderId() === 'meetingOutcome'
? $this->fetchMeetingOutcomeTypes()
: $this->fetchCallActivityTypes();
}
public function fetchMeetingOutcomeTypes(): array
{
return $this->extractMeetingTypeOptions(
'[URL_WITH_CREDENTIALS] Response $response */
$response = $this->getInstance()
->getClient()
->request('GET', $endpoint);
/**
* @var array<array{
* value: string,
* label: string,
* displayOrder: int
* }> $optionData
*/
$optionData = $response->toArray()['options'] ?? [];
$options = [];
foreach ($optionData as $item) {
$options[] = [
'id' => $item['value'],
'value' => $item['value'],
'label' => $item['label'],
'display_order' => $item['displayOrder'],
];
}
return $options;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchDispositionFieldOptions(): array
{
$options = [];
$dispositions = $this->fetchCallDispositions();
foreach ($dispositions as $disposition) {
if ($disposition['deleted'] !== false) {
continue;
}
$option['value'] = $disposition['id'];
$option['id'] = $disposition['id'];
$option['label'] = $disposition['label'];
$options[] = $option;
}
return $options;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchOpportunityFieldOptions(Field $field): array
{
if ($field->isStageField()) {
return $this->fetchOpportunityPipelineStages();
}
if ($field->isPipelineField()) {
return $this->fetchOpportunityPipelines();
}
return $this->fetchPropertyOptions('deals', $field->getCrmProviderId());
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function makeRequest(string $endpoint, $method = 'GET', $payload = [], ?string $queryString = null)
{
$endpoint = self::BASE_URL . $endpoint;
if ($method === 'GET') {
$response = $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
$response = $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
$max = $response->getHeaderLine('X-HubSpot-RateLimit-Max'); // "110"
$remaining = $response->getHeaderLine('X-HubSpot-RateLimit-Remaining'); // "109"
$interval = $response->getHeaderLine('X-HubSpot-RateLimit-Interval-Milliseconds'); // "10000"
$body = json_decode((string) $response->getBody(), true);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$max ' . PHP_EOL . print_r($max, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));
return $response;
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function createMeeting(array $payload): Response
{
$endpoint = '/crm/v3/objects/meetings';
return $this->makeRequest($endpoint, 'POST', $payload);
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function updateMeeting(string $meetingId, array $payload): Response
{
$endpoint = '/crm/v3/objects/meetings/' . $meetingId;
return $this->makeRequest($endpoint, 'PATCH', $payload);
}
/**
* @throws \Exception
*/
public function createNote(
string $body,
string $ownerId,
int $timestamp,
string $objectId,
NoteObject $noteObject
): ?string {
try {
$noteInput = new SimplePublicObjectInput([
'properties' => [
'hs_note_body' => $body,
'hubspot_owner_id' => $ownerId,
'hs_timestamp' => $timestamp,
],
]);
// Create note
$note = $this->getNewInstance()->crm()->objects()->basicApi()->create('note', $noteInput);
$this->getNewInstance()->crm()->objects()->associationsApi()->create(
'note',
$note->getId(),
$this->getNoteObject($noteObject),
$objectId,
$this->getNoteAssociationType($noteObject),
);
return $note->getId();
} catch (\Exception $e) {
$this->log->error('[Hubspot] Failed to create note', [
'objectId' => $objectId,
'noteObject' => $noteObject->getObjectType(),
'reason' => $e->getMessage(),
]);
\Sentry::captureException($e);
}
return null;
}
public function updateEngagement(string $objectId, array $engagement, array $metadata): void
{
$this->getInstance()->engagements()->update($objectId, $engagement, $metadata);
}
public function getEngagementData(string $engagementId): array
{
$engagement = $this->getInstance()->engagements()->get($engagementId);
return $engagement->toArray();
}
public function createEngagement(array $engagement, array $associations, array $metadata): Response
{
return $this->getInstance()
->engagements()
->create($engagement, $associations, $metadata);
}
public function isUnauthorizedException(\Exception $e): bool
{
// Check for specific HubSpot API exception types first
if ($e instanceof BadRequest) {
// BadRequest can contain 401 status codes
return $e->getCode() === 401;
}
// Check for HTTP client exceptions with status codes
if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) {
$response = $e->getResponse();
if ($response !== null) {
return $response->getStatusCode() === 401;
}
}
// Check for Guzzle HTTP exceptions
if ($e instanceof \GuzzleHttp\Exception\ClientException) {
return $e->getCode() === 401;
}
// Fallback to string matching as last resort, but be more specific
$message = strtolower($e->getMessage());
return str_contains($message, '401 unauthorized') ||
str_contains($message, 'http 401') ||
str_contains($message, 'status code 401') ||
(preg_match('/\b401\b/', $message) && str_contains($message, 'unauthorized'));
}
/**
* Validates and refreshes the access token if needed before API requests.
* This ensures long-running processes don't fail due to token expiration.
*
* @throws SocialAccountTokenInvalidException
*/
public function ensureValidToken(): void
{
if ($this->oauthAccount === null) {
return;
}
$newToken = $this->tokenManager->ensureValidToken($this->oauthAccount);
if ($newToken !== null) {
$this->accessToken = $newToken;
}
}
public function getConfig()
{
return $this->config;
}
// returns only active (archived=false)
public function getOwners(): array
{
return $this->getNewInstance()->crm()->owners()->getAll();
}
/**
* @param bool $archived
*
* @return array<Owner>|[]
*/
public function getOwnersArchived(bool $archived = true): array
{
$endpoint = '/crm/v3/owners';
$queryParams = [
'archived' => $archived ? 'true' : 'false',
];
$queryString = http_build_query($queryParams);
$owners = [];
try {
$response = $this->makeRequest(endpoint: $endpoint, queryString: $queryString);
$responseData = $response?->toArray();
foreach ($responseData['results'] as $result) {
try {
$owners[] = Owner::create($result);
} catch (Throwable $e) {
$this->log->error('[HubSpot] Failed to process owner data', [
'result' => $result,
'error' => $e->getMessage(),
]);
continue;
}
}
} catch (Throwable $e) {
$this->log->error('HubSpot] Failed to fetch owners', [
'archived' => $archived,
'error' => $e->getMessage(),
]);
return [];
}
return $owners;
}
public function getMeeting(string $engagementId): ObjectWithAssociations
{
return $this->getNewInstance()->crm()->objects()->basicApi()
->getById('meeting', $engagementId, null, 'contact,company,deal');
}
public function deleteEngagement(string $engagementId): void
{
$this->getInstance()->engagements()->delete((int) $engagementId);
}
public function getAssociationsData(array $ids, string $fromObject, string $toObject): array
{
$associationData = [];
$idChunks = array_chunk($ids, self::ASSOCIATIONS_BATCH_SIZE_LIMIT);
foreach ($idChunks as $idChunk) {
try {
$batchInput = new \HubSpot\Client\Crm\Associations\Model\BatchInputPublicObjectId();
$batchInput->setInputs(array_map(function ($id) {
$publicObjectId = new \HubSpot\Client\Crm\Associations\Model\PublicObjectId();
$publicObjectId->setId($id);
return $publicObjectId;
}, $idChunk));
$associatedObjectsData = $this
->getNewInstance()
->crm()
->associations()
->batchApi()
->read($fromObject, $toObject, $batchInput);
if ($associatedObjectsData instanceof \HubSpot\Client\Crm\Associations\Model\BatchResponsePublicAssociationMulti) {
foreach ($associatedObjectsData->getResults() as $association) {
$from = $association->getFrom()->getId();
$toAssociations = $association->getTo();
if (! empty($toAssociations)) {
$associationData[$from] = array_map(function ($item) {
return $item->getId();
}, $toAssociations);
}
}
}
} catch (\Exception $e) {
$this->log->error('[Hubspot] Failed to fetch associations', [
'from_object' => $fromObject,
'to_object' => $toObject,
'reason' => $e->getMessage(),
]);
}
}
return $associationData;
}
/**
* @throws \Exception
*/
private function getNoteAssociationType(NoteObject $noteObject): string
{
return match($noteObject) {
NoteObject::Opportunity => 'note_to_deal',
NoteObject::Lead, NoteObject::Contact => 'note_to_contact', // or 'note_to_lead' if your portal supports it
NoteObject::Account => 'note_to_company',
NoteObject::Call, NoteObject::Event => throw new \Exception('Not supported'),
};
}
/**
* @throws \Exception
*/
private function getNoteObject(NoteObject $noteObject): string
{
return match($noteObject) {
NoteObject::Opportunity => 'deal',
NoteObject::Lead, NoteObject::Contact => 'contact',
NoteObject::Account => 'company',
NoteObject::Call, NoteObject::Event => throw new \Exception('Not supported'),
};
}
public function addAssociations(string $objectType, string $associationType, array $payload): Response
{
$endpoint = "/crm/v4/associations/$objectType/$associationType/batch/create";
return $this->makeRequest($endpoint, 'POST', $payload);
}
public function removeAssociations(string $objectType, string $associationType, array $payload): Response
{
$endpoint = "/crm/v4/associations/$objectType/$associationType/batch/archive";
return $this->makeRequest($endpoint, 'POST', $payload);
}
}
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.025930852,"top":0.019952115,"width":0.03856383,"height":0.025538707},"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"master, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.034242023,"height":0.025538707},"on_screen":true,"help_text":"Git Branch: master","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.8081782,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"bounds":{"left":0.8234708,"top":0.019952115,"width":0.09208777,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9155585,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"bounds":{"left":0.9268617,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"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.9381649,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"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.96609044,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"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.9773936,"top":0.019952115,"width":0.011303191,"height":0.025538707},"on_screen":true,"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.9886968,"top":0.019952115,"width":0.011303186,"height":0.025538707},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.38297874,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.39162233,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.40259308,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.4112367,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.41988033,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.43085107,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"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.4418218,"top":0.09896249,"width":0.024268618,"height":0.01915403},"on_screen":true,"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.46841756,"top":0.09896249,"width":0.008643617,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.4793883,"top":0.09896249,"width":0.029587766,"height":0.01915403},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.65359044,"top":0.09896249,"width":0.02825798,"height":0.01915403},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.6399601,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.6499335,"top":0.123703115,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"bounds":{"left":0.65924203,"top":0.123703115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.66888297,"top":0.12210695,"width":0.00731383,"height":0.018355945},"on_screen":true,"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.6761968,"top":0.12210695,"width":0.006981383,"height":0.018355945},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\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 opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\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 opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.042220745,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.007978723,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.010305851,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.006981383,"height":0.0},"on_screen":false,"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;\n\nuse HubSpot\\Client\\Crm\\Deals\\ApiException as DealApiException;\nuse HubSpot\\Client\\Crm\\Contacts\\ApiException as ContactApiException;\nuse HubSpot\\Client\\Crm\\Companies\\ApiException as CompanyApiException;\nuse HubSpot\\Client\\Crm\\Contacts\\Model\\SimplePublicObjectWithAssociations as ContactsWithAssociations;\nuse HubSpot\\Client\\Crm\\Companies\\Model\\SimplePublicObjectWithAssociations as CompaniesWithAssociations;\nuse HubSpot\\Client\\Crm\\Deals\\Model\\SimplePublicObjectWithAssociations as DealWithAssociations;\nuse HubSpot\\Client\\Crm\\Objects\\Model\\SimplePublicObjectInput;\nuse HubSpot\\Client\\Crm\\Objects\\Model\\SimplePublicObjectWithAssociations as ObjectWithAssociations;\nuse HubSpot\\Client\\Crm\\Pipelines\\Model\\Error;\nuse HubSpot\\Client\\Crm\\Pipelines\\Model\\PipelineStage;\nuse HubSpot\\Client\\Crm\\Properties\\Model\\Property;\nuse HubSpot\\Discovery\\Discovery;\nuse Jiminny\\Component\\Utility\\Service\\ProviderRateLimiter;\nuse Jiminny\\Exceptions\\CrmException;\nuse Jiminny\\Exceptions\\RateLimitException;\nuse Jiminny\\Exceptions\\SocialAccountTokenInvalidException;\nuse Jiminny\\Jobs\\Crm\\NoteObject;\nuse Jiminny\\Models\\Crm\\Field;\nuse Jiminny\\Services\\Crm\\BaseClient;\nuse Jiminny\\Services\\Crm\\Hubspot\\DTO\\Response\\Owner;\nuse Jiminny\\Services\\SocialAccountService;\nuse SevenShores\\Hubspot\\Exceptions\\BadRequest;\nuse SevenShores\\Hubspot\\Exceptions\\HubspotException;\nuse SevenShores\\Hubspot\\Factory;\nuse SevenShores\\Hubspot\\Http\\Response;\nuse Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService;\nuse Throwable;\n\n/**\n * @phpstan-type CrmFieldOption array{id:string, label:string, value?:string}\n */\nclass Client extends BaseClient implements HubspotClientInterface\n{\n public const string MIN_API_VERSION = '2';\n\n public const string BASE_URL = 'https://api.hubapi.com';\n\n public const int ASSOCIATIONS_BATCH_SIZE_LIMIT = 1000;\n\n private HubspotPaginationService $paginationService;\n private HubspotTokenManager $tokenManager;\n private ProviderRateLimiter $rateLimiter;\n\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager,\n ProviderRateLimiter $rateLimiter,\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n $this->rateLimiter = $rateLimiter;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Single entry point for every HubSpot API call. Enforces the per-portal\n * rate limit configured in the rate_limits table (morphed to the current\n * Configuration) and reacts to a real 429 from HubSpot by translating it\n * into a RateLimitException carrying Retry-After.\n *\n * Wrap any outbound HubSpot call (SDK or raw HTTP) like:\n *\n * $this->executeRequest(fn () => $this->getNewInstance()->crm()->...);\n *\n * @template T\n * @param callable(): T $apiCall\n * @return T\n *\n * @throws RateLimitException\n */\n private function executeRequest(callable $apiCall)\n {\n if (! $this->rateLimiter->canMakeRequest($this->config)) {\n $retryAfter = $this->rateLimiter->requestAvailableIn($this->config);\n\n $this->log->warning('[Hubspot] Rate limit exceeded, deferring request', [\n 'team_id' => $this->config->team_id,\n 'config_id' => $this->config->getId(),\n 'retry_after' => $retryAfter,\n ]);\n\n throw new RateLimitException(\n 'Hubspot rate limit reached for configuration ' . $this->config->getId(),\n $retryAfter,\n );\n }\n\n $this->rateLimiter->incrementRequestCount($this->config);\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n $this->log->warning('[Hubspot] Received 429 from API', [\n 'team_id' => $this->config->team_id,\n 'config_id' => $this->config->getId(),\n 'retry_after' => $retryAfter,\n 'reason' => $e->getMessage(),\n ]);\n\n throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n }\n\n throw $e;\n }\n }\n\n private function isHubspotRateLimit(Throwable $e): bool\n {\n return method_exists($e, 'getCode') && (int) $e->getCode() === 429;\n }\n\n private function parseRetryAfter(Throwable $e): int\n {\n if (method_exists($e, 'getResponseHeaders')) {\n $headers = $e->getResponseHeaders() ?: [];\n $value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;\n if (is_array($value)) {\n $value = $value[0] ?? null;\n }\n if (is_numeric($value)) {\n return (int) $value;\n }\n }\n\n return 10;\n }\n\n public function getMinimumApiVersion(): string\n {\n return self::MIN_API_VERSION;\n }\n\n public function getInstance(): Factory\n {\n return new Factory([\n 'key' => $this->accessToken,\n 'oauth2' => true,\n 'base_url' => $this->baseUrl,\n ]);\n }\n\n public function getNewInstance(): Discovery\n {\n return \\HubSpot\\Factory::createWithAccessToken($this->accessToken);\n }\n\n /**\n * Secondly and daily limits for Hubspot API\n *\n * Product Tier: Free & Starter | Professional & Enterprise | API add-on (any tier)\n * Burst: 100/10 seconds | 150/10 seconds | 200/10 seconds\n * Daily: 250,000 | 500,000 | 1,000,000\n *\n * Official documentation states: The search endpoints are rate limited to five requests per second.\n * Since with 5 RPS were still hitting secondly rate limits we lowered it to 4\n */\n public function getPaginatedData(array $payload, string $type, int $offset = 0): array\n {\n $total = 0;\n $lastId = null;\n $rows = [];\n foreach ($this->getPaginatedDataGenerator($payload, $type, $offset, $total, $lastId) as $row) {\n $rows[] = $row;\n }\n\n return ['results' => $rows, 'total' => $total, 'last_record' => $lastId];\n }\n\n /**\n * @throws HubspotException\n * @throws SocialAccountTokenInvalidException\n * @throws BadRequest\n */\n public function getPaginatedDataGenerator(\n array $payload,\n string $type,\n int $offset = 0,\n int &$total = 0,\n ?string &$lastRecordId = null\n ): \\Generator {\n return $this->paginationService->getPaginatedDataGenerator(\n $this,\n $payload,\n $type,\n $offset,\n $total,\n $lastRecordId\n );\n }\n\n /**\n * @throws DealApiException\n * @throws CrmException\n */\n public function getOpportunityById(string $crmId, array $fields): array\n {\n try {\n $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(\n $crmId,\n implode(',', $fields),\n 'companies,contacts'\n ));\n } catch (DealApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch opportunity', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $deal instanceof DealWithAssociations) {\n throw new CrmException('Deal not found');\n }\n\n return [\n 'id' => $deal->getId(),\n 'properties' => $deal->getProperties(),\n 'associations' => $deal->getAssociations(),\n ];\n }\n\n /**\n * Generic batch read method for HubSpot objects\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts')\n * @param array<string> $crmIds Array of HubSpot object IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with object data\n */\n private function batchReadObjects(string $objectType, array $crmIds, array $fields): array\n {\n if (empty($crmIds)) {\n return [];\n }\n\n $this->validateBatchSize($objectType, $crmIds);\n $this->ensureValidToken();\n\n try {\n $batchConfig = $this->createBatchConfiguration($objectType);\n $batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmIds, $fields);\n $response = $batchConfig['api']->read($batchReadRequest);\n\n $this->validateApiResponse($response, $objectType);\n\n $results = $this->processApiResults($response);\n $this->logBatchResults($objectType, $crmIds, $results);\n\n return $results;\n } catch (\\Throwable $e) {\n $this->handleBatchError($e, $objectType, $crmIds);\n }\n }\n\n private function validateBatchSize(string $objectType, array $crmIds): void\n {\n if (count($crmIds) > 100) {\n throw new \\InvalidArgumentException(\"Batch size cannot exceed 100 {$objectType}\");\n }\n }\n\n private function createBatchConfiguration(string $objectType): array\n {\n $configurations = [\n 'deals' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Deals\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Deals\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->deals()->batchApi(),\n ],\n 'companies' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Companies\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Companies\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->companies()->batchApi(),\n ],\n 'contacts' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Contacts\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Contacts\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->contacts()->batchApi(),\n ],\n ];\n\n if (! isset($configurations[$objectType])) {\n throw new \\InvalidArgumentException(\"Unsupported object type: {$objectType}\");\n }\n\n return $configurations[$objectType];\n }\n\n private function prepareBatchRequest(array $batchConfig, array $crmIds, array $fields): object\n {\n $batchReadRequest = $batchConfig['batchReadRequest'];\n $inputClass = $batchConfig['inputClass'];\n\n $inputs = array_map(function ($crmId) use ($inputClass) {\n $input = new $inputClass();\n $input->setId($crmId);\n\n return $input;\n }, $crmIds);\n\n $batchReadRequest->setInputs($inputs);\n $batchReadRequest->setProperties($fields);\n\n return $batchReadRequest;\n }\n\n private function validateApiResponse($response, string $objectType): void\n {\n if (! $response) {\n throw new CrmException(\"HubSpot API returned null response for {$objectType} batch read\");\n }\n }\n\n private function processApiResults($response): array\n {\n $results = [];\n $responseResults = $response->getResults();\n\n if ($responseResults) {\n foreach ($responseResults as $object) {\n if ($object && $object->getId()) {\n $results[$object->getId()] = [\n 'id' => $object->getId(),\n 'properties' => $object->getProperties() ?: [],\n ];\n }\n }\n }\n\n return $results;\n }\n\n private function logBatchResults(string $objectType, array $crmIds, array $results): void\n {\n $this->log->info(\"[HubSpot] Batch fetched {$objectType}\", [\n 'requested_count' => count($crmIds),\n 'returned_count' => count($results),\n 'crm_ids' => $crmIds,\n ]);\n }\n\n private function handleBatchError(\\Throwable $e, string $objectType, array $crmIds): void\n {\n $errorMessage = $e->getMessage() ?: 'Unknown error';\n $errorTrace = $e->getTraceAsString() ?: 'No trace available';\n\n $this->log->error(\"[HubSpot] Failed to batch fetch {$objectType}\", [\n 'crm_ids' => $crmIds,\n 'error' => $errorMessage,\n 'trace' => $errorTrace,\n ]);\n\n throw new CrmException(\"Failed to batch fetch {$objectType}: \" . $errorMessage);\n }\n\n /**\n * Batch read multiple opportunities by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot deal IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with opportunity data\n */\n public function getOpportunitiesByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('deals', $crmIds, $fields);\n }\n\n /**\n * Batch read multiple companies by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot company IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with company data\n */\n public function getCompaniesByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('companies', $crmIds, $fields);\n }\n\n /**\n * Batch read multiple contacts by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot contact IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with contact data\n */\n public function getContactsByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('contacts', $crmIds, $fields);\n }\n\n /**\n * @throws CompanyApiException\n * @throws CrmException\n */\n public function getAccountById(string $crmId, array $fields): array\n {\n try {\n $company = $this->getNewInstance()->crm()->companies()->basicApi()->getById(\n $crmId,\n implode(',', $fields),\n );\n } catch (CompanyApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch account', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $company instanceof CompaniesWithAssociations) {\n throw new CrmException('Account not found');\n }\n\n return [\n 'id' => $company->getId(),\n 'properties' => $company->getProperties(),\n ];\n }\n\n /**\n * @throws ContactApiException\n * @throws CrmException\n */\n public function getContactById(string $crmId, array $fields): array\n {\n try {\n $contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(\n $crmId,\n implode(',', $fields)\n );\n } catch (ContactApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch contact', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $contact instanceof ContactsWithAssociations) {\n throw new CrmException('Contact not found');\n }\n\n return [\n 'id' => $contact->getId(),\n 'properties' => $contact->getProperties(),\n ];\n }\n\n /**\n * This is email search request that Hubspot offers as GET (more generous quota)\n */\n public function getContactByEmail(string $email, array $fields = []): array\n {\n try {\n $contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(\n $email,\n implode(',', $fields),\n null,\n false,\n 'email'\n );\n\n return [\n 'id' => $contact->getId(),\n 'properties' => $contact->getProperties(),\n ];\n } catch (ContactApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch contact', [\n 'email' => $email,\n 'reason' => $e->getMessage(),\n ]);\n\n return [];\n }\n }\n\n /**\n * @throws CrmException\n */\n public function fetchProperty(string $objectType, string $propertyId): Property\n {\n $result = $this->getNewInstance()->crm()->properties()->coreApi()->getByName($objectType, $propertyId);\n\n if (! $result instanceof Property) {\n $this->log->error('[Hubspot] Failed to fetch property', [\n 'object_type' => $objectType,\n 'property_id' => $propertyId,\n 'reason' => $result->getMessage(),\n ]);\n\n throw new CrmException('Failed to fetch property');\n }\n\n return $result;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchPropertyOptions(string $objectType, string $propertyId): array\n {\n /** @var array<CrmFieldOption> */\n return $this->fetchProperty($objectType, $propertyId)->getOptions();\n }\n\n /**\n * @return array<array{id:string, label:string, deleted:bool}>\n */\n public function fetchCallDispositions(): array\n {\n /** @var Response $response */\n $response = $this->getInstance()->engagements()->getCallDispositions();\n\n /**\n * @var array<array{\n * id:string,\n * label:string,\n * deleted: bool\n * }>\n */\n return $response->toArray();\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchOpportunityPipelineStages(): array\n {\n $stages = [];\n $apiResponse = $this->getNewInstance()->crm()->pipelines()->pipelinesApi()->getAll('deals');\n\n if ($apiResponse instanceof Error) {\n $this->log->error('[Hubspot] Failed to fetch opportunity pipelines', [\n 'reason' => $apiResponse->getMessage(),\n ]);\n\n return [];\n }\n\n foreach ($apiResponse->getResults() as $pipeline) {\n $pipelineStages = array_map(\n static function (PipelineStage $stage) {\n return [\n 'id' => $stage->getId(),\n 'label' => $stage->getLabel(),\n ];\n },\n $pipeline->getStages()\n );\n\n $stages = array_merge($stages, $pipelineStages);\n }\n\n return $stages;\n }\n\n public function fetchOpportunityPipelines(): array\n {\n $pipelines = [];\n\n try {\n $apiResponse = $this->makeRequest('/crm/v3/pipelines/deals');\n } catch (\\Exception $e) {\n $this->log->info('[Hubspot] Failed to fetch opportunity pipelines', [\n 'reason' => $e->getMessage(),\n ]);\n\n return [];\n }\n\n $response = $apiResponse->toArray();\n\n foreach ($response['results'] as $pipeline) {\n $pipelines[] = [\n 'id' => $pipeline['id'],\n 'label' => $pipeline['label'],\n ];\n }\n\n return $pipelines;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchMeetingOutcomeFieldOptions(Field $field): array\n {\n return $field->getCrmProviderId() === 'meetingOutcome'\n ? $this->fetchMeetingOutcomeTypes()\n : $this->fetchCallActivityTypes();\n }\n\n public function fetchMeetingOutcomeTypes(): array\n {\n return $this->extractMeetingTypeOptions(\n 'https://api.hubapi.com/crm/v3/properties/meeting/hs_meeting_outcome'\n );\n }\n\n public function fetchCallActivityTypes(): array\n {\n return $this->extractMeetingTypeOptions(\n 'https://api.hubapi.com/crm/v3/properties/call/hs_activity_type'\n );\n }\n\n private function extractMeetingTypeOptions(string $endpoint): array\n {\n /** @var Response $response */\n $response = $this->getInstance()\n ->getClient()\n ->request('GET', $endpoint);\n\n /**\n * @var array<array{\n * value: string,\n * label: string,\n * displayOrder: int\n * }> $optionData\n */\n $optionData = $response->toArray()['options'] ?? [];\n\n $options = [];\n foreach ($optionData as $item) {\n $options[] = [\n 'id' => $item['value'],\n 'value' => $item['value'],\n 'label' => $item['label'],\n 'display_order' => $item['displayOrder'],\n ];\n }\n\n return $options;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchDispositionFieldOptions(): array\n {\n $options = [];\n\n $dispositions = $this->fetchCallDispositions();\n\n foreach ($dispositions as $disposition) {\n if ($disposition['deleted'] !== false) {\n continue;\n }\n\n $option['value'] = $disposition['id'];\n $option['id'] = $disposition['id'];\n $option['label'] = $disposition['label'];\n\n $options[] = $option;\n }\n\n return $options;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchOpportunityFieldOptions(Field $field): array\n {\n if ($field->isStageField()) {\n return $this->fetchOpportunityPipelineStages();\n }\n\n if ($field->isPipelineField()) {\n return $this->fetchOpportunityPipelines();\n }\n\n return $this->fetchPropertyOptions('deals', $field->getCrmProviderId());\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function makeRequest(string $endpoint, $method = 'GET', $payload = [], ?string $queryString = null)\n {\n $endpoint = self::BASE_URL . $endpoint;\n\n if ($method === 'GET') {\n $response = $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n $response = $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\n \n $max = $response->getHeaderLine('X-HubSpot-RateLimit-Max'); // \"110\"\n $remaining = $response->getHeaderLine('X-HubSpot-RateLimit-Remaining'); // \"109\"\n $interval = $response->getHeaderLine('X-HubSpot-RateLimit-Interval-Milliseconds'); // \"10000\"\n $body = json_decode((string) $response->getBody(), true);\n \n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$max ' . PHP_EOL . print_r($max, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));\n \n return $response;\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function createMeeting(array $payload): Response\n {\n $endpoint = '/crm/v3/objects/meetings';\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function updateMeeting(string $meetingId, array $payload): Response\n {\n $endpoint = '/crm/v3/objects/meetings/' . $meetingId;\n\n return $this->makeRequest($endpoint, 'PATCH', $payload);\n }\n\n /**\n * @throws \\Exception\n */\n public function createNote(\n string $body,\n string $ownerId,\n int $timestamp,\n string $objectId,\n NoteObject $noteObject\n ): ?string {\n try {\n $noteInput = new SimplePublicObjectInput([\n 'properties' => [\n 'hs_note_body' => $body,\n 'hubspot_owner_id' => $ownerId,\n 'hs_timestamp' => $timestamp,\n ],\n ]);\n\n // Create note\n $note = $this->getNewInstance()->crm()->objects()->basicApi()->create('note', $noteInput);\n\n $this->getNewInstance()->crm()->objects()->associationsApi()->create(\n 'note',\n $note->getId(),\n $this->getNoteObject($noteObject),\n $objectId,\n $this->getNoteAssociationType($noteObject),\n );\n\n return $note->getId();\n } catch (\\Exception $e) {\n $this->log->error('[Hubspot] Failed to create note', [\n 'objectId' => $objectId,\n 'noteObject' => $noteObject->getObjectType(),\n 'reason' => $e->getMessage(),\n ]);\n\n \\Sentry::captureException($e);\n }\n\n return null;\n }\n\n public function updateEngagement(string $objectId, array $engagement, array $metadata): void\n {\n $this->getInstance()->engagements()->update($objectId, $engagement, $metadata);\n }\n\n public function getEngagementData(string $engagementId): array\n {\n $engagement = $this->getInstance()->engagements()->get($engagementId);\n\n return $engagement->toArray();\n }\n\n public function createEngagement(array $engagement, array $associations, array $metadata): Response\n {\n return $this->getInstance()\n ->engagements()\n ->create($engagement, $associations, $metadata);\n }\n\n public function isUnauthorizedException(\\Exception $e): bool\n {\n // Check for specific HubSpot API exception types first\n if ($e instanceof BadRequest) {\n // BadRequest can contain 401 status codes\n return $e->getCode() === 401;\n }\n\n // Check for HTTP client exceptions with status codes\n if ($e instanceof \\GuzzleHttp\\Exception\\RequestException && $e->hasResponse()) {\n $response = $e->getResponse();\n if ($response !== null) {\n return $response->getStatusCode() === 401;\n }\n }\n\n // Check for Guzzle HTTP exceptions\n if ($e instanceof \\GuzzleHttp\\Exception\\ClientException) {\n return $e->getCode() === 401;\n }\n\n // Fallback to string matching as last resort, but be more specific\n $message = strtolower($e->getMessage());\n\n return str_contains($message, '401 unauthorized') ||\n str_contains($message, 'http 401') ||\n str_contains($message, 'status code 401') ||\n (preg_match('/\\b401\\b/', $message) && str_contains($message, 'unauthorized'));\n }\n\n /**\n * Validates and refreshes the access token if needed before API requests.\n * This ensures long-running processes don't fail due to token expiration.\n *\n * @throws SocialAccountTokenInvalidException\n */\n public function ensureValidToken(): void\n {\n if ($this->oauthAccount === null) {\n return;\n }\n\n $newToken = $this->tokenManager->ensureValidToken($this->oauthAccount);\n if ($newToken !== null) {\n $this->accessToken = $newToken;\n }\n }\n\n public function getConfig()\n {\n return $this->config;\n }\n\n // returns only active (archived=false)\n public function getOwners(): array\n {\n return $this->getNewInstance()->crm()->owners()->getAll();\n }\n\n /**\n * @param bool $archived\n *\n * @return array<Owner>|[]\n */\n public function getOwnersArchived(bool $archived = true): array\n {\n $endpoint = '/crm/v3/owners';\n $queryParams = [\n 'archived' => $archived ? 'true' : 'false',\n ];\n $queryString = http_build_query($queryParams);\n\n $owners = [];\n\n try {\n $response = $this->makeRequest(endpoint: $endpoint, queryString: $queryString);\n $responseData = $response?->toArray();\n\n foreach ($responseData['results'] as $result) {\n try {\n $owners[] = Owner::create($result);\n } catch (Throwable $e) {\n $this->log->error('[HubSpot] Failed to process owner data', [\n 'result' => $result,\n 'error' => $e->getMessage(),\n ]);\n\n continue;\n }\n }\n } catch (Throwable $e) {\n $this->log->error('HubSpot] Failed to fetch owners', [\n 'archived' => $archived,\n 'error' => $e->getMessage(),\n ]);\n\n return [];\n }\n\n return $owners;\n }\n\n public function getMeeting(string $engagementId): ObjectWithAssociations\n {\n return $this->getNewInstance()->crm()->objects()->basicApi()\n ->getById('meeting', $engagementId, null, 'contact,company,deal');\n }\n\n public function deleteEngagement(string $engagementId): void\n {\n $this->getInstance()->engagements()->delete((int) $engagementId);\n }\n\n public function getAssociationsData(array $ids, string $fromObject, string $toObject): array\n {\n $associationData = [];\n $idChunks = array_chunk($ids, self::ASSOCIATIONS_BATCH_SIZE_LIMIT);\n\n foreach ($idChunks as $idChunk) {\n try {\n $batchInput = new \\HubSpot\\Client\\Crm\\Associations\\Model\\BatchInputPublicObjectId();\n $batchInput->setInputs(array_map(function ($id) {\n $publicObjectId = new \\HubSpot\\Client\\Crm\\Associations\\Model\\PublicObjectId();\n $publicObjectId->setId($id);\n\n return $publicObjectId;\n }, $idChunk));\n\n $associatedObjectsData = $this\n ->getNewInstance()\n ->crm()\n ->associations()\n ->batchApi()\n ->read($fromObject, $toObject, $batchInput);\n\n if ($associatedObjectsData instanceof \\HubSpot\\Client\\Crm\\Associations\\Model\\BatchResponsePublicAssociationMulti) {\n foreach ($associatedObjectsData->getResults() as $association) {\n $from = $association->getFrom()->getId();\n $toAssociations = $association->getTo();\n\n if (! empty($toAssociations)) {\n $associationData[$from] = array_map(function ($item) {\n return $item->getId();\n }, $toAssociations);\n }\n }\n }\n } catch (\\Exception $e) {\n $this->log->error('[Hubspot] Failed to fetch associations', [\n 'from_object' => $fromObject,\n 'to_object' => $toObject,\n 'reason' => $e->getMessage(),\n ]);\n }\n }\n\n return $associationData;\n }\n\n /**\n * @throws \\Exception\n */\n private function getNoteAssociationType(NoteObject $noteObject): string\n {\n return match($noteObject) {\n NoteObject::Opportunity => 'note_to_deal',\n NoteObject::Lead, NoteObject::Contact => 'note_to_contact', // or 'note_to_lead' if your portal supports it\n NoteObject::Account => 'note_to_company',\n NoteObject::Call, NoteObject::Event => throw new \\Exception('Not supported'),\n };\n }\n\n /**\n * @throws \\Exception\n */\n private function getNoteObject(NoteObject $noteObject): string\n {\n return match($noteObject) {\n NoteObject::Opportunity => 'deal',\n NoteObject::Lead, NoteObject::Contact => 'contact',\n NoteObject::Account => 'company',\n NoteObject::Call, NoteObject::Event => throw new \\Exception('Not supported'),\n };\n }\n\n public function addAssociations(string $objectType, string $associationType, array $payload): Response\n {\n $endpoint = \"/crm/v4/associations/$objectType/$associationType/batch/create\";\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n\n public function removeAssociations(string $objectType, string $associationType, array $payload): Response\n {\n $endpoint = \"/crm/v4/associations/$objectType/$associationType/batch/archive\";\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Services\\Crm\\Hubspot;\n\nuse HubSpot\\Client\\Crm\\Deals\\ApiException as DealApiException;\nuse HubSpot\\Client\\Crm\\Contacts\\ApiException as ContactApiException;\nuse HubSpot\\Client\\Crm\\Companies\\ApiException as CompanyApiException;\nuse HubSpot\\Client\\Crm\\Contacts\\Model\\SimplePublicObjectWithAssociations as ContactsWithAssociations;\nuse HubSpot\\Client\\Crm\\Companies\\Model\\SimplePublicObjectWithAssociations as CompaniesWithAssociations;\nuse HubSpot\\Client\\Crm\\Deals\\Model\\SimplePublicObjectWithAssociations as DealWithAssociations;\nuse HubSpot\\Client\\Crm\\Objects\\Model\\SimplePublicObjectInput;\nuse HubSpot\\Client\\Crm\\Objects\\Model\\SimplePublicObjectWithAssociations as ObjectWithAssociations;\nuse HubSpot\\Client\\Crm\\Pipelines\\Model\\Error;\nuse HubSpot\\Client\\Crm\\Pipelines\\Model\\PipelineStage;\nuse HubSpot\\Client\\Crm\\Properties\\Model\\Property;\nuse HubSpot\\Discovery\\Discovery;\nuse Jiminny\\Component\\Utility\\Service\\ProviderRateLimiter;\nuse Jiminny\\Exceptions\\CrmException;\nuse Jiminny\\Exceptions\\RateLimitException;\nuse Jiminny\\Exceptions\\SocialAccountTokenInvalidException;\nuse Jiminny\\Jobs\\Crm\\NoteObject;\nuse Jiminny\\Models\\Crm\\Field;\nuse Jiminny\\Services\\Crm\\BaseClient;\nuse Jiminny\\Services\\Crm\\Hubspot\\DTO\\Response\\Owner;\nuse Jiminny\\Services\\SocialAccountService;\nuse SevenShores\\Hubspot\\Exceptions\\BadRequest;\nuse SevenShores\\Hubspot\\Exceptions\\HubspotException;\nuse SevenShores\\Hubspot\\Factory;\nuse SevenShores\\Hubspot\\Http\\Response;\nuse Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService;\nuse Throwable;\n\n/**\n * @phpstan-type CrmFieldOption array{id:string, label:string, value?:string}\n */\nclass Client extends BaseClient implements HubspotClientInterface\n{\n public const string MIN_API_VERSION = '2';\n\n public const string BASE_URL = 'https://api.hubapi.com';\n\n public const int ASSOCIATIONS_BATCH_SIZE_LIMIT = 1000;\n\n private HubspotPaginationService $paginationService;\n private HubspotTokenManager $tokenManager;\n private ProviderRateLimiter $rateLimiter;\n\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager,\n ProviderRateLimiter $rateLimiter,\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n $this->rateLimiter = $rateLimiter;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Single entry point for every HubSpot API call. Enforces the per-portal\n * rate limit configured in the rate_limits table (morphed to the current\n * Configuration) and reacts to a real 429 from HubSpot by translating it\n * into a RateLimitException carrying Retry-After.\n *\n * Wrap any outbound HubSpot call (SDK or raw HTTP) like:\n *\n * $this->executeRequest(fn () => $this->getNewInstance()->crm()->...);\n *\n * @template T\n * @param callable(): T $apiCall\n * @return T\n *\n * @throws RateLimitException\n */\n private function executeRequest(callable $apiCall)\n {\n if (! $this->rateLimiter->canMakeRequest($this->config)) {\n $retryAfter = $this->rateLimiter->requestAvailableIn($this->config);\n\n $this->log->warning('[Hubspot] Rate limit exceeded, deferring request', [\n 'team_id' => $this->config->team_id,\n 'config_id' => $this->config->getId(),\n 'retry_after' => $retryAfter,\n ]);\n\n throw new RateLimitException(\n 'Hubspot rate limit reached for configuration ' . $this->config->getId(),\n $retryAfter,\n );\n }\n\n $this->rateLimiter->incrementRequestCount($this->config);\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n $this->log->warning('[Hubspot] Received 429 from API', [\n 'team_id' => $this->config->team_id,\n 'config_id' => $this->config->getId(),\n 'retry_after' => $retryAfter,\n 'reason' => $e->getMessage(),\n ]);\n\n throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n }\n\n throw $e;\n }\n }\n\n private function isHubspotRateLimit(Throwable $e): bool\n {\n return method_exists($e, 'getCode') && (int) $e->getCode() === 429;\n }\n\n private function parseRetryAfter(Throwable $e): int\n {\n if (method_exists($e, 'getResponseHeaders')) {\n $headers = $e->getResponseHeaders() ?: [];\n $value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;\n if (is_array($value)) {\n $value = $value[0] ?? null;\n }\n if (is_numeric($value)) {\n return (int) $value;\n }\n }\n\n return 10;\n }\n\n public function getMinimumApiVersion(): string\n {\n return self::MIN_API_VERSION;\n }\n\n public function getInstance(): Factory\n {\n return new Factory([\n 'key' => $this->accessToken,\n 'oauth2' => true,\n 'base_url' => $this->baseUrl,\n ]);\n }\n\n public function getNewInstance(): Discovery\n {\n return \\HubSpot\\Factory::createWithAccessToken($this->accessToken);\n }\n\n /**\n * Secondly and daily limits for Hubspot API\n *\n * Product Tier: Free & Starter | Professional & Enterprise | API add-on (any tier)\n * Burst: 100/10 seconds | 150/10 seconds | 200/10 seconds\n * Daily: 250,000 | 500,000 | 1,000,000\n *\n * Official documentation states: The search endpoints are rate limited to five requests per second.\n * Since with 5 RPS were still hitting secondly rate limits we lowered it to 4\n */\n public function getPaginatedData(array $payload, string $type, int $offset = 0): array\n {\n $total = 0;\n $lastId = null;\n $rows = [];\n foreach ($this->getPaginatedDataGenerator($payload, $type, $offset, $total, $lastId) as $row) {\n $rows[] = $row;\n }\n\n return ['results' => $rows, 'total' => $total, 'last_record' => $lastId];\n }\n\n /**\n * @throws HubspotException\n * @throws SocialAccountTokenInvalidException\n * @throws BadRequest\n */\n public function getPaginatedDataGenerator(\n array $payload,\n string $type,\n int $offset = 0,\n int &$total = 0,\n ?string &$lastRecordId = null\n ): \\Generator {\n return $this->paginationService->getPaginatedDataGenerator(\n $this,\n $payload,\n $type,\n $offset,\n $total,\n $lastRecordId\n );\n }\n\n /**\n * @throws DealApiException\n * @throws CrmException\n */\n public function getOpportunityById(string $crmId, array $fields): array\n {\n try {\n $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(\n $crmId,\n implode(',', $fields),\n 'companies,contacts'\n ));\n } catch (DealApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch opportunity', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $deal instanceof DealWithAssociations) {\n throw new CrmException('Deal not found');\n }\n\n return [\n 'id' => $deal->getId(),\n 'properties' => $deal->getProperties(),\n 'associations' => $deal->getAssociations(),\n ];\n }\n\n /**\n * Generic batch read method for HubSpot objects\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts')\n * @param array<string> $crmIds Array of HubSpot object IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with object data\n */\n private function batchReadObjects(string $objectType, array $crmIds, array $fields): array\n {\n if (empty($crmIds)) {\n return [];\n }\n\n $this->validateBatchSize($objectType, $crmIds);\n $this->ensureValidToken();\n\n try {\n $batchConfig = $this->createBatchConfiguration($objectType);\n $batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmIds, $fields);\n $response = $batchConfig['api']->read($batchReadRequest);\n\n $this->validateApiResponse($response, $objectType);\n\n $results = $this->processApiResults($response);\n $this->logBatchResults($objectType, $crmIds, $results);\n\n return $results;\n } catch (\\Throwable $e) {\n $this->handleBatchError($e, $objectType, $crmIds);\n }\n }\n\n private function validateBatchSize(string $objectType, array $crmIds): void\n {\n if (count($crmIds) > 100) {\n throw new \\InvalidArgumentException(\"Batch size cannot exceed 100 {$objectType}\");\n }\n }\n\n private function createBatchConfiguration(string $objectType): array\n {\n $configurations = [\n 'deals' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Deals\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Deals\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->deals()->batchApi(),\n ],\n 'companies' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Companies\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Companies\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->companies()->batchApi(),\n ],\n 'contacts' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Contacts\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Contacts\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->contacts()->batchApi(),\n ],\n ];\n\n if (! isset($configurations[$objectType])) {\n throw new \\InvalidArgumentException(\"Unsupported object type: {$objectType}\");\n }\n\n return $configurations[$objectType];\n }\n\n private function prepareBatchRequest(array $batchConfig, array $crmIds, array $fields): object\n {\n $batchReadRequest = $batchConfig['batchReadRequest'];\n $inputClass = $batchConfig['inputClass'];\n\n $inputs = array_map(function ($crmId) use ($inputClass) {\n $input = new $inputClass();\n $input->setId($crmId);\n\n return $input;\n }, $crmIds);\n\n $batchReadRequest->setInputs($inputs);\n $batchReadRequest->setProperties($fields);\n\n return $batchReadRequest;\n }\n\n private function validateApiResponse($response, string $objectType): void\n {\n if (! $response) {\n throw new CrmException(\"HubSpot API returned null response for {$objectType} batch read\");\n }\n }\n\n private function processApiResults($response): array\n {\n $results = [];\n $responseResults = $response->getResults();\n\n if ($responseResults) {\n foreach ($responseResults as $object) {\n if ($object && $object->getId()) {\n $results[$object->getId()] = [\n 'id' => $object->getId(),\n 'properties' => $object->getProperties() ?: [],\n ];\n }\n }\n }\n\n return $results;\n }\n\n private function logBatchResults(string $objectType, array $crmIds, array $results): void\n {\n $this->log->info(\"[HubSpot] Batch fetched {$objectType}\", [\n 'requested_count' => count($crmIds),\n 'returned_count' => count($results),\n 'crm_ids' => $crmIds,\n ]);\n }\n\n private function handleBatchError(\\Throwable $e, string $objectType, array $crmIds): void\n {\n $errorMessage = $e->getMessage() ?: 'Unknown error';\n $errorTrace = $e->getTraceAsString() ?: 'No trace available';\n\n $this->log->error(\"[HubSpot] Failed to batch fetch {$objectType}\", [\n 'crm_ids' => $crmIds,\n 'error' => $errorMessage,\n 'trace' => $errorTrace,\n ]);\n\n throw new CrmException(\"Failed to batch fetch {$objectType}: \" . $errorMessage);\n }\n\n /**\n * Batch read multiple opportunities by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot deal IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with opportunity data\n */\n public function getOpportunitiesByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('deals', $crmIds, $fields);\n }\n\n /**\n * Batch read multiple companies by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot company IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with company data\n */\n public function getCompaniesByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('companies', $crmIds, $fields);\n }\n\n /**\n * Batch read multiple contacts by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot contact IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with contact data\n */\n public function getContactsByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('contacts', $crmIds, $fields);\n }\n\n /**\n * @throws CompanyApiException\n * @throws CrmException\n */\n public function getAccountById(string $crmId, array $fields): array\n {\n try {\n $company = $this->getNewInstance()->crm()->companies()->basicApi()->getById(\n $crmId,\n implode(',', $fields),\n );\n } catch (CompanyApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch account', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $company instanceof CompaniesWithAssociations) {\n throw new CrmException('Account not found');\n }\n\n return [\n 'id' => $company->getId(),\n 'properties' => $company->getProperties(),\n ];\n }\n\n /**\n * @throws ContactApiException\n * @throws CrmException\n */\n public function getContactById(string $crmId, array $fields): array\n {\n try {\n $contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(\n $crmId,\n implode(',', $fields)\n );\n } catch (ContactApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch contact', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $contact instanceof ContactsWithAssociations) {\n throw new CrmException('Contact not found');\n }\n\n return [\n 'id' => $contact->getId(),\n 'properties' => $contact->getProperties(),\n ];\n }\n\n /**\n * This is email search request that Hubspot offers as GET (more generous quota)\n */\n public function getContactByEmail(string $email, array $fields = []): array\n {\n try {\n $contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(\n $email,\n implode(',', $fields),\n null,\n false,\n 'email'\n );\n\n return [\n 'id' => $contact->getId(),\n 'properties' => $contact->getProperties(),\n ];\n } catch (ContactApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch contact', [\n 'email' => $email,\n 'reason' => $e->getMessage(),\n ]);\n\n return [];\n }\n }\n\n /**\n * @throws CrmException\n */\n public function fetchProperty(string $objectType, string $propertyId): Property\n {\n $result = $this->getNewInstance()->crm()->properties()->coreApi()->getByName($objectType, $propertyId);\n\n if (! $result instanceof Property) {\n $this->log->error('[Hubspot] Failed to fetch property', [\n 'object_type' => $objectType,\n 'property_id' => $propertyId,\n 'reason' => $result->getMessage(),\n ]);\n\n throw new CrmException('Failed to fetch property');\n }\n\n return $result;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchPropertyOptions(string $objectType, string $propertyId): array\n {\n /** @var array<CrmFieldOption> */\n return $this->fetchProperty($objectType, $propertyId)->getOptions();\n }\n\n /**\n * @return array<array{id:string, label:string, deleted:bool}>\n */\n public function fetchCallDispositions(): array\n {\n /** @var Response $response */\n $response = $this->getInstance()->engagements()->getCallDispositions();\n\n /**\n * @var array<array{\n * id:string,\n * label:string,\n * deleted: bool\n * }>\n */\n return $response->toArray();\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchOpportunityPipelineStages(): array\n {\n $stages = [];\n $apiResponse = $this->getNewInstance()->crm()->pipelines()->pipelinesApi()->getAll('deals');\n\n if ($apiResponse instanceof Error) {\n $this->log->error('[Hubspot] Failed to fetch opportunity pipelines', [\n 'reason' => $apiResponse->getMessage(),\n ]);\n\n return [];\n }\n\n foreach ($apiResponse->getResults() as $pipeline) {\n $pipelineStages = array_map(\n static function (PipelineStage $stage) {\n return [\n 'id' => $stage->getId(),\n 'label' => $stage->getLabel(),\n ];\n },\n $pipeline->getStages()\n );\n\n $stages = array_merge($stages, $pipelineStages);\n }\n\n return $stages;\n }\n\n public function fetchOpportunityPipelines(): array\n {\n $pipelines = [];\n\n try {\n $apiResponse = $this->makeRequest('/crm/v3/pipelines/deals');\n } catch (\\Exception $e) {\n $this->log->info('[Hubspot] Failed to fetch opportunity pipelines', [\n 'reason' => $e->getMessage(),\n ]);\n\n return [];\n }\n\n $response = $apiResponse->toArray();\n\n foreach ($response['results'] as $pipeline) {\n $pipelines[] = [\n 'id' => $pipeline['id'],\n 'label' => $pipeline['label'],\n ];\n }\n\n return $pipelines;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchMeetingOutcomeFieldOptions(Field $field): array\n {\n return $field->getCrmProviderId() === 'meetingOutcome'\n ? $this->fetchMeetingOutcomeTypes()\n : $this->fetchCallActivityTypes();\n }\n\n public function fetchMeetingOutcomeTypes(): array\n {\n return $this->extractMeetingTypeOptions(\n 'https://api.hubapi.com/crm/v3/properties/meeting/hs_meeting_outcome'\n );\n }\n\n public function fetchCallActivityTypes(): array\n {\n return $this->extractMeetingTypeOptions(\n 'https://api.hubapi.com/crm/v3/properties/call/hs_activity_type'\n );\n }\n\n private function extractMeetingTypeOptions(string $endpoint): array\n {\n /** @var Response $response */\n $response = $this->getInstance()\n ->getClient()\n ->request('GET', $endpoint);\n\n /**\n * @var array<array{\n * value: string,\n * label: string,\n * displayOrder: int\n * }> $optionData\n */\n $optionData = $response->toArray()['options'] ?? [];\n\n $options = [];\n foreach ($optionData as $item) {\n $options[] = [\n 'id' => $item['value'],\n 'value' => $item['value'],\n 'label' => $item['label'],\n 'display_order' => $item['displayOrder'],\n ];\n }\n\n return $options;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchDispositionFieldOptions(): array\n {\n $options = [];\n\n $dispositions = $this->fetchCallDispositions();\n\n foreach ($dispositions as $disposition) {\n if ($disposition['deleted'] !== false) {\n continue;\n }\n\n $option['value'] = $disposition['id'];\n $option['id'] = $disposition['id'];\n $option['label'] = $disposition['label'];\n\n $options[] = $option;\n }\n\n return $options;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchOpportunityFieldOptions(Field $field): array\n {\n if ($field->isStageField()) {\n return $this->fetchOpportunityPipelineStages();\n }\n\n if ($field->isPipelineField()) {\n return $this->fetchOpportunityPipelines();\n }\n\n return $this->fetchPropertyOptions('deals', $field->getCrmProviderId());\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function makeRequest(string $endpoint, $method = 'GET', $payload = [], ?string $queryString = null)\n {\n $endpoint = self::BASE_URL . $endpoint;\n\n if ($method === 'GET') {\n $response = $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n $response = $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\n \n $max = $response->getHeaderLine('X-HubSpot-RateLimit-Max'); // \"110\"\n $remaining = $response->getHeaderLine('X-HubSpot-RateLimit-Remaining'); // \"109\"\n $interval = $response->getHeaderLine('X-HubSpot-RateLimit-Interval-Milliseconds'); // \"10000\"\n $body = json_decode((string) $response->getBody(), true);\n \n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$max ' . PHP_EOL . print_r($max, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));\n \n return $response;\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function createMeeting(array $payload): Response\n {\n $endpoint = '/crm/v3/objects/meetings';\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function updateMeeting(string $meetingId, array $payload): Response\n {\n $endpoint = '/crm/v3/objects/meetings/' . $meetingId;\n\n return $this->makeRequest($endpoint, 'PATCH', $payload);\n }\n\n /**\n * @throws \\Exception\n */\n public function createNote(\n string $body,\n string $ownerId,\n int $timestamp,\n string $objectId,\n NoteObject $noteObject\n ): ?string {\n try {\n $noteInput = new SimplePublicObjectInput([\n 'properties' => [\n 'hs_note_body' => $body,\n 'hubspot_owner_id' => $ownerId,\n 'hs_timestamp' => $timestamp,\n ],\n ]);\n\n // Create note\n $note = $this->getNewInstance()->crm()->objects()->basicApi()->create('note', $noteInput);\n\n $this->getNewInstance()->crm()->objects()->associationsApi()->create(\n 'note',\n $note->getId(),\n $this->getNoteObject($noteObject),\n $objectId,\n $this->getNoteAssociationType($noteObject),\n );\n\n return $note->getId();\n } catch (\\Exception $e) {\n $this->log->error('[Hubspot] Failed to create note', [\n 'objectId' => $objectId,\n 'noteObject' => $noteObject->getObjectType(),\n 'reason' => $e->getMessage(),\n ]);\n\n \\Sentry::captureException($e);\n }\n\n return null;\n }\n\n public function updateEngagement(string $objectId, array $engagement, array $metadata): void\n {\n $this->getInstance()->engagements()->update($objectId, $engagement, $metadata);\n }\n\n public function getEngagementData(string $engagementId): array\n {\n $engagement = $this->getInstance()->engagements()->get($engagementId);\n\n return $engagement->toArray();\n }\n\n public function createEngagement(array $engagement, array $associations, array $metadata): Response\n {\n return $this->getInstance()\n ->engagements()\n ->create($engagement, $associations, $metadata);\n }\n\n public function isUnauthorizedException(\\Exception $e): bool\n {\n // Check for specific HubSpot API exception types first\n if ($e instanceof BadRequest) {\n // BadRequest can contain 401 status codes\n return $e->getCode() === 401;\n }\n\n // Check for HTTP client exceptions with status codes\n if ($e instanceof \\GuzzleHttp\\Exception\\RequestException && $e->hasResponse()) {\n $response = $e->getResponse();\n if ($response !== null) {\n return $response->getStatusCode() === 401;\n }\n }\n\n // Check for Guzzle HTTP exceptions\n if ($e instanceof \\GuzzleHttp\\Exception\\ClientException) {\n return $e->getCode() === 401;\n }\n\n // Fallback to string matching as last resort, but be more specific\n $message = strtolower($e->getMessage());\n\n return str_contains($message, '401 unauthorized') ||\n str_contains($message, 'http 401') ||\n str_contains($message, 'status code 401') ||\n (preg_match('/\\b401\\b/', $message) && str_contains($message, 'unauthorized'));\n }\n\n /**\n * Validates and refreshes the access token if needed before API requests.\n * This ensures long-running processes don't fail due to token expiration.\n *\n * @throws SocialAccountTokenInvalidException\n */\n public function ensureValidToken(): void\n {\n if ($this->oauthAccount === null) {\n return;\n }\n\n $newToken = $this->tokenManager->ensureValidToken($this->oauthAccount);\n if ($newToken !== null) {\n $this->accessToken = $newToken;\n }\n }\n\n public function getConfig()\n {\n return $this->config;\n }\n\n // returns only active (archived=false)\n public function getOwners(): array\n {\n return $this->getNewInstance()->crm()->owners()->getAll();\n }\n\n /**\n * @param bool $archived\n *\n * @return array<Owner>|[]\n */\n public function getOwnersArchived(bool $archived = true): array\n {\n $endpoint = '/crm/v3/owners';\n $queryParams = [\n 'archived' => $archived ? 'true' : 'false',\n ];\n $queryString = http_build_query($queryParams);\n\n $owners = [];\n\n try {\n $response = $this->makeRequest(endpoint: $endpoint, queryString: $queryString);\n $responseData = $response?->toArray();\n\n foreach ($responseData['results'] as $result) {\n try {\n $owners[] = Owner::create($result);\n } catch (Throwable $e) {\n $this->log->error('[HubSpot] Failed to process owner data', [\n 'result' => $result,\n 'error' => $e->getMessage(),\n ]);\n\n continue;\n }\n }\n } catch (Throwable $e) {\n $this->log->error('HubSpot] Failed to fetch owners', [\n 'archived' => $archived,\n 'error' => $e->getMessage(),\n ]);\n\n return [];\n }\n\n return $owners;\n }\n\n public function getMeeting(string $engagementId): ObjectWithAssociations\n {\n return $this->getNewInstance()->crm()->objects()->basicApi()\n ->getById('meeting', $engagementId, null, 'contact,company,deal');\n }\n\n public function deleteEngagement(string $engagementId): void\n {\n $this->getInstance()->engagements()->delete((int) $engagementId);\n }\n\n public function getAssociationsData(array $ids, string $fromObject, string $toObject): array\n {\n $associationData = [];\n $idChunks = array_chunk($ids, self::ASSOCIATIONS_BATCH_SIZE_LIMIT);\n\n foreach ($idChunks as $idChunk) {\n try {\n $batchInput = new \\HubSpot\\Client\\Crm\\Associations\\Model\\BatchInputPublicObjectId();\n $batchInput->setInputs(array_map(function ($id) {\n $publicObjectId = new \\HubSpot\\Client\\Crm\\Associations\\Model\\PublicObjectId();\n $publicObjectId->setId($id);\n\n return $publicObjectId;\n }, $idChunk));\n\n $associatedObjectsData = $this\n ->getNewInstance()\n ->crm()\n ->associations()\n ->batchApi()\n ->read($fromObject, $toObject, $batchInput);\n\n if ($associatedObjectsData instanceof \\HubSpot\\Client\\Crm\\Associations\\Model\\BatchResponsePublicAssociationMulti) {\n foreach ($associatedObjectsData->getResults() as $association) {\n $from = $association->getFrom()->getId();\n $toAssociations = $association->getTo();\n\n if (! empty($toAssociations)) {\n $associationData[$from] = array_map(function ($item) {\n return $item->getId();\n }, $toAssociations);\n }\n }\n }\n } catch (\\Exception $e) {\n $this->log->error('[Hubspot] Failed to fetch associations', [\n 'from_object' => $fromObject,\n 'to_object' => $toObject,\n 'reason' => $e->getMessage(),\n ]);\n }\n }\n\n return $associationData;\n }\n\n /**\n * @throws \\Exception\n */\n private function getNoteAssociationType(NoteObject $noteObject): string\n {\n return match($noteObject) {\n NoteObject::Opportunity => 'note_to_deal',\n NoteObject::Lead, NoteObject::Contact => 'note_to_contact', // or 'note_to_lead' if your portal supports it\n NoteObject::Account => 'note_to_company',\n NoteObject::Call, NoteObject::Event => throw new \\Exception('Not supported'),\n };\n }\n\n /**\n * @throws \\Exception\n */\n private function getNoteObject(NoteObject $noteObject): string\n {\n return match($noteObject) {\n NoteObject::Opportunity => 'deal',\n NoteObject::Lead, NoteObject::Contact => 'contact',\n NoteObject::Account => 'company',\n NoteObject::Call, NoteObject::Event => throw new \\Exception('Not supported'),\n };\n }\n\n public function addAssociations(string $objectType, string $associationType, array $payload): Response\n {\n $endpoint = \"/crm/v4/associations/$objectType/$associationType/batch/create\";\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n\n public function removeAssociations(string $objectType, string $associationType, array $payload): Response\n {\n $endpoint = \"/crm/v4/associations/$objectType/$associationType/batch/archive\";\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"bounds":{"left":0.011968086,"top":0.047885075,"width":0.024268618,"height":0.024740623},"on_screen":true,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"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.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.008643617,"height":0.0},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8137451649170895720
|
6684458809013180516
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
master, menu
Start Listen Project: faVsco.js, menu
master, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
[URL_WITH_CREDENTIALS] CrmFieldOption array{id:string, label:string, value?:string}
*/
class Client extends BaseClient implements HubspotClientInterface
{
public const string MIN_API_VERSION = '2';
public const string BASE_URL = '[URL_WITH_CREDENTIALS] T
* @param callable(): T $apiCall
* @return T
*
* @throws RateLimitException
*/
private function executeRequest(callable $apiCall)
{
if (! $this->rateLimiter->canMakeRequest($this->config)) {
$retryAfter = $this->rateLimiter->requestAvailableIn($this->config);
$this->log->warning('[Hubspot] Rate limit exceeded, deferring request', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
]);
throw new RateLimitException(
'Hubspot rate limit reached for configuration ' . $this->config->getId(),
$retryAfter,
);
}
$this->rateLimiter->incrementRequestCount($this->config);
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function isHubspotRateLimit(Throwable $e): bool
{
return method_exists($e, 'getCode') && (int) $e->getCode() === 429;
}
private function parseRetryAfter(Throwable $e): int
{
if (method_exists($e, 'getResponseHeaders')) {
$headers = $e->getResponseHeaders() ?: [];
$value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;
if (is_array($value)) {
$value = $value[0] ?? null;
}
if (is_numeric($value)) {
return (int) $value;
}
}
return 10;
}
public function getMinimumApiVersion(): string
{
return self::MIN_API_VERSION;
}
public function getInstance(): Factory
{
return new Factory([
'key' => $this->accessToken,
'oauth2' => true,
'base_url' => $this->baseUrl,
]);
}
public function getNewInstance(): Discovery
{
return \HubSpot\Factory::createWithAccessToken($this->accessToken);
}
/**
* Secondly and daily limits for Hubspot API
*
* Product Tier: Free & Starter | Professional & Enterprise | API add-on (any tier)
* Burst: 100/10 seconds | 150/10 seconds | 200/10 seconds
* Daily: 250,000 | 500,000 | 1,000,000
*
* Official documentation states: The search endpoints are rate limited to five requests per second.
* Since with 5 RPS were still hitting secondly rate limits we lowered it to 4
*/
public function getPaginatedData(array $payload, string $type, int $offset = 0): array
{
$total = 0;
$lastId = null;
$rows = [];
foreach ($this->getPaginatedDataGenerator($payload, $type, $offset, $total, $lastId) as $row) {
$rows[] = $row;
}
return ['results' => $rows, 'total' => $total, 'last_record' => $lastId];
}
/**
* @throws HubspotException
* @throws SocialAccountTokenInvalidException
* @throws BadRequest
*/
public function getPaginatedDataGenerator(
array $payload,
string $type,
int $offset = 0,
int &$total = 0,
?string &$lastRecordId = null
): \Generator {
return $this->paginationService->getPaginatedDataGenerator(
$this,
$payload,
$type,
$offset,
$total,
$lastRecordId
);
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$crmId,
implode(',', $fields),
'companies,contacts'
));
} catch (DealApiException $e) {
$this->log->info('[Hubspot] Failed to fetch opportunity', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $deal instanceof DealWithAssociations) {
throw new CrmException('Deal not found');
}
return [
'id' => $deal->getId(),
'properties' => $deal->getProperties(),
'associations' => $deal->getAssociations(),
];
}
/**
* Generic batch read method for HubSpot objects
*
* @param string $objectType The object type ('deals', 'companies', 'contacts')
* @param array<string> $crmIds Array of HubSpot object IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with object data
*/
private function batchReadObjects(string $objectType, array $crmIds, array $fields): array
{
if (empty($crmIds)) {
return [];
}
$this->validateBatchSize($objectType, $crmIds);
$this->ensureValidToken();
try {
$batchConfig = $this->createBatchConfiguration($objectType);
$batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmIds, $fields);
$response = $batchConfig['api']->read($batchReadRequest);
$this->validateApiResponse($response, $objectType);
$results = $this->processApiResults($response);
$this->logBatchResults($objectType, $crmIds, $results);
return $results;
} catch (\Throwable $e) {
$this->handleBatchError($e, $objectType, $crmIds);
}
}
private function validateBatchSize(string $objectType, array $crmIds): void
{
if (count($crmIds) > 100) {
throw new \InvalidArgumentException("Batch size cannot exceed 100 {$objectType}");
}
}
private function createBatchConfiguration(string $objectType): array
{
$configurations = [
'deals' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Deals\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Deals\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->deals()->batchApi(),
],
'companies' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Companies\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Companies\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->companies()->batchApi(),
],
'contacts' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Contacts\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->contacts()->batchApi(),
],
];
if (! isset($configurations[$objectType])) {
throw new \InvalidArgumentException("Unsupported object type: {$objectType}");
}
return $configurations[$objectType];
}
private function prepareBatchRequest(array $batchConfig, array $crmIds, array $fields): object
{
$batchReadRequest = $batchConfig['batchReadRequest'];
$inputClass = $batchConfig['inputClass'];
$inputs = array_map(function ($crmId) use ($inputClass) {
$input = new $inputClass();
$input->setId($crmId);
return $input;
}, $crmIds);
$batchReadRequest->setInputs($inputs);
$batchReadRequest->setProperties($fields);
return $batchReadRequest;
}
private function validateApiResponse($response, string $objectType): void
{
if (! $response) {
throw new CrmException("HubSpot API returned null response for {$objectType} batch read");
}
}
private function processApiResults($response): array
{
$results = [];
$responseResults = $response->getResults();
if ($responseResults) {
foreach ($responseResults as $object) {
if ($object && $object->getId()) {
$results[$object->getId()] = [
'id' => $object->getId(),
'properties' => $object->getProperties() ?: [],
];
}
}
}
return $results;
}
private function logBatchResults(string $objectType, array $crmIds, array $results): void
{
$this->log->info("[HubSpot] Batch fetched {$objectType}", [
'requested_count' => count($crmIds),
'returned_count' => count($results),
'crm_ids' => $crmIds,
]);
}
private function handleBatchError(\Throwable $e, string $objectType, array $crmIds): void
{
$errorMessage = $e->getMessage() ?: 'Unknown error';
$errorTrace = $e->getTraceAsString() ?: 'No trace available';
$this->log->error("[HubSpot] Failed to batch fetch {$objectType}", [
'crm_ids' => $crmIds,
'error' => $errorMessage,
'trace' => $errorTrace,
]);
throw new CrmException("Failed to batch fetch {$objectType}: " . $errorMessage);
}
/**
* Batch read multiple opportunities by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot deal IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with opportunity data
*/
public function getOpportunitiesByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('deals', $crmIds, $fields);
}
/**
* Batch read multiple companies by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot company IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with company data
*/
public function getCompaniesByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('companies', $crmIds, $fields);
}
/**
* Batch read multiple contacts by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot contact IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with contact data
*/
public function getContactsByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('contacts', $crmIds, $fields);
}
/**
* @throws CompanyApiException
* @throws CrmException
*/
public function getAccountById(string $crmId, array $fields): array
{
try {
$company = $this->getNewInstance()->crm()->companies()->basicApi()->getById(
$crmId,
implode(',', $fields),
);
} catch (CompanyApiException $e) {
$this->log->info('[Hubspot] Failed to fetch account', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $company instanceof CompaniesWithAssociations) {
throw new CrmException('Account not found');
}
return [
'id' => $company->getId(),
'properties' => $company->getProperties(),
];
}
/**
* @throws ContactApiException
* @throws CrmException
*/
public function getContactById(string $crmId, array $fields): array
{
try {
$contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(
$crmId,
implode(',', $fields)
);
} catch (ContactApiException $e) {
$this->log->info('[Hubspot] Failed to fetch contact', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $contact instanceof ContactsWithAssociations) {
throw new CrmException('Contact not found');
}
return [
'id' => $contact->getId(),
'properties' => $contact->getProperties(),
];
}
/**
* This is email search request that Hubspot offers as GET (more generous quota)
*/
public function getContactByEmail(string $email, array $fields = []): array
{
try {
$contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(
$email,
implode(',', $fields),
null,
false,
'email'
);
return [
'id' => $contact->getId(),
'properties' => $contact->getProperties(),
];
} catch (ContactApiException $e) {
$this->log->info('[Hubspot] Failed to fetch contact', [
'email' => $email,
'reason' => $e->getMessage(),
]);
return [];
}
}
/**
* @throws CrmException
*/
public function fetchProperty(string $objectType, string $propertyId): Property
{
$result = $this->getNewInstance()->crm()->properties()->coreApi()->getByName($objectType, $propertyId);
if (! $result instanceof Property) {
$this->log->error('[Hubspot] Failed to fetch property', [
'object_type' => $objectType,
'property_id' => $propertyId,
'reason' => $result->getMessage(),
]);
throw new CrmException('Failed to fetch property');
}
return $result;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchPropertyOptions(string $objectType, string $propertyId): array
{
/** @var array<CrmFieldOption> */
return $this->fetchProperty($objectType, $propertyId)->getOptions();
}
/**
* @return array<array{id:string, label:string, deleted:bool}>
*/
public function fetchCallDispositions(): array
{
/** @var Response $response */
$response = $this->getInstance()->engagements()->getCallDispositions();
/**
* @var array<array{
* id:string,
* label:string,
* deleted: bool
* }>
*/
return $response->toArray();
}
/**
* @return array<CrmFieldOption>
*/
public function fetchOpportunityPipelineStages(): array
{
$stages = [];
$apiResponse = $this->getNewInstance()->crm()->pipelines()->pipelinesApi()->getAll('deals');
if ($apiResponse instanceof Error) {
$this->log->error('[Hubspot] Failed to fetch opportunity pipelines', [
'reason' => $apiResponse->getMessage(),
]);
return [];
}
foreach ($apiResponse->getResults() as $pipeline) {
$pipelineStages = array_map(
static function (PipelineStage $stage) {
return [
'id' => $stage->getId(),
'label' => $stage->getLabel(),
];
},
$pipeline->getStages()
);
$stages = array_merge($stages, $pipelineStages);
}
return $stages;
}
public function fetchOpportunityPipelines(): array
{
$pipelines = [];
try {
$apiResponse = $this->makeRequest('/crm/v3/pipelines/deals');
} catch (\Exception $e) {
$this->log->info('[Hubspot] Failed to fetch opportunity pipelines', [
'reason' => $e->getMessage(),
]);
return [];
}
$response = $apiResponse->toArray();
foreach ($response['results'] as $pipeline) {
$pipelines[] = [
'id' => $pipeline['id'],
'label' => $pipeline['label'],
];
}
return $pipelines;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchMeetingOutcomeFieldOptions(Field $field): array
{
return $field->getCrmProviderId() === 'meetingOutcome'
? $this->fetchMeetingOutcomeTypes()
: $this->fetchCallActivityTypes();
}
public function fetchMeetingOutcomeTypes(): array
{
return $this->extractMeetingTypeOptions(
'[URL_WITH_CREDENTIALS] Response $response */
$response = $this->getInstance()
->getClient()
->request('GET', $endpoint);
/**
* @var array<array{
* value: string,
* label: string,
* displayOrder: int
* }> $optionData
*/
$optionData = $response->toArray()['options'] ?? [];
$options = [];
foreach ($optionData as $item) {
$options[] = [
'id' => $item['value'],
'value' => $item['value'],
'label' => $item['label'],
'display_order' => $item['displayOrder'],
];
}
return $options;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchDispositionFieldOptions(): array
{
$options = [];
$dispositions = $this->fetchCallDispositions();
foreach ($dispositions as $disposition) {
if ($disposition['deleted'] !== false) {
continue;
}
$option['value'] = $disposition['id'];
$option['id'] = $disposition['id'];
$option['label'] = $disposition['label'];
$options[] = $option;
}
return $options;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchOpportunityFieldOptions(Field $field): array
{
if ($field->isStageField()) {
return $this->fetchOpportunityPipelineStages();
}
if ($field->isPipelineField()) {
return $this->fetchOpportunityPipelines();
}
return $this->fetchPropertyOptions('deals', $field->getCrmProviderId());
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function makeRequest(string $endpoint, $method = 'GET', $payload = [], ?string $queryString = null)
{
$endpoint = self::BASE_URL . $endpoint;
if ($method === 'GET') {
$response = $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
$response = $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
$max = $response->getHeaderLine('X-HubSpot-RateLimit-Max'); // "110"
$remaining = $response->getHeaderLine('X-HubSpot-RateLimit-Remaining'); // "109"
$interval = $response->getHeaderLine('X-HubSpot-RateLimit-Interval-Milliseconds'); // "10000"
$body = json_decode((string) $response->getBody(), true);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$max ' . PHP_EOL . print_r($max, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));
return $response;
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function createMeeting(array $payload): Response
{
$endpoint = '/crm/v3/objects/meetings';
return $this->makeRequest($endpoint, 'POST', $payload);
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function updateMeeting(string $meetingId, array $payload): Response
{
$endpoint = '/crm/v3/objects/meetings/' . $meetingId;
return $this->makeRequest($endpoint, 'PATCH', $payload);
}
/**
* @throws \Exception
*/
public function createNote(
string $body,
string $ownerId,
int $timestamp,
string $objectId,
NoteObject $noteObject
): ?string {
try {
$noteInput = new SimplePublicObjectInput([
'properties' => [
'hs_note_body' => $body,
'hubspot_owner_id' => $ownerId,
'hs_timestamp' => $timestamp,
],
]);
// Create note
$note = $this->getNewInstance()->crm()->objects()->basicApi()->create('note', $noteInput);
$this->getNewInstance()->crm()->objects()->associationsApi()->create(
'note',
$note->getId(),
$this->getNoteObject($noteObject),
$objectId,
$this->getNoteAssociationType($noteObject),
);
return $note->getId();
} catch (\Exception $e) {
$this->log->error('[Hubspot] Failed to create note', [
'objectId' => $objectId,
'noteObject' => $noteObject->getObjectType(),
'reason' => $e->getMessage(),
]);
\Sentry::captureException($e);
}
return null;
}
public function updateEngagement(string $objectId, array $engagement, array $metadata): void
{
$this->getInstance()->engagements()->update($objectId, $engagement, $metadata);
}
public function getEngagementData(string $engagementId): array
{
$engagement = $this->getInstance()->engagements()->get($engagementId);
return $engagement->toArray();
}
public function createEngagement(array $engagement, array $associations, array $metadata): Response
{
return $this->getInstance()
->engagements()
->create($engagement, $associations, $metadata);
}
public function isUnauthorizedException(\Exception $e): bool
{
// Check for specific HubSpot API exception types first
if ($e instanceof BadRequest) {
// BadRequest can contain 401 status codes
return $e->getCode() === 401;
}
// Check for HTTP client exceptions with status codes
if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) {
$response = $e->getResponse();
if ($response !== null) {
return $response->getStatusCode() === 401;
}
}
// Check for Guzzle HTTP exceptions
if ($e instanceof \GuzzleHttp\Exception\ClientException) {
return $e->getCode() === 401;
}
// Fallback to string matching as last resort, but be more specific
$message = strtolower($e->getMessage());
return str_contains($message, '401 unauthorized') ||
str_contains($message, 'http 401') ||
str_contains($message, 'status code 401') ||
(preg_match('/\b401\b/', $message) && str_contains($message, 'unauthorized'));
}
/**
* Validates and refreshes the access token if needed before API requests.
* This ensures long-running processes don't fail due to token expiration.
*
* @throws SocialAccountTokenInvalidException
*/
public function ensureValidToken(): void
{
if ($this->oauthAccount === null) {
return;
}
$newToken = $this->tokenManager->ensureValidToken($this->oauthAccount);
if ($newToken !== null) {
$this->accessToken = $newToken;
}
}
public function getConfig()
{
return $this->config;
}
// returns only active (archived=false)
public function getOwners(): array
{
return $this->getNewInstance()->crm()->owners()->getAll();
}
/**
* @param bool $archived
*
* @return array<Owner>|[]
*/
public function getOwnersArchived(bool $archived = true): array
{
$endpoint = '/crm/v3/owners';
$queryParams = [
'archived' => $archived ? 'true' : 'false',
];
$queryString = http_build_query($queryParams);
$owners = [];
try {
$response = $this->makeRequest(endpoint: $endpoint, queryString: $queryString);
$responseData = $response?->toArray();
foreach ($responseData['results'] as $result) {
try {
$owners[] = Owner::create($result);
} catch (Throwable $e) {
$this->log->error('[HubSpot] Failed to process owner data', [
'result' => $result,
'error' => $e->getMessage(),
]);
continue;
}
}
} catch (Throwable $e) {
$this->log->error('HubSpot] Failed to fetch owners', [
'archived' => $archived,
'error' => $e->getMessage(),
]);
return [];
}
return $owners;
}
public function getMeeting(string $engagementId): ObjectWithAssociations
{
return $this->getNewInstance()->crm()->objects()->basicApi()
->getById('meeting', $engagementId, null, 'contact,company,deal');
}
public function deleteEngagement(string $engagementId): void
{
$this->getInstance()->engagements()->delete((int) $engagementId);
}
public function getAssociationsData(array $ids, string $fromObject, string $toObject): array
{
$associationData = [];
$idChunks = array_chunk($ids, self::ASSOCIATIONS_BATCH_SIZE_LIMIT);
foreach ($idChunks as $idChunk) {
try {
$batchInput = new \HubSpot\Client\Crm\Associations\Model\BatchInputPublicObjectId();
$batchInput->setInputs(array_map(function ($id) {
$publicObjectId = new \HubSpot\Client\Crm\Associations\Model\PublicObjectId();
$publicObjectId->setId($id);
return $publicObjectId;
}, $idChunk));
$associatedObjectsData = $this
->getNewInstance()
->crm()
->associations()
->batchApi()
->read($fromObject, $toObject, $batchInput);
if ($associatedObjectsData instanceof \HubSpot\Client\Crm\Associations\Model\BatchResponsePublicAssociationMulti) {
foreach ($associatedObjectsData->getResults() as $association) {
$from = $association->getFrom()->getId();
$toAssociations = $association->getTo();
if (! empty($toAssociations)) {
$associationData[$from] = array_map(function ($item) {
return $item->getId();
}, $toAssociations);
}
}
}
} catch (\Exception $e) {
$this->log->error('[Hubspot] Failed to fetch associations', [
'from_object' => $fromObject,
'to_object' => $toObject,
'reason' => $e->getMessage(),
]);
}
}
return $associationData;
}
/**
* @throws \Exception
*/
private function getNoteAssociationType(NoteObject $noteObject): string
{
return match($noteObject) {
NoteObject::Opportunity => 'note_to_deal',
NoteObject::Lead, NoteObject::Contact => 'note_to_contact', // or 'note_to_lead' if your portal supports it
NoteObject::Account => 'note_to_company',
NoteObject::Call, NoteObject::Event => throw new \Exception('Not supported'),
};
}
/**
* @throws \Exception
*/
private function getNoteObject(NoteObject $noteObject): string
{
return match($noteObject) {
NoteObject::Opportunity => 'deal',
NoteObject::Lead, NoteObject::Contact => 'contact',
NoteObject::Account => 'company',
NoteObject::Call, NoteObject::Event => throw new \Exception('Not supported'),
};
}
public function addAssociations(string $objectType, string $associationType, array $payload): Response
{
$endpoint = "/crm/v4/associations/$objectType/$associationType/batch/create";
return $this->makeRequest($endpoint, 'POST', $payload);
}
public function removeAssociations(string $objectType, string $associationType, array $payload): Response
{
$endpoint = "/crm/v4/associations/$objectType/$associationType/batch/archive";
return $this->makeRequest($endpoint, 'POST', $payload);
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
2680
|
NULL
|
NULL
|
NULL
|
|
2682
|
111
|
10
|
2026-05-07T11:35:28.253102+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778153728253_m1.jpg...
|
PhpStorm
|
faVsco.js – Hubspot/Client.php
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
master, menu
Start Listen Project: faVsco.js, menu
master, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
[URL_WITH_CREDENTIALS] CrmFieldOption array{id:string, label:string, value?:string}
*/
class Client extends BaseClient implements HubspotClientInterface
{
public const string MIN_API_VERSION = '2';
public const string BASE_URL = '[URL_WITH_CREDENTIALS] T
* @param callable(): T $apiCall
* @return T
*
* @throws RateLimitException
*/
private function executeRequest(callable $apiCall)
{
if (! $this->rateLimiter->canMakeRequest($this->config)) {
$retryAfter = $this->rateLimiter->requestAvailableIn($this->config);
$this->log->warning('[Hubspot] Rate limit exceeded, deferring request', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
]);
throw new RateLimitException(
'Hubspot rate limit reached for configuration ' . $this->config->getId(),
$retryAfter,
);
}
$this->rateLimiter->incrementRequestCount($this->config);
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function isHubspotRateLimit(Throwable $e): bool
{
return method_exists($e, 'getCode') && (int) $e->getCode() === 429;
}
private function parseRetryAfter(Throwable $e): int
{
if (method_exists($e, 'getResponseHeaders')) {
$headers = $e->getResponseHeaders() ?: [];
$value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;
if (is_array($value)) {
$value = $value[0] ?? null;
}
if (is_numeric($value)) {
return (int) $value;
}
}
return 10;
}
public function getMinimumApiVersion(): string
{
return self::MIN_API_VERSION;
}
public function getInstance(): Factory
{
return new Factory([
'key' => $this->accessToken,
'oauth2' => true,
'base_url' => $this->baseUrl,
]);
}
public function getNewInstance(): Discovery
{
return \HubSpot\Factory::createWithAccessToken($this->accessToken);
}
/**
* Secondly and daily limits for Hubspot API
*
* Product Tier: Free & Starter | Professional & Enterprise | API add-on (any tier)
* Burst: 100/10 seconds | 150/10 seconds | 200/10 seconds
* Daily: 250,000 | 500,000 | 1,000,000
*
* Official documentation states: The search endpoints are rate limited to five requests per second.
* Since with 5 RPS were still hitting secondly rate limits we lowered it to 4
*/
public function getPaginatedData(array $payload, string $type, int $offset = 0): array
{
$total = 0;
$lastId = null;
$rows = [];
foreach ($this->getPaginatedDataGenerator($payload, $type, $offset, $total, $lastId) as $row) {
$rows[] = $row;
}
return ['results' => $rows, 'total' => $total, 'last_record' => $lastId];
}
/**
* @throws HubspotException
* @throws SocialAccountTokenInvalidException
* @throws BadRequest
*/
public function getPaginatedDataGenerator(
array $payload,
string $type,
int $offset = 0,
int &$total = 0,
?string &$lastRecordId = null
): \Generator {
return $this->paginationService->getPaginatedDataGenerator(
$this,
$payload,
$type,
$offset,
$total,
$lastRecordId
);
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$crmId,
implode(',', $fields),
'companies,contacts'
));
} catch (DealApiException $e) {
$this->log->info('[Hubspot] Failed to fetch opportunity', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $deal instanceof DealWithAssociations) {
throw new CrmException('Deal not found');
}
return [
'id' => $deal->getId(),
'properties' => $deal->getProperties(),
'associations' => $deal->getAssociations(),
];
}
/**
* Generic batch read method for HubSpot objects
*
* @param string $objectType The object type ('deals', 'companies', 'contacts')
* @param array<string> $crmIds Array of HubSpot object IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with object data
*/
private function batchReadObjects(string $objectType, array $crmIds, array $fields): array
{
if (empty($crmIds)) {
return [];
}
$this->validateBatchSize($objectType, $crmIds);
$this->ensureValidToken();
try {
$batchConfig = $this->createBatchConfiguration($objectType);
$batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmIds, $fields);
$response = $batchConfig['api']->read($batchReadRequest);
$this->validateApiResponse($response, $objectType);
$results = $this->processApiResults($response);
$this->logBatchResults($objectType, $crmIds, $results);
return $results;
} catch (\Throwable $e) {
$this->handleBatchError($e, $objectType, $crmIds);
}
}
private function validateBatchSize(string $objectType, array $crmIds): void
{
if (count($crmIds) > 100) {
throw new \InvalidArgumentException("Batch size cannot exceed 100 {$objectType}");
}
}
private function createBatchConfiguration(string $objectType): array
{
$configurations = [
'deals' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Deals\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Deals\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->deals()->batchApi(),
],
'companies' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Companies\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Companies\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->companies()->batchApi(),
],
'contacts' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Contacts\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->contacts()->batchApi(),
],
];
if (! isset($configurations[$objectType])) {
throw new \InvalidArgumentException("Unsupported object type: {$objectType}");
}
return $configurations[$objectType];
}
private function prepareBatchRequest(array $batchConfig, array $crmIds, array $fields): object
{
$batchReadRequest = $batchConfig['batchReadRequest'];
$inputClass = $batchConfig['inputClass'];
$inputs = array_map(function ($crmId) use ($inputClass) {
$input = new $inputClass();
$input->setId($crmId);
return $input;
}, $crmIds);
$batchReadRequest->setInputs($inputs);
$batchReadRequest->setProperties($fields);
return $batchReadRequest;
}
private function validateApiResponse($response, string $objectType): void
{
if (! $response) {
throw new CrmException("HubSpot API returned null response for {$objectType} batch read");
}
}
private function processApiResults($response): array
{
$results = [];
$responseResults = $response->getResults();
if ($responseResults) {
foreach ($responseResults as $object) {
if ($object && $object->getId()) {
$results[$object->getId()] = [
'id' => $object->getId(),
'properties' => $object->getProperties() ?: [],
];
}
}
}
return $results;
}
private function logBatchResults(string $objectType, array $crmIds, array $results): void
{
$this->log->info("[HubSpot] Batch fetched {$objectType}", [
'requested_count' => count($crmIds),
'returned_count' => count($results),
'crm_ids' => $crmIds,
]);
}
private function handleBatchError(\Throwable $e, string $objectType, array $crmIds): void
{
$errorMessage = $e->getMessage() ?: 'Unknown error';
$errorTrace = $e->getTraceAsString() ?: 'No trace available';
$this->log->error("[HubSpot] Failed to batch fetch {$objectType}", [
'crm_ids' => $crmIds,
'error' => $errorMessage,
'trace' => $errorTrace,
]);
throw new CrmException("Failed to batch fetch {$objectType}: " . $errorMessage);
}
/**
* Batch read multiple opportunities by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot deal IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with opportunity data
*/
public function getOpportunitiesByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('deals', $crmIds, $fields);
}
/**
* Batch read multiple companies by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot company IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with company data
*/
public function getCompaniesByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('companies', $crmIds, $fields);
}
/**
* Batch read multiple contacts by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot contact IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with contact data
*/
public function getContactsByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('contacts', $crmIds, $fields);
}
/**
* @throws CompanyApiException
* @throws CrmException
*/
public function getAccountById(string $crmId, array $fields): array
{
try {
$company = $this->getNewInstance()->crm()->companies()->basicApi()->getById(
$crmId,
implode(',', $fields),
);
} catch (CompanyApiException $e) {
$this->log->info('[Hubspot] Failed to fetch account', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $company instanceof CompaniesWithAssociations) {
throw new CrmException('Account not found');
}
return [
'id' => $company->getId(),
'properties' => $company->getProperties(),
];
}
/**
* @throws ContactApiException
* @throws CrmException
*/
public function getContactById(string $crmId, array $fields): array
{
try {
$contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(
$crmId,
implode(',', $fields)
);
} catch (ContactApiException $e) {
$this->log->info('[Hubspot] Failed to fetch contact', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $contact instanceof ContactsWithAssociations) {
throw new CrmException('Contact not found');
}
return [
'id' => $contact->getId(),
'properties' => $contact->getProperties(),
];
}
/**
* This is email search request that Hubspot offers as GET (more generous quota)
*/
public function getContactByEmail(string $email, array $fields = []): array
{
try {
$contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(
$email,
implode(',', $fields),
null,
false,
'email'
);
return [
'id' => $contact->getId(),
'properties' => $contact->getProperties(),
];
} catch (ContactApiException $e) {
$this->log->info('[Hubspot] Failed to fetch contact', [
'email' => $email,
'reason' => $e->getMessage(),
]);
return [];
}
}
/**
* @throws CrmException
*/
public function fetchProperty(string $objectType, string $propertyId): Property
{
$result = $this->getNewInstance()->crm()->properties()->coreApi()->getByName($objectType, $propertyId);
if (! $result instanceof Property) {
$this->log->error('[Hubspot] Failed to fetch property', [
'object_type' => $objectType,
'property_id' => $propertyId,
'reason' => $result->getMessage(),
]);
throw new CrmException('Failed to fetch property');
}
return $result;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchPropertyOptions(string $objectType, string $propertyId): array
{
/** @var array<CrmFieldOption> */
return $this->fetchProperty($objectType, $propertyId)->getOptions();
}
/**
* @return array<array{id:string, label:string, deleted:bool}>
*/
public function fetchCallDispositions(): array
{
/** @var Response $response */
$response = $this->getInstance()->engagements()->getCallDispositions();
/**
* @var array<array{
* id:string,
* label:string,
* deleted: bool
* }>
*/
return $response->toArray();
}
/**
* @return array<CrmFieldOption>
*/
public function fetchOpportunityPipelineStages(): array
{
$stages = [];
$apiResponse = $this->getNewInstance()->crm()->pipelines()->pipelinesApi()->getAll('deals');
if ($apiResponse instanceof Error) {
$this->log->error('[Hubspot] Failed to fetch opportunity pipelines', [
'reason' => $apiResponse->getMessage(),
]);
return [];
}
foreach ($apiResponse->getResults() as $pipeline) {
$pipelineStages = array_map(
static function (PipelineStage $stage) {
return [
'id' => $stage->getId(),
'label' => $stage->getLabel(),
];
},
$pipeline->getStages()
);
$stages = array_merge($stages, $pipelineStages);
}
return $stages;
}
public function fetchOpportunityPipelines(): array
{
$pipelines = [];
try {
$apiResponse = $this->makeRequest('/crm/v3/pipelines/deals');
} catch (\Exception $e) {
$this->log->info('[Hubspot] Failed to fetch opportunity pipelines', [
'reason' => $e->getMessage(),
]);
return [];
}
$response = $apiResponse->toArray();
foreach ($response['results'] as $pipeline) {
$pipelines[] = [
'id' => $pipeline['id'],
'label' => $pipeline['label'],
];
}
return $pipelines;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchMeetingOutcomeFieldOptions(Field $field): array
{
return $field->getCrmProviderId() === 'meetingOutcome'
? $this->fetchMeetingOutcomeTypes()
: $this->fetchCallActivityTypes();
}
public function fetchMeetingOutcomeTypes(): array
{
return $this->extractMeetingTypeOptions(
'[URL_WITH_CREDENTIALS] Response $response */
$response = $this->getInstance()
->getClient()
->request('GET', $endpoint);
/**
* @var array<array{
* value: string,
* label: string,
* displayOrder: int
* }> $optionData
*/
$optionData = $response->toArray()['options'] ?? [];
$options = [];
foreach ($optionData as $item) {
$options[] = [
'id' => $item['value'],
'value' => $item['value'],
'label' => $item['label'],
'display_order' => $item['displayOrder'],
];
}
return $options;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchDispositionFieldOptions(): array
{
$options = [];
$dispositions = $this->fetchCallDispositions();
foreach ($dispositions as $disposition) {
if ($disposition['deleted'] !== false) {
continue;
}
$option['value'] = $disposition['id'];
$option['id'] = $disposition['id'];
$option['label'] = $disposition['label'];
$options[] = $option;
}
return $options;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchOpportunityFieldOptions(Field $field): array
{
if ($field->isStageField()) {
return $this->fetchOpportunityPipelineStages();
}
if ($field->isPipelineField()) {
return $this->fetchOpportunityPipelines();
}
return $this->fetchPropertyOptions('deals', $field->getCrmProviderId());
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function makeRequest(string $endpoint, $method = 'GET', $payload = [], ?string $queryString = null)
{
$endpoint = self::BASE_URL . $endpoint;
if ($method === 'GET') {
$response = $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
$response = $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
$max = $response->getHeaderLine('X-HubSpot-RateLimit-Max'); // "110"
$remaining = $response->getHeaderLine('X-HubSpot-RateLimit-Remaining'); // "109"
$interval = $response->getHeaderLine('X-HubSpot-RateLimit-Interval-Milliseconds'); // "10000"
$body = json_decode((string) $response->getBody(), true);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$max ' . PHP_EOL . print_r($max, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));
return $response;
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function createMeeting(array $payload): Response
{
$endpoint = '/crm/v3/objects/meetings';
return $this->makeRequest($endpoint, 'POST', $payload);
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function updateMeeting(string $meetingId, array $payload): Response
{
$endpoint = '/crm/v3/objects/meetings/' . $meetingId;
return $this->makeRequest($endpoint, 'PATCH', $payload);
}
/**
* @throws \Exception
*/
public function createNote(
string $body,
string $ownerId,
int $timestamp,
string $objectId,
NoteObject $noteObject
): ?string {
try {
$noteInput = new SimplePublicObjectInput([
'properties' => [
'hs_note_body' => $body,
'hubspot_owner_id' => $ownerId,
'hs_timestamp' => $timestamp,
],
]);
// Create note
$note = $this->getNewInstance()->crm()->objects()->basicApi()->create('note', $noteInput);
$this->getNewInstance()->crm()->objects()->associationsApi()->create(
'note',
$note->getId(),
$this->getNoteObject($noteObject),
$objectId,
$this->getNoteAssociationType($noteObject),
);
return $note->getId();
} catch (\Exception $e) {
$this->log->error('[Hubspot] Failed to create note', [
'objectId' => $objectId,
'noteObject' => $noteObject->getObjectType(),
'reason' => $e->getMessage(),
]);
\Sentry::captureException($e);
}
return null;
}
public function updateEngagement(string $objectId, array $engagement, array $metadata): void
{
$this->getInstance()->engagements()->update($objectId, $engagement, $metadata);
}
public function getEngagementData(string $engagementId): array
{
$engagement = $this->getInstance()->engagements()->get($engagementId);
return $engagement->toArray();
}
public function createEngagement(array $engagement, array $associations, array $metadata): Response
{
return $this->getInstance()
->engagements()
->create($engagement, $associations, $metadata);
}
public function isUnauthorizedException(\Exception $e): bool
{
// Check for specific HubSpot API exception types first
if ($e instanceof BadRequest) {
// BadRequest can contain 401 status codes
return $e->getCode() === 401;
}
// Check for HTTP client exceptions with status codes
if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) {
$response = $e->getResponse();
if ($response !== null) {
return $response->getStatusCode() === 401;
}
}
// Check for Guzzle HTTP exceptions
if ($e instanceof \GuzzleHttp\Exception\ClientException) {
return $e->getCode() === 401;
}
// Fallback to string matching as last resort, but be more specific
$message = strtolower($e->getMessage());
return str_contains($message, '401 unauthorized') ||
str_contains($message, 'http 401') ||
str_contains($message, 'status code 401') ||
(preg_match('/\b401\b/', $message) && str_contains($message, 'unauthorized'));
}
/**
* Validates and refreshes the access token if needed before API requests.
* This ensures long-running processes don't fail due to token expiration.
*
* @throws SocialAccountTokenInvalidException
*/
public function ensureValidToken(): void
{
if ($this->oauthAccount === null) {
return;
}
$newToken = $this->tokenManager->ensureValidToken($this->oauthAccount);
if ($newToken !== null) {
$this->accessToken = $newToken;
}
}
public function getConfig()
{
return $this->config;
}
// returns only active (archived=false)
public function getOwners(): array
{
return $this->getNewInstance()->crm()->owners()->getAll();
}
/**
* @param bool $archived
*
* @return array<Owner>|[]
*/
public function getOwnersArchived(bool $archived = true): array
{
$endpoint = '/crm/v3/owners';
$queryParams = [
'archived' => $archived ? 'true' : 'false',
];
$queryString = http_build_query($queryParams);
$owners = [];
try {
$response = $this->makeRequest(endpoint: $endpoint, queryString: $queryString);
$responseData = $response?->toArray();
foreach ($responseData['results'] as $result) {
try {
$owners[] = Owner::create($result);
} catch (Throwable $e) {
$this->log->error('[HubSpot] Failed to process owner data', [
'result' => $result,
'error' => $e->getMessage(),
]);
continue;
}
}
} catch (Throwable $e) {
$this->log->error('HubSpot] Failed to fetch owners', [
'archived' => $archived,
'error' => $e->getMessage(),
]);
return [];
}
return $owners;
}
public function getMeeting(string $engagementId): ObjectWithAssociations
{
return $this->getNewInstance()->crm()->objects()->basicApi()
->getById('meeting', $engagementId, null, 'contact,company,deal');
}
public function deleteEngagement(string $engagementId): void
{
$this->getInstance()->engagements()->delete((int) $engagementId);
}
public function getAssociationsData(array $ids, string $fromObject, string $toObject): array
{
$associationData = [];
$idChunks = array_chunk($ids, self::ASSOCIATIONS_BATCH_SIZE_LIMIT);
foreach ($idChunks as $idChunk) {
try {
$batchInput = new \HubSpot\Client\Crm\Associations\Model\BatchInputPublicObjectId();
$batchInput->setInputs(array_map(function ($id) {
$publicObjectId = new \HubSpot\Client\Crm\Associations\Model\PublicObjectId();
$publicObjectId->setId($id);
return $publicObjectId;
}, $idChunk));
$associatedObjectsData = $this
->getNewInstance()
->crm()
->associations()
->batchApi()
->read($fromObject, $toObject, $batchInput);
if ($associatedObjectsData instanceof \HubSpot\Client\Crm\Associations\Model\BatchResponsePublicAssociationMulti) {
foreach ($associatedObjectsData->getResults() as $association) {
$from = $association->getFrom()->getId();
$toAssociations = $association->getTo();
if (! empty($toAssociations)) {
$associationData[$from] = array_map(function ($item) {
return $item->getId();
}, $toAssociations);
}
}
}
} catch (\Exception $e) {
$this->log->error('[Hubspot] Failed to fetch associations', [
'from_object' => $fromObject,
'to_object' => $toObject,
'reason' => $e->getMessage(),
]);
}
}
return $associationData;
}
/**
* @throws \Exception
*/
private function getNoteAssociationType(NoteObject $noteObject): string
{
return match($noteObject) {
NoteObject::Opportunity => 'note_to_deal',
NoteObject::Lead, NoteObject::Contact => 'note_to_contact', // or 'note_to_lead' if your portal supports it
NoteObject::Account => 'note_to_company',
NoteObject::Call, NoteObject::Event => throw new \Exception('Not supported'),
};
}
/**
* @throws \Exception
*/
private function getNoteObject(NoteObject $noteObject): string
{
return match($noteObject) {
NoteObject::Opportunity => 'deal',
NoteObject::Lead, NoteObject::Contact => 'contact',
NoteObject::Account => 'company',
NoteObject::Call, NoteObject::Event => throw new \Exception('Not supported'),
};
}
public function addAssociations(string $objectType, string $associationType, array $payload): Response
{
$endpoint = "/crm/v4/associations/$objectType/$associationType/batch/create";
return $this->makeRequest($endpoint, 'POST', $payload);
}
public function removeAssociations(string $objectType, string $associationType, array $payload): Response
{
$endpoint = "/crm/v4/associations/$objectType/$associationType/batch/archive";
return $this->makeRequest($endpoint, 'POST', $payload);
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"on_screen":true,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"master, menu","depth":5,"on_screen":true,"help_text":"Git Branch: master","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,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\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 opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","depth":4,"on_screen":true,"value":"# **************************** HS **************************************\n\nselect * from teams where id = 2; # 2\nselect * from features; # 2\nselect * from team_features where team_id = 2; # 2\nselect * from crm_configurations where id = 2; # 2\nselect * from users where team_id = 2; #\nselect * from playbooks where team_id = 2; # event 38\nselect * from playbook_categories where playbook_id = 38; #\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;\nhttps://app.hubspot.com/contacts/4392066/deal/16964514951/?engagement=96069102624\n https://app.staging.jiminny.com/playback/d5df34dc-bd66-4ff5-a7b3-8d3be30322a0\n\nSELECT * FROM activities WHERE uuid_to_bin('04fdcd0d-818f-4c53-92dc-6f18bc753ffd') = uuid;\n# 609126 softphone tr. 11241\n\nSELECT * FROM activities WHERE uuid_to_bin('6521bfcd-5a30-46e5-9f74-5440fd48befd') = uuid;\n# 608874 conference tr. 11226 crmId: 103422236596\n\nselect * from ai_prompts where transcription_id IN (11241, 11226);\nselect * from activity_summary_logs where activity_id = 608874;\n\nselect * from sidekick_settings;\nselect * from default_activity_types;\n\nselect * from crm_field_data where activity_id = 1223;\n\nselect * from crm_layouts where crm_configuration_id = 2;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id IN (554);\nselect * from crm_fields where crm_configuration_id = 11 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id IN (1455,1450);\n\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id = 971;\nSELECT * FROM crm_field_data WHERE crm_layout_entity_id IN (6494,6495,6496,6497,6498,6499);\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\n on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 2 and sa.provider = 'hubspot';\n\nselect * from social_accounts where id = 1499;\n\nselect * from opportunities where team_id = 2\nand crm_provider_id IN ('51317301383');\n\nselect * from contacts where id = 85;\n\nselect * from opportunities where team_id = 2 order by id desc;\nselect * from opportunities where team_id = 2 and crm_provider_id = '51317301383'; # 5112\nselect * from opportunities where team_id = 2 and crm_provider_id = '55976759904'; # 5112\nselect * from opportunity_contacts where opportunity_id = 5117;\nselect * from crm_field_data where object_id = 1365;\nSELECT * FROM crm_fields WHERE id IN (1405, 1407, 1972, 2128);\n\nselect * from features;\nselect * from team_features where team_id IN (1);\nselect * from team_features where feature_id IN (36);\n\nSHOW CREATE TABLE opportunity_contacts;\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '111751';\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 opportunities where team_id = 2 and crm_provider_id IN ('374720564','14527423589','49908861993','50435771779'); # 1365\nSELECT * FROM opportunity_contacts WHERE opportunity_id = '414';\nSELECT * FROM opportunity_contacts WHERE crm_provider_id = '131501';\nselect * from contacts where id in (414, 464);\n\nselect * from activities where crm_configuration_id = 2;\n\nselect settings from crm_configurations where id = 11;\n\nselect * from teams; # 1, 2\nselect * from users;\nselect * from crm_configurations where id = 39;\nselect * from team_features where team_id = 2;\nselect * from features;\n# SELECT * FROM opportunities WHERE crm_configuration_id = 2\n# order by id desc;\n# and crm_provider_id = '49908861993';\n\n\nselect * from activity_providers where id IN (443, 202, 203, 227);\n\nselect * from activity_imports where id = 795889;\n\nselect c.id, c.provider, c.settings, t.* from teams t join crm_configurations c on t.id = c.team_id\nwhere c.provider = 'hubspot';\n\nselect * from crm_configurations crm JOIN teams t on crm.team_id = t.id\nwhere provider = 'hubspot';\nSELECT * FROM teams WHERE id = 31;\nSELECT * FROM users WHERE id = 257;\nSELECT * FROM opportunities WHERE team_id = 2;\n\nselect * from opportunity_contacts where opportunity_id = 5124;\nselect * from contacts where id IN (3850,3853,3851,4073,4140,4155,4480,4530,4623,5986,513,687,1806,1523,3613)\n\nselect * from activities where crm_configuration_id = 13;\n\nSELECT * FROM activities WHERE uuid_to_bin('826619ce-ec8e-4e59-8467-a01f5f6ad71e') = uuid; # 418141\n\n\nselect id, team_id, crm_provider_id from crm_configurations where provider = 'hubspot' and crm_provider_id IS NOT NULL;\nSELECT * FROM accounts WHERE team_id = 2 and crm_provider_id = '1212213464' order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 and account_id = 5189 order by id desc;\nSELECT * FROM contacts WHERE team_id = 2 order by id desc;\nselect * from opportunity_contacts where contact_id = 6223;\nSELECT * FROM opportunities WHERE team_id = 2 and account_id = 5189 order by id desc;\n\nselect * from crm_profiles where crm_configuration_id = 2;\n\nselect * from activities where account_id = 46;","role_description":"text entry area","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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016666668,"height":0.02111111},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.021527778,"height":0.02111111},"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.025555555},"on_screen":false,"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},"on_screen":false,"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;\n\nuse HubSpot\\Client\\Crm\\Deals\\ApiException as DealApiException;\nuse HubSpot\\Client\\Crm\\Contacts\\ApiException as ContactApiException;\nuse HubSpot\\Client\\Crm\\Companies\\ApiException as CompanyApiException;\nuse HubSpot\\Client\\Crm\\Contacts\\Model\\SimplePublicObjectWithAssociations as ContactsWithAssociations;\nuse HubSpot\\Client\\Crm\\Companies\\Model\\SimplePublicObjectWithAssociations as CompaniesWithAssociations;\nuse HubSpot\\Client\\Crm\\Deals\\Model\\SimplePublicObjectWithAssociations as DealWithAssociations;\nuse HubSpot\\Client\\Crm\\Objects\\Model\\SimplePublicObjectInput;\nuse HubSpot\\Client\\Crm\\Objects\\Model\\SimplePublicObjectWithAssociations as ObjectWithAssociations;\nuse HubSpot\\Client\\Crm\\Pipelines\\Model\\Error;\nuse HubSpot\\Client\\Crm\\Pipelines\\Model\\PipelineStage;\nuse HubSpot\\Client\\Crm\\Properties\\Model\\Property;\nuse HubSpot\\Discovery\\Discovery;\nuse Jiminny\\Component\\Utility\\Service\\ProviderRateLimiter;\nuse Jiminny\\Exceptions\\CrmException;\nuse Jiminny\\Exceptions\\RateLimitException;\nuse Jiminny\\Exceptions\\SocialAccountTokenInvalidException;\nuse Jiminny\\Jobs\\Crm\\NoteObject;\nuse Jiminny\\Models\\Crm\\Field;\nuse Jiminny\\Services\\Crm\\BaseClient;\nuse Jiminny\\Services\\Crm\\Hubspot\\DTO\\Response\\Owner;\nuse Jiminny\\Services\\SocialAccountService;\nuse SevenShores\\Hubspot\\Exceptions\\BadRequest;\nuse SevenShores\\Hubspot\\Exceptions\\HubspotException;\nuse SevenShores\\Hubspot\\Factory;\nuse SevenShores\\Hubspot\\Http\\Response;\nuse Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService;\nuse Throwable;\n\n/**\n * @phpstan-type CrmFieldOption array{id:string, label:string, value?:string}\n */\nclass Client extends BaseClient implements HubspotClientInterface\n{\n public const string MIN_API_VERSION = '2';\n\n public const string BASE_URL = 'https://api.hubapi.com';\n\n public const int ASSOCIATIONS_BATCH_SIZE_LIMIT = 1000;\n\n private HubspotPaginationService $paginationService;\n private HubspotTokenManager $tokenManager;\n private ProviderRateLimiter $rateLimiter;\n\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager,\n ProviderRateLimiter $rateLimiter,\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n $this->rateLimiter = $rateLimiter;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Single entry point for every HubSpot API call. Enforces the per-portal\n * rate limit configured in the rate_limits table (morphed to the current\n * Configuration) and reacts to a real 429 from HubSpot by translating it\n * into a RateLimitException carrying Retry-After.\n *\n * Wrap any outbound HubSpot call (SDK or raw HTTP) like:\n *\n * $this->executeRequest(fn () => $this->getNewInstance()->crm()->...);\n *\n * @template T\n * @param callable(): T $apiCall\n * @return T\n *\n * @throws RateLimitException\n */\n private function executeRequest(callable $apiCall)\n {\n if (! $this->rateLimiter->canMakeRequest($this->config)) {\n $retryAfter = $this->rateLimiter->requestAvailableIn($this->config);\n\n $this->log->warning('[Hubspot] Rate limit exceeded, deferring request', [\n 'team_id' => $this->config->team_id,\n 'config_id' => $this->config->getId(),\n 'retry_after' => $retryAfter,\n ]);\n\n throw new RateLimitException(\n 'Hubspot rate limit reached for configuration ' . $this->config->getId(),\n $retryAfter,\n );\n }\n\n $this->rateLimiter->incrementRequestCount($this->config);\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n $this->log->warning('[Hubspot] Received 429 from API', [\n 'team_id' => $this->config->team_id,\n 'config_id' => $this->config->getId(),\n 'retry_after' => $retryAfter,\n 'reason' => $e->getMessage(),\n ]);\n\n throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n }\n\n throw $e;\n }\n }\n\n private function isHubspotRateLimit(Throwable $e): bool\n {\n return method_exists($e, 'getCode') && (int) $e->getCode() === 429;\n }\n\n private function parseRetryAfter(Throwable $e): int\n {\n if (method_exists($e, 'getResponseHeaders')) {\n $headers = $e->getResponseHeaders() ?: [];\n $value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;\n if (is_array($value)) {\n $value = $value[0] ?? null;\n }\n if (is_numeric($value)) {\n return (int) $value;\n }\n }\n\n return 10;\n }\n\n public function getMinimumApiVersion(): string\n {\n return self::MIN_API_VERSION;\n }\n\n public function getInstance(): Factory\n {\n return new Factory([\n 'key' => $this->accessToken,\n 'oauth2' => true,\n 'base_url' => $this->baseUrl,\n ]);\n }\n\n public function getNewInstance(): Discovery\n {\n return \\HubSpot\\Factory::createWithAccessToken($this->accessToken);\n }\n\n /**\n * Secondly and daily limits for Hubspot API\n *\n * Product Tier: Free & Starter | Professional & Enterprise | API add-on (any tier)\n * Burst: 100/10 seconds | 150/10 seconds | 200/10 seconds\n * Daily: 250,000 | 500,000 | 1,000,000\n *\n * Official documentation states: The search endpoints are rate limited to five requests per second.\n * Since with 5 RPS were still hitting secondly rate limits we lowered it to 4\n */\n public function getPaginatedData(array $payload, string $type, int $offset = 0): array\n {\n $total = 0;\n $lastId = null;\n $rows = [];\n foreach ($this->getPaginatedDataGenerator($payload, $type, $offset, $total, $lastId) as $row) {\n $rows[] = $row;\n }\n\n return ['results' => $rows, 'total' => $total, 'last_record' => $lastId];\n }\n\n /**\n * @throws HubspotException\n * @throws SocialAccountTokenInvalidException\n * @throws BadRequest\n */\n public function getPaginatedDataGenerator(\n array $payload,\n string $type,\n int $offset = 0,\n int &$total = 0,\n ?string &$lastRecordId = null\n ): \\Generator {\n return $this->paginationService->getPaginatedDataGenerator(\n $this,\n $payload,\n $type,\n $offset,\n $total,\n $lastRecordId\n );\n }\n\n /**\n * @throws DealApiException\n * @throws CrmException\n */\n public function getOpportunityById(string $crmId, array $fields): array\n {\n try {\n $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(\n $crmId,\n implode(',', $fields),\n 'companies,contacts'\n ));\n } catch (DealApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch opportunity', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $deal instanceof DealWithAssociations) {\n throw new CrmException('Deal not found');\n }\n\n return [\n 'id' => $deal->getId(),\n 'properties' => $deal->getProperties(),\n 'associations' => $deal->getAssociations(),\n ];\n }\n\n /**\n * Generic batch read method for HubSpot objects\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts')\n * @param array<string> $crmIds Array of HubSpot object IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with object data\n */\n private function batchReadObjects(string $objectType, array $crmIds, array $fields): array\n {\n if (empty($crmIds)) {\n return [];\n }\n\n $this->validateBatchSize($objectType, $crmIds);\n $this->ensureValidToken();\n\n try {\n $batchConfig = $this->createBatchConfiguration($objectType);\n $batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmIds, $fields);\n $response = $batchConfig['api']->read($batchReadRequest);\n\n $this->validateApiResponse($response, $objectType);\n\n $results = $this->processApiResults($response);\n $this->logBatchResults($objectType, $crmIds, $results);\n\n return $results;\n } catch (\\Throwable $e) {\n $this->handleBatchError($e, $objectType, $crmIds);\n }\n }\n\n private function validateBatchSize(string $objectType, array $crmIds): void\n {\n if (count($crmIds) > 100) {\n throw new \\InvalidArgumentException(\"Batch size cannot exceed 100 {$objectType}\");\n }\n }\n\n private function createBatchConfiguration(string $objectType): array\n {\n $configurations = [\n 'deals' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Deals\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Deals\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->deals()->batchApi(),\n ],\n 'companies' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Companies\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Companies\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->companies()->batchApi(),\n ],\n 'contacts' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Contacts\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Contacts\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->contacts()->batchApi(),\n ],\n ];\n\n if (! isset($configurations[$objectType])) {\n throw new \\InvalidArgumentException(\"Unsupported object type: {$objectType}\");\n }\n\n return $configurations[$objectType];\n }\n\n private function prepareBatchRequest(array $batchConfig, array $crmIds, array $fields): object\n {\n $batchReadRequest = $batchConfig['batchReadRequest'];\n $inputClass = $batchConfig['inputClass'];\n\n $inputs = array_map(function ($crmId) use ($inputClass) {\n $input = new $inputClass();\n $input->setId($crmId);\n\n return $input;\n }, $crmIds);\n\n $batchReadRequest->setInputs($inputs);\n $batchReadRequest->setProperties($fields);\n\n return $batchReadRequest;\n }\n\n private function validateApiResponse($response, string $objectType): void\n {\n if (! $response) {\n throw new CrmException(\"HubSpot API returned null response for {$objectType} batch read\");\n }\n }\n\n private function processApiResults($response): array\n {\n $results = [];\n $responseResults = $response->getResults();\n\n if ($responseResults) {\n foreach ($responseResults as $object) {\n if ($object && $object->getId()) {\n $results[$object->getId()] = [\n 'id' => $object->getId(),\n 'properties' => $object->getProperties() ?: [],\n ];\n }\n }\n }\n\n return $results;\n }\n\n private function logBatchResults(string $objectType, array $crmIds, array $results): void\n {\n $this->log->info(\"[HubSpot] Batch fetched {$objectType}\", [\n 'requested_count' => count($crmIds),\n 'returned_count' => count($results),\n 'crm_ids' => $crmIds,\n ]);\n }\n\n private function handleBatchError(\\Throwable $e, string $objectType, array $crmIds): void\n {\n $errorMessage = $e->getMessage() ?: 'Unknown error';\n $errorTrace = $e->getTraceAsString() ?: 'No trace available';\n\n $this->log->error(\"[HubSpot] Failed to batch fetch {$objectType}\", [\n 'crm_ids' => $crmIds,\n 'error' => $errorMessage,\n 'trace' => $errorTrace,\n ]);\n\n throw new CrmException(\"Failed to batch fetch {$objectType}: \" . $errorMessage);\n }\n\n /**\n * Batch read multiple opportunities by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot deal IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with opportunity data\n */\n public function getOpportunitiesByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('deals', $crmIds, $fields);\n }\n\n /**\n * Batch read multiple companies by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot company IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with company data\n */\n public function getCompaniesByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('companies', $crmIds, $fields);\n }\n\n /**\n * Batch read multiple contacts by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot contact IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with contact data\n */\n public function getContactsByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('contacts', $crmIds, $fields);\n }\n\n /**\n * @throws CompanyApiException\n * @throws CrmException\n */\n public function getAccountById(string $crmId, array $fields): array\n {\n try {\n $company = $this->getNewInstance()->crm()->companies()->basicApi()->getById(\n $crmId,\n implode(',', $fields),\n );\n } catch (CompanyApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch account', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $company instanceof CompaniesWithAssociations) {\n throw new CrmException('Account not found');\n }\n\n return [\n 'id' => $company->getId(),\n 'properties' => $company->getProperties(),\n ];\n }\n\n /**\n * @throws ContactApiException\n * @throws CrmException\n */\n public function getContactById(string $crmId, array $fields): array\n {\n try {\n $contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(\n $crmId,\n implode(',', $fields)\n );\n } catch (ContactApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch contact', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $contact instanceof ContactsWithAssociations) {\n throw new CrmException('Contact not found');\n }\n\n return [\n 'id' => $contact->getId(),\n 'properties' => $contact->getProperties(),\n ];\n }\n\n /**\n * This is email search request that Hubspot offers as GET (more generous quota)\n */\n public function getContactByEmail(string $email, array $fields = []): array\n {\n try {\n $contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(\n $email,\n implode(',', $fields),\n null,\n false,\n 'email'\n );\n\n return [\n 'id' => $contact->getId(),\n 'properties' => $contact->getProperties(),\n ];\n } catch (ContactApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch contact', [\n 'email' => $email,\n 'reason' => $e->getMessage(),\n ]);\n\n return [];\n }\n }\n\n /**\n * @throws CrmException\n */\n public function fetchProperty(string $objectType, string $propertyId): Property\n {\n $result = $this->getNewInstance()->crm()->properties()->coreApi()->getByName($objectType, $propertyId);\n\n if (! $result instanceof Property) {\n $this->log->error('[Hubspot] Failed to fetch property', [\n 'object_type' => $objectType,\n 'property_id' => $propertyId,\n 'reason' => $result->getMessage(),\n ]);\n\n throw new CrmException('Failed to fetch property');\n }\n\n return $result;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchPropertyOptions(string $objectType, string $propertyId): array\n {\n /** @var array<CrmFieldOption> */\n return $this->fetchProperty($objectType, $propertyId)->getOptions();\n }\n\n /**\n * @return array<array{id:string, label:string, deleted:bool}>\n */\n public function fetchCallDispositions(): array\n {\n /** @var Response $response */\n $response = $this->getInstance()->engagements()->getCallDispositions();\n\n /**\n * @var array<array{\n * id:string,\n * label:string,\n * deleted: bool\n * }>\n */\n return $response->toArray();\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchOpportunityPipelineStages(): array\n {\n $stages = [];\n $apiResponse = $this->getNewInstance()->crm()->pipelines()->pipelinesApi()->getAll('deals');\n\n if ($apiResponse instanceof Error) {\n $this->log->error('[Hubspot] Failed to fetch opportunity pipelines', [\n 'reason' => $apiResponse->getMessage(),\n ]);\n\n return [];\n }\n\n foreach ($apiResponse->getResults() as $pipeline) {\n $pipelineStages = array_map(\n static function (PipelineStage $stage) {\n return [\n 'id' => $stage->getId(),\n 'label' => $stage->getLabel(),\n ];\n },\n $pipeline->getStages()\n );\n\n $stages = array_merge($stages, $pipelineStages);\n }\n\n return $stages;\n }\n\n public function fetchOpportunityPipelines(): array\n {\n $pipelines = [];\n\n try {\n $apiResponse = $this->makeRequest('/crm/v3/pipelines/deals');\n } catch (\\Exception $e) {\n $this->log->info('[Hubspot] Failed to fetch opportunity pipelines', [\n 'reason' => $e->getMessage(),\n ]);\n\n return [];\n }\n\n $response = $apiResponse->toArray();\n\n foreach ($response['results'] as $pipeline) {\n $pipelines[] = [\n 'id' => $pipeline['id'],\n 'label' => $pipeline['label'],\n ];\n }\n\n return $pipelines;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchMeetingOutcomeFieldOptions(Field $field): array\n {\n return $field->getCrmProviderId() === 'meetingOutcome'\n ? $this->fetchMeetingOutcomeTypes()\n : $this->fetchCallActivityTypes();\n }\n\n public function fetchMeetingOutcomeTypes(): array\n {\n return $this->extractMeetingTypeOptions(\n 'https://api.hubapi.com/crm/v3/properties/meeting/hs_meeting_outcome'\n );\n }\n\n public function fetchCallActivityTypes(): array\n {\n return $this->extractMeetingTypeOptions(\n 'https://api.hubapi.com/crm/v3/properties/call/hs_activity_type'\n );\n }\n\n private function extractMeetingTypeOptions(string $endpoint): array\n {\n /** @var Response $response */\n $response = $this->getInstance()\n ->getClient()\n ->request('GET', $endpoint);\n\n /**\n * @var array<array{\n * value: string,\n * label: string,\n * displayOrder: int\n * }> $optionData\n */\n $optionData = $response->toArray()['options'] ?? [];\n\n $options = [];\n foreach ($optionData as $item) {\n $options[] = [\n 'id' => $item['value'],\n 'value' => $item['value'],\n 'label' => $item['label'],\n 'display_order' => $item['displayOrder'],\n ];\n }\n\n return $options;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchDispositionFieldOptions(): array\n {\n $options = [];\n\n $dispositions = $this->fetchCallDispositions();\n\n foreach ($dispositions as $disposition) {\n if ($disposition['deleted'] !== false) {\n continue;\n }\n\n $option['value'] = $disposition['id'];\n $option['id'] = $disposition['id'];\n $option['label'] = $disposition['label'];\n\n $options[] = $option;\n }\n\n return $options;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchOpportunityFieldOptions(Field $field): array\n {\n if ($field->isStageField()) {\n return $this->fetchOpportunityPipelineStages();\n }\n\n if ($field->isPipelineField()) {\n return $this->fetchOpportunityPipelines();\n }\n\n return $this->fetchPropertyOptions('deals', $field->getCrmProviderId());\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function makeRequest(string $endpoint, $method = 'GET', $payload = [], ?string $queryString = null)\n {\n $endpoint = self::BASE_URL . $endpoint;\n\n if ($method === 'GET') {\n $response = $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n $response = $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\n \n $max = $response->getHeaderLine('X-HubSpot-RateLimit-Max'); // \"110\"\n $remaining = $response->getHeaderLine('X-HubSpot-RateLimit-Remaining'); // \"109\"\n $interval = $response->getHeaderLine('X-HubSpot-RateLimit-Interval-Milliseconds'); // \"10000\"\n $body = json_decode((string) $response->getBody(), true);\n \n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$max ' . PHP_EOL . print_r($max, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));\n \n return $response;\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function createMeeting(array $payload): Response\n {\n $endpoint = '/crm/v3/objects/meetings';\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function updateMeeting(string $meetingId, array $payload): Response\n {\n $endpoint = '/crm/v3/objects/meetings/' . $meetingId;\n\n return $this->makeRequest($endpoint, 'PATCH', $payload);\n }\n\n /**\n * @throws \\Exception\n */\n public function createNote(\n string $body,\n string $ownerId,\n int $timestamp,\n string $objectId,\n NoteObject $noteObject\n ): ?string {\n try {\n $noteInput = new SimplePublicObjectInput([\n 'properties' => [\n 'hs_note_body' => $body,\n 'hubspot_owner_id' => $ownerId,\n 'hs_timestamp' => $timestamp,\n ],\n ]);\n\n // Create note\n $note = $this->getNewInstance()->crm()->objects()->basicApi()->create('note', $noteInput);\n\n $this->getNewInstance()->crm()->objects()->associationsApi()->create(\n 'note',\n $note->getId(),\n $this->getNoteObject($noteObject),\n $objectId,\n $this->getNoteAssociationType($noteObject),\n );\n\n return $note->getId();\n } catch (\\Exception $e) {\n $this->log->error('[Hubspot] Failed to create note', [\n 'objectId' => $objectId,\n 'noteObject' => $noteObject->getObjectType(),\n 'reason' => $e->getMessage(),\n ]);\n\n \\Sentry::captureException($e);\n }\n\n return null;\n }\n\n public function updateEngagement(string $objectId, array $engagement, array $metadata): void\n {\n $this->getInstance()->engagements()->update($objectId, $engagement, $metadata);\n }\n\n public function getEngagementData(string $engagementId): array\n {\n $engagement = $this->getInstance()->engagements()->get($engagementId);\n\n return $engagement->toArray();\n }\n\n public function createEngagement(array $engagement, array $associations, array $metadata): Response\n {\n return $this->getInstance()\n ->engagements()\n ->create($engagement, $associations, $metadata);\n }\n\n public function isUnauthorizedException(\\Exception $e): bool\n {\n // Check for specific HubSpot API exception types first\n if ($e instanceof BadRequest) {\n // BadRequest can contain 401 status codes\n return $e->getCode() === 401;\n }\n\n // Check for HTTP client exceptions with status codes\n if ($e instanceof \\GuzzleHttp\\Exception\\RequestException && $e->hasResponse()) {\n $response = $e->getResponse();\n if ($response !== null) {\n return $response->getStatusCode() === 401;\n }\n }\n\n // Check for Guzzle HTTP exceptions\n if ($e instanceof \\GuzzleHttp\\Exception\\ClientException) {\n return $e->getCode() === 401;\n }\n\n // Fallback to string matching as last resort, but be more specific\n $message = strtolower($e->getMessage());\n\n return str_contains($message, '401 unauthorized') ||\n str_contains($message, 'http 401') ||\n str_contains($message, 'status code 401') ||\n (preg_match('/\\b401\\b/', $message) && str_contains($message, 'unauthorized'));\n }\n\n /**\n * Validates and refreshes the access token if needed before API requests.\n * This ensures long-running processes don't fail due to token expiration.\n *\n * @throws SocialAccountTokenInvalidException\n */\n public function ensureValidToken(): void\n {\n if ($this->oauthAccount === null) {\n return;\n }\n\n $newToken = $this->tokenManager->ensureValidToken($this->oauthAccount);\n if ($newToken !== null) {\n $this->accessToken = $newToken;\n }\n }\n\n public function getConfig()\n {\n return $this->config;\n }\n\n // returns only active (archived=false)\n public function getOwners(): array\n {\n return $this->getNewInstance()->crm()->owners()->getAll();\n }\n\n /**\n * @param bool $archived\n *\n * @return array<Owner>|[]\n */\n public function getOwnersArchived(bool $archived = true): array\n {\n $endpoint = '/crm/v3/owners';\n $queryParams = [\n 'archived' => $archived ? 'true' : 'false',\n ];\n $queryString = http_build_query($queryParams);\n\n $owners = [];\n\n try {\n $response = $this->makeRequest(endpoint: $endpoint, queryString: $queryString);\n $responseData = $response?->toArray();\n\n foreach ($responseData['results'] as $result) {\n try {\n $owners[] = Owner::create($result);\n } catch (Throwable $e) {\n $this->log->error('[HubSpot] Failed to process owner data', [\n 'result' => $result,\n 'error' => $e->getMessage(),\n ]);\n\n continue;\n }\n }\n } catch (Throwable $e) {\n $this->log->error('HubSpot] Failed to fetch owners', [\n 'archived' => $archived,\n 'error' => $e->getMessage(),\n ]);\n\n return [];\n }\n\n return $owners;\n }\n\n public function getMeeting(string $engagementId): ObjectWithAssociations\n {\n return $this->getNewInstance()->crm()->objects()->basicApi()\n ->getById('meeting', $engagementId, null, 'contact,company,deal');\n }\n\n public function deleteEngagement(string $engagementId): void\n {\n $this->getInstance()->engagements()->delete((int) $engagementId);\n }\n\n public function getAssociationsData(array $ids, string $fromObject, string $toObject): array\n {\n $associationData = [];\n $idChunks = array_chunk($ids, self::ASSOCIATIONS_BATCH_SIZE_LIMIT);\n\n foreach ($idChunks as $idChunk) {\n try {\n $batchInput = new \\HubSpot\\Client\\Crm\\Associations\\Model\\BatchInputPublicObjectId();\n $batchInput->setInputs(array_map(function ($id) {\n $publicObjectId = new \\HubSpot\\Client\\Crm\\Associations\\Model\\PublicObjectId();\n $publicObjectId->setId($id);\n\n return $publicObjectId;\n }, $idChunk));\n\n $associatedObjectsData = $this\n ->getNewInstance()\n ->crm()\n ->associations()\n ->batchApi()\n ->read($fromObject, $toObject, $batchInput);\n\n if ($associatedObjectsData instanceof \\HubSpot\\Client\\Crm\\Associations\\Model\\BatchResponsePublicAssociationMulti) {\n foreach ($associatedObjectsData->getResults() as $association) {\n $from = $association->getFrom()->getId();\n $toAssociations = $association->getTo();\n\n if (! empty($toAssociations)) {\n $associationData[$from] = array_map(function ($item) {\n return $item->getId();\n }, $toAssociations);\n }\n }\n }\n } catch (\\Exception $e) {\n $this->log->error('[Hubspot] Failed to fetch associations', [\n 'from_object' => $fromObject,\n 'to_object' => $toObject,\n 'reason' => $e->getMessage(),\n ]);\n }\n }\n\n return $associationData;\n }\n\n /**\n * @throws \\Exception\n */\n private function getNoteAssociationType(NoteObject $noteObject): string\n {\n return match($noteObject) {\n NoteObject::Opportunity => 'note_to_deal',\n NoteObject::Lead, NoteObject::Contact => 'note_to_contact', // or 'note_to_lead' if your portal supports it\n NoteObject::Account => 'note_to_company',\n NoteObject::Call, NoteObject::Event => throw new \\Exception('Not supported'),\n };\n }\n\n /**\n * @throws \\Exception\n */\n private function getNoteObject(NoteObject $noteObject): string\n {\n return match($noteObject) {\n NoteObject::Opportunity => 'deal',\n NoteObject::Lead, NoteObject::Contact => 'contact',\n NoteObject::Account => 'company',\n NoteObject::Call, NoteObject::Event => throw new \\Exception('Not supported'),\n };\n }\n\n public function addAssociations(string $objectType, string $associationType, array $payload): Response\n {\n $endpoint = \"/crm/v4/associations/$objectType/$associationType/batch/create\";\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n\n public function removeAssociations(string $objectType, string $associationType, array $payload): Response\n {\n $endpoint = \"/crm/v4/associations/$objectType/$associationType/batch/archive\";\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Services\\Crm\\Hubspot;\n\nuse HubSpot\\Client\\Crm\\Deals\\ApiException as DealApiException;\nuse HubSpot\\Client\\Crm\\Contacts\\ApiException as ContactApiException;\nuse HubSpot\\Client\\Crm\\Companies\\ApiException as CompanyApiException;\nuse HubSpot\\Client\\Crm\\Contacts\\Model\\SimplePublicObjectWithAssociations as ContactsWithAssociations;\nuse HubSpot\\Client\\Crm\\Companies\\Model\\SimplePublicObjectWithAssociations as CompaniesWithAssociations;\nuse HubSpot\\Client\\Crm\\Deals\\Model\\SimplePublicObjectWithAssociations as DealWithAssociations;\nuse HubSpot\\Client\\Crm\\Objects\\Model\\SimplePublicObjectInput;\nuse HubSpot\\Client\\Crm\\Objects\\Model\\SimplePublicObjectWithAssociations as ObjectWithAssociations;\nuse HubSpot\\Client\\Crm\\Pipelines\\Model\\Error;\nuse HubSpot\\Client\\Crm\\Pipelines\\Model\\PipelineStage;\nuse HubSpot\\Client\\Crm\\Properties\\Model\\Property;\nuse HubSpot\\Discovery\\Discovery;\nuse Jiminny\\Component\\Utility\\Service\\ProviderRateLimiter;\nuse Jiminny\\Exceptions\\CrmException;\nuse Jiminny\\Exceptions\\RateLimitException;\nuse Jiminny\\Exceptions\\SocialAccountTokenInvalidException;\nuse Jiminny\\Jobs\\Crm\\NoteObject;\nuse Jiminny\\Models\\Crm\\Field;\nuse Jiminny\\Services\\Crm\\BaseClient;\nuse Jiminny\\Services\\Crm\\Hubspot\\DTO\\Response\\Owner;\nuse Jiminny\\Services\\SocialAccountService;\nuse SevenShores\\Hubspot\\Exceptions\\BadRequest;\nuse SevenShores\\Hubspot\\Exceptions\\HubspotException;\nuse SevenShores\\Hubspot\\Factory;\nuse SevenShores\\Hubspot\\Http\\Response;\nuse Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService;\nuse Throwable;\n\n/**\n * @phpstan-type CrmFieldOption array{id:string, label:string, value?:string}\n */\nclass Client extends BaseClient implements HubspotClientInterface\n{\n public const string MIN_API_VERSION = '2';\n\n public const string BASE_URL = 'https://api.hubapi.com';\n\n public const int ASSOCIATIONS_BATCH_SIZE_LIMIT = 1000;\n\n private HubspotPaginationService $paginationService;\n private HubspotTokenManager $tokenManager;\n private ProviderRateLimiter $rateLimiter;\n\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager,\n ProviderRateLimiter $rateLimiter,\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n $this->rateLimiter = $rateLimiter;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Single entry point for every HubSpot API call. Enforces the per-portal\n * rate limit configured in the rate_limits table (morphed to the current\n * Configuration) and reacts to a real 429 from HubSpot by translating it\n * into a RateLimitException carrying Retry-After.\n *\n * Wrap any outbound HubSpot call (SDK or raw HTTP) like:\n *\n * $this->executeRequest(fn () => $this->getNewInstance()->crm()->...);\n *\n * @template T\n * @param callable(): T $apiCall\n * @return T\n *\n * @throws RateLimitException\n */\n private function executeRequest(callable $apiCall)\n {\n if (! $this->rateLimiter->canMakeRequest($this->config)) {\n $retryAfter = $this->rateLimiter->requestAvailableIn($this->config);\n\n $this->log->warning('[Hubspot] Rate limit exceeded, deferring request', [\n 'team_id' => $this->config->team_id,\n 'config_id' => $this->config->getId(),\n 'retry_after' => $retryAfter,\n ]);\n\n throw new RateLimitException(\n 'Hubspot rate limit reached for configuration ' . $this->config->getId(),\n $retryAfter,\n );\n }\n\n $this->rateLimiter->incrementRequestCount($this->config);\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n $this->log->warning('[Hubspot] Received 429 from API', [\n 'team_id' => $this->config->team_id,\n 'config_id' => $this->config->getId(),\n 'retry_after' => $retryAfter,\n 'reason' => $e->getMessage(),\n ]);\n\n throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n }\n\n throw $e;\n }\n }\n\n private function isHubspotRateLimit(Throwable $e): bool\n {\n return method_exists($e, 'getCode') && (int) $e->getCode() === 429;\n }\n\n private function parseRetryAfter(Throwable $e): int\n {\n if (method_exists($e, 'getResponseHeaders')) {\n $headers = $e->getResponseHeaders() ?: [];\n $value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;\n if (is_array($value)) {\n $value = $value[0] ?? null;\n }\n if (is_numeric($value)) {\n return (int) $value;\n }\n }\n\n return 10;\n }\n\n public function getMinimumApiVersion(): string\n {\n return self::MIN_API_VERSION;\n }\n\n public function getInstance(): Factory\n {\n return new Factory([\n 'key' => $this->accessToken,\n 'oauth2' => true,\n 'base_url' => $this->baseUrl,\n ]);\n }\n\n public function getNewInstance(): Discovery\n {\n return \\HubSpot\\Factory::createWithAccessToken($this->accessToken);\n }\n\n /**\n * Secondly and daily limits for Hubspot API\n *\n * Product Tier: Free & Starter | Professional & Enterprise | API add-on (any tier)\n * Burst: 100/10 seconds | 150/10 seconds | 200/10 seconds\n * Daily: 250,000 | 500,000 | 1,000,000\n *\n * Official documentation states: The search endpoints are rate limited to five requests per second.\n * Since with 5 RPS were still hitting secondly rate limits we lowered it to 4\n */\n public function getPaginatedData(array $payload, string $type, int $offset = 0): array\n {\n $total = 0;\n $lastId = null;\n $rows = [];\n foreach ($this->getPaginatedDataGenerator($payload, $type, $offset, $total, $lastId) as $row) {\n $rows[] = $row;\n }\n\n return ['results' => $rows, 'total' => $total, 'last_record' => $lastId];\n }\n\n /**\n * @throws HubspotException\n * @throws SocialAccountTokenInvalidException\n * @throws BadRequest\n */\n public function getPaginatedDataGenerator(\n array $payload,\n string $type,\n int $offset = 0,\n int &$total = 0,\n ?string &$lastRecordId = null\n ): \\Generator {\n return $this->paginationService->getPaginatedDataGenerator(\n $this,\n $payload,\n $type,\n $offset,\n $total,\n $lastRecordId\n );\n }\n\n /**\n * @throws DealApiException\n * @throws CrmException\n */\n public function getOpportunityById(string $crmId, array $fields): array\n {\n try {\n $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(\n $crmId,\n implode(',', $fields),\n 'companies,contacts'\n ));\n } catch (DealApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch opportunity', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $deal instanceof DealWithAssociations) {\n throw new CrmException('Deal not found');\n }\n\n return [\n 'id' => $deal->getId(),\n 'properties' => $deal->getProperties(),\n 'associations' => $deal->getAssociations(),\n ];\n }\n\n /**\n * Generic batch read method for HubSpot objects\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts')\n * @param array<string> $crmIds Array of HubSpot object IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with object data\n */\n private function batchReadObjects(string $objectType, array $crmIds, array $fields): array\n {\n if (empty($crmIds)) {\n return [];\n }\n\n $this->validateBatchSize($objectType, $crmIds);\n $this->ensureValidToken();\n\n try {\n $batchConfig = $this->createBatchConfiguration($objectType);\n $batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmIds, $fields);\n $response = $batchConfig['api']->read($batchReadRequest);\n\n $this->validateApiResponse($response, $objectType);\n\n $results = $this->processApiResults($response);\n $this->logBatchResults($objectType, $crmIds, $results);\n\n return $results;\n } catch (\\Throwable $e) {\n $this->handleBatchError($e, $objectType, $crmIds);\n }\n }\n\n private function validateBatchSize(string $objectType, array $crmIds): void\n {\n if (count($crmIds) > 100) {\n throw new \\InvalidArgumentException(\"Batch size cannot exceed 100 {$objectType}\");\n }\n }\n\n private function createBatchConfiguration(string $objectType): array\n {\n $configurations = [\n 'deals' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Deals\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Deals\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->deals()->batchApi(),\n ],\n 'companies' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Companies\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Companies\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->companies()->batchApi(),\n ],\n 'contacts' => [\n 'batchReadRequest' => new \\HubSpot\\Client\\Crm\\Contacts\\Model\\BatchReadInputSimplePublicObjectId(),\n 'inputClass' => \\HubSpot\\Client\\Crm\\Contacts\\Model\\SimplePublicObjectId::class,\n 'api' => $this->getNewInstance()->crm()->contacts()->batchApi(),\n ],\n ];\n\n if (! isset($configurations[$objectType])) {\n throw new \\InvalidArgumentException(\"Unsupported object type: {$objectType}\");\n }\n\n return $configurations[$objectType];\n }\n\n private function prepareBatchRequest(array $batchConfig, array $crmIds, array $fields): object\n {\n $batchReadRequest = $batchConfig['batchReadRequest'];\n $inputClass = $batchConfig['inputClass'];\n\n $inputs = array_map(function ($crmId) use ($inputClass) {\n $input = new $inputClass();\n $input->setId($crmId);\n\n return $input;\n }, $crmIds);\n\n $batchReadRequest->setInputs($inputs);\n $batchReadRequest->setProperties($fields);\n\n return $batchReadRequest;\n }\n\n private function validateApiResponse($response, string $objectType): void\n {\n if (! $response) {\n throw new CrmException(\"HubSpot API returned null response for {$objectType} batch read\");\n }\n }\n\n private function processApiResults($response): array\n {\n $results = [];\n $responseResults = $response->getResults();\n\n if ($responseResults) {\n foreach ($responseResults as $object) {\n if ($object && $object->getId()) {\n $results[$object->getId()] = [\n 'id' => $object->getId(),\n 'properties' => $object->getProperties() ?: [],\n ];\n }\n }\n }\n\n return $results;\n }\n\n private function logBatchResults(string $objectType, array $crmIds, array $results): void\n {\n $this->log->info(\"[HubSpot] Batch fetched {$objectType}\", [\n 'requested_count' => count($crmIds),\n 'returned_count' => count($results),\n 'crm_ids' => $crmIds,\n ]);\n }\n\n private function handleBatchError(\\Throwable $e, string $objectType, array $crmIds): void\n {\n $errorMessage = $e->getMessage() ?: 'Unknown error';\n $errorTrace = $e->getTraceAsString() ?: 'No trace available';\n\n $this->log->error(\"[HubSpot] Failed to batch fetch {$objectType}\", [\n 'crm_ids' => $crmIds,\n 'error' => $errorMessage,\n 'trace' => $errorTrace,\n ]);\n\n throw new CrmException(\"Failed to batch fetch {$objectType}: \" . $errorMessage);\n }\n\n /**\n * Batch read multiple opportunities by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot deal IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with opportunity data\n */\n public function getOpportunitiesByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('deals', $crmIds, $fields);\n }\n\n /**\n * Batch read multiple companies by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot company IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with company data\n */\n public function getCompaniesByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('companies', $crmIds, $fields);\n }\n\n /**\n * Batch read multiple contacts by their CRM IDs\n *\n * @param array<string> $crmIds Array of HubSpot contact IDs (max 100)\n * @param array<string> $fields Array of property names to fetch\n *\n * @return array<string, array> Array keyed by CRM ID with contact data\n */\n public function getContactsByIds(array $crmIds, array $fields): array\n {\n return $this->batchReadObjects('contacts', $crmIds, $fields);\n }\n\n /**\n * @throws CompanyApiException\n * @throws CrmException\n */\n public function getAccountById(string $crmId, array $fields): array\n {\n try {\n $company = $this->getNewInstance()->crm()->companies()->basicApi()->getById(\n $crmId,\n implode(',', $fields),\n );\n } catch (CompanyApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch account', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $company instanceof CompaniesWithAssociations) {\n throw new CrmException('Account not found');\n }\n\n return [\n 'id' => $company->getId(),\n 'properties' => $company->getProperties(),\n ];\n }\n\n /**\n * @throws ContactApiException\n * @throws CrmException\n */\n public function getContactById(string $crmId, array $fields): array\n {\n try {\n $contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(\n $crmId,\n implode(',', $fields)\n );\n } catch (ContactApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch contact', [\n 'crm_id' => $crmId,\n 'reason' => $e->getMessage(),\n ]);\n\n throw $e;\n }\n\n if (! $contact instanceof ContactsWithAssociations) {\n throw new CrmException('Contact not found');\n }\n\n return [\n 'id' => $contact->getId(),\n 'properties' => $contact->getProperties(),\n ];\n }\n\n /**\n * This is email search request that Hubspot offers as GET (more generous quota)\n */\n public function getContactByEmail(string $email, array $fields = []): array\n {\n try {\n $contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(\n $email,\n implode(',', $fields),\n null,\n false,\n 'email'\n );\n\n return [\n 'id' => $contact->getId(),\n 'properties' => $contact->getProperties(),\n ];\n } catch (ContactApiException $e) {\n $this->log->info('[Hubspot] Failed to fetch contact', [\n 'email' => $email,\n 'reason' => $e->getMessage(),\n ]);\n\n return [];\n }\n }\n\n /**\n * @throws CrmException\n */\n public function fetchProperty(string $objectType, string $propertyId): Property\n {\n $result = $this->getNewInstance()->crm()->properties()->coreApi()->getByName($objectType, $propertyId);\n\n if (! $result instanceof Property) {\n $this->log->error('[Hubspot] Failed to fetch property', [\n 'object_type' => $objectType,\n 'property_id' => $propertyId,\n 'reason' => $result->getMessage(),\n ]);\n\n throw new CrmException('Failed to fetch property');\n }\n\n return $result;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchPropertyOptions(string $objectType, string $propertyId): array\n {\n /** @var array<CrmFieldOption> */\n return $this->fetchProperty($objectType, $propertyId)->getOptions();\n }\n\n /**\n * @return array<array{id:string, label:string, deleted:bool}>\n */\n public function fetchCallDispositions(): array\n {\n /** @var Response $response */\n $response = $this->getInstance()->engagements()->getCallDispositions();\n\n /**\n * @var array<array{\n * id:string,\n * label:string,\n * deleted: bool\n * }>\n */\n return $response->toArray();\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchOpportunityPipelineStages(): array\n {\n $stages = [];\n $apiResponse = $this->getNewInstance()->crm()->pipelines()->pipelinesApi()->getAll('deals');\n\n if ($apiResponse instanceof Error) {\n $this->log->error('[Hubspot] Failed to fetch opportunity pipelines', [\n 'reason' => $apiResponse->getMessage(),\n ]);\n\n return [];\n }\n\n foreach ($apiResponse->getResults() as $pipeline) {\n $pipelineStages = array_map(\n static function (PipelineStage $stage) {\n return [\n 'id' => $stage->getId(),\n 'label' => $stage->getLabel(),\n ];\n },\n $pipeline->getStages()\n );\n\n $stages = array_merge($stages, $pipelineStages);\n }\n\n return $stages;\n }\n\n public function fetchOpportunityPipelines(): array\n {\n $pipelines = [];\n\n try {\n $apiResponse = $this->makeRequest('/crm/v3/pipelines/deals');\n } catch (\\Exception $e) {\n $this->log->info('[Hubspot] Failed to fetch opportunity pipelines', [\n 'reason' => $e->getMessage(),\n ]);\n\n return [];\n }\n\n $response = $apiResponse->toArray();\n\n foreach ($response['results'] as $pipeline) {\n $pipelines[] = [\n 'id' => $pipeline['id'],\n 'label' => $pipeline['label'],\n ];\n }\n\n return $pipelines;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchMeetingOutcomeFieldOptions(Field $field): array\n {\n return $field->getCrmProviderId() === 'meetingOutcome'\n ? $this->fetchMeetingOutcomeTypes()\n : $this->fetchCallActivityTypes();\n }\n\n public function fetchMeetingOutcomeTypes(): array\n {\n return $this->extractMeetingTypeOptions(\n 'https://api.hubapi.com/crm/v3/properties/meeting/hs_meeting_outcome'\n );\n }\n\n public function fetchCallActivityTypes(): array\n {\n return $this->extractMeetingTypeOptions(\n 'https://api.hubapi.com/crm/v3/properties/call/hs_activity_type'\n );\n }\n\n private function extractMeetingTypeOptions(string $endpoint): array\n {\n /** @var Response $response */\n $response = $this->getInstance()\n ->getClient()\n ->request('GET', $endpoint);\n\n /**\n * @var array<array{\n * value: string,\n * label: string,\n * displayOrder: int\n * }> $optionData\n */\n $optionData = $response->toArray()['options'] ?? [];\n\n $options = [];\n foreach ($optionData as $item) {\n $options[] = [\n 'id' => $item['value'],\n 'value' => $item['value'],\n 'label' => $item['label'],\n 'display_order' => $item['displayOrder'],\n ];\n }\n\n return $options;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchDispositionFieldOptions(): array\n {\n $options = [];\n\n $dispositions = $this->fetchCallDispositions();\n\n foreach ($dispositions as $disposition) {\n if ($disposition['deleted'] !== false) {\n continue;\n }\n\n $option['value'] = $disposition['id'];\n $option['id'] = $disposition['id'];\n $option['label'] = $disposition['label'];\n\n $options[] = $option;\n }\n\n return $options;\n }\n\n /**\n * @return array<CrmFieldOption>\n */\n public function fetchOpportunityFieldOptions(Field $field): array\n {\n if ($field->isStageField()) {\n return $this->fetchOpportunityPipelineStages();\n }\n\n if ($field->isPipelineField()) {\n return $this->fetchOpportunityPipelines();\n }\n\n return $this->fetchPropertyOptions('deals', $field->getCrmProviderId());\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function makeRequest(string $endpoint, $method = 'GET', $payload = [], ?string $queryString = null)\n {\n $endpoint = self::BASE_URL . $endpoint;\n\n if ($method === 'GET') {\n $response = $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n $response = $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\n \n $max = $response->getHeaderLine('X-HubSpot-RateLimit-Max'); // \"110\"\n $remaining = $response->getHeaderLine('X-HubSpot-RateLimit-Remaining'); // \"109\"\n $interval = $response->getHeaderLine('X-HubSpot-RateLimit-Interval-Milliseconds'); // \"10000\"\n $body = json_decode((string) $response->getBody(), true);\n \n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$max ' . PHP_EOL . print_r($max, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));\n \n return $response;\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function createMeeting(array $payload): Response\n {\n $endpoint = '/crm/v3/objects/meetings';\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n\n /**\n * @throws BadRequest\n * @throws HubspotException\n */\n public function updateMeeting(string $meetingId, array $payload): Response\n {\n $endpoint = '/crm/v3/objects/meetings/' . $meetingId;\n\n return $this->makeRequest($endpoint, 'PATCH', $payload);\n }\n\n /**\n * @throws \\Exception\n */\n public function createNote(\n string $body,\n string $ownerId,\n int $timestamp,\n string $objectId,\n NoteObject $noteObject\n ): ?string {\n try {\n $noteInput = new SimplePublicObjectInput([\n 'properties' => [\n 'hs_note_body' => $body,\n 'hubspot_owner_id' => $ownerId,\n 'hs_timestamp' => $timestamp,\n ],\n ]);\n\n // Create note\n $note = $this->getNewInstance()->crm()->objects()->basicApi()->create('note', $noteInput);\n\n $this->getNewInstance()->crm()->objects()->associationsApi()->create(\n 'note',\n $note->getId(),\n $this->getNoteObject($noteObject),\n $objectId,\n $this->getNoteAssociationType($noteObject),\n );\n\n return $note->getId();\n } catch (\\Exception $e) {\n $this->log->error('[Hubspot] Failed to create note', [\n 'objectId' => $objectId,\n 'noteObject' => $noteObject->getObjectType(),\n 'reason' => $e->getMessage(),\n ]);\n\n \\Sentry::captureException($e);\n }\n\n return null;\n }\n\n public function updateEngagement(string $objectId, array $engagement, array $metadata): void\n {\n $this->getInstance()->engagements()->update($objectId, $engagement, $metadata);\n }\n\n public function getEngagementData(string $engagementId): array\n {\n $engagement = $this->getInstance()->engagements()->get($engagementId);\n\n return $engagement->toArray();\n }\n\n public function createEngagement(array $engagement, array $associations, array $metadata): Response\n {\n return $this->getInstance()\n ->engagements()\n ->create($engagement, $associations, $metadata);\n }\n\n public function isUnauthorizedException(\\Exception $e): bool\n {\n // Check for specific HubSpot API exception types first\n if ($e instanceof BadRequest) {\n // BadRequest can contain 401 status codes\n return $e->getCode() === 401;\n }\n\n // Check for HTTP client exceptions with status codes\n if ($e instanceof \\GuzzleHttp\\Exception\\RequestException && $e->hasResponse()) {\n $response = $e->getResponse();\n if ($response !== null) {\n return $response->getStatusCode() === 401;\n }\n }\n\n // Check for Guzzle HTTP exceptions\n if ($e instanceof \\GuzzleHttp\\Exception\\ClientException) {\n return $e->getCode() === 401;\n }\n\n // Fallback to string matching as last resort, but be more specific\n $message = strtolower($e->getMessage());\n\n return str_contains($message, '401 unauthorized') ||\n str_contains($message, 'http 401') ||\n str_contains($message, 'status code 401') ||\n (preg_match('/\\b401\\b/', $message) && str_contains($message, 'unauthorized'));\n }\n\n /**\n * Validates and refreshes the access token if needed before API requests.\n * This ensures long-running processes don't fail due to token expiration.\n *\n * @throws SocialAccountTokenInvalidException\n */\n public function ensureValidToken(): void\n {\n if ($this->oauthAccount === null) {\n return;\n }\n\n $newToken = $this->tokenManager->ensureValidToken($this->oauthAccount);\n if ($newToken !== null) {\n $this->accessToken = $newToken;\n }\n }\n\n public function getConfig()\n {\n return $this->config;\n }\n\n // returns only active (archived=false)\n public function getOwners(): array\n {\n return $this->getNewInstance()->crm()->owners()->getAll();\n }\n\n /**\n * @param bool $archived\n *\n * @return array<Owner>|[]\n */\n public function getOwnersArchived(bool $archived = true): array\n {\n $endpoint = '/crm/v3/owners';\n $queryParams = [\n 'archived' => $archived ? 'true' : 'false',\n ];\n $queryString = http_build_query($queryParams);\n\n $owners = [];\n\n try {\n $response = $this->makeRequest(endpoint: $endpoint, queryString: $queryString);\n $responseData = $response?->toArray();\n\n foreach ($responseData['results'] as $result) {\n try {\n $owners[] = Owner::create($result);\n } catch (Throwable $e) {\n $this->log->error('[HubSpot] Failed to process owner data', [\n 'result' => $result,\n 'error' => $e->getMessage(),\n ]);\n\n continue;\n }\n }\n } catch (Throwable $e) {\n $this->log->error('HubSpot] Failed to fetch owners', [\n 'archived' => $archived,\n 'error' => $e->getMessage(),\n ]);\n\n return [];\n }\n\n return $owners;\n }\n\n public function getMeeting(string $engagementId): ObjectWithAssociations\n {\n return $this->getNewInstance()->crm()->objects()->basicApi()\n ->getById('meeting', $engagementId, null, 'contact,company,deal');\n }\n\n public function deleteEngagement(string $engagementId): void\n {\n $this->getInstance()->engagements()->delete((int) $engagementId);\n }\n\n public function getAssociationsData(array $ids, string $fromObject, string $toObject): array\n {\n $associationData = [];\n $idChunks = array_chunk($ids, self::ASSOCIATIONS_BATCH_SIZE_LIMIT);\n\n foreach ($idChunks as $idChunk) {\n try {\n $batchInput = new \\HubSpot\\Client\\Crm\\Associations\\Model\\BatchInputPublicObjectId();\n $batchInput->setInputs(array_map(function ($id) {\n $publicObjectId = new \\HubSpot\\Client\\Crm\\Associations\\Model\\PublicObjectId();\n $publicObjectId->setId($id);\n\n return $publicObjectId;\n }, $idChunk));\n\n $associatedObjectsData = $this\n ->getNewInstance()\n ->crm()\n ->associations()\n ->batchApi()\n ->read($fromObject, $toObject, $batchInput);\n\n if ($associatedObjectsData instanceof \\HubSpot\\Client\\Crm\\Associations\\Model\\BatchResponsePublicAssociationMulti) {\n foreach ($associatedObjectsData->getResults() as $association) {\n $from = $association->getFrom()->getId();\n $toAssociations = $association->getTo();\n\n if (! empty($toAssociations)) {\n $associationData[$from] = array_map(function ($item) {\n return $item->getId();\n }, $toAssociations);\n }\n }\n }\n } catch (\\Exception $e) {\n $this->log->error('[Hubspot] Failed to fetch associations', [\n 'from_object' => $fromObject,\n 'to_object' => $toObject,\n 'reason' => $e->getMessage(),\n ]);\n }\n }\n\n return $associationData;\n }\n\n /**\n * @throws \\Exception\n */\n private function getNoteAssociationType(NoteObject $noteObject): string\n {\n return match($noteObject) {\n NoteObject::Opportunity => 'note_to_deal',\n NoteObject::Lead, NoteObject::Contact => 'note_to_contact', // or 'note_to_lead' if your portal supports it\n NoteObject::Account => 'note_to_company',\n NoteObject::Call, NoteObject::Event => throw new \\Exception('Not supported'),\n };\n }\n\n /**\n * @throws \\Exception\n */\n private function getNoteObject(NoteObject $noteObject): string\n {\n return match($noteObject) {\n NoteObject::Opportunity => 'deal',\n NoteObject::Lead, NoteObject::Contact => 'contact',\n NoteObject::Account => 'company',\n NoteObject::Call, NoteObject::Event => throw new \\Exception('Not supported'),\n };\n }\n\n public function addAssociations(string $objectType, string $associationType, array $payload): Response\n {\n $endpoint = \"/crm/v4/associations/$objectType/$associationType/batch/create\";\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n\n public function removeAssociations(string $objectType, string $associationType, array $payload): Response\n {\n $endpoint = \"/crm/v4/associations/$objectType/$associationType/batch/archive\";\n\n return $this->makeRequest($endpoint, 'POST', $payload);\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"on_screen":true,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"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},"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8137451649170895720
|
6684458809013180516
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
master, menu
Start Listen Project: faVsco.js, menu
master, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
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
6
1
6
Previous Highlighted Error
Next Highlighted Error
# [PASSWORD_DOTS] HS [PASSWORD_DOTS]
select * from teams where id = 2; # 2
select * from features; # 2
select * from team_features where team_id = 2; # 2
select * from crm_configurations where id = 2; # 2
select * from users where team_id = 2; #
select * from playbooks where team_id = 2; # event 38
select * from playbook_categories where playbook_id = 38; #
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id is not null order by id desc;
[URL_WITH_CREDENTIALS] CrmFieldOption array{id:string, label:string, value?:string}
*/
class Client extends BaseClient implements HubspotClientInterface
{
public const string MIN_API_VERSION = '2';
public const string BASE_URL = '[URL_WITH_CREDENTIALS] T
* @param callable(): T $apiCall
* @return T
*
* @throws RateLimitException
*/
private function executeRequest(callable $apiCall)
{
if (! $this->rateLimiter->canMakeRequest($this->config)) {
$retryAfter = $this->rateLimiter->requestAvailableIn($this->config);
$this->log->warning('[Hubspot] Rate limit exceeded, deferring request', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
]);
throw new RateLimitException(
'Hubspot rate limit reached for configuration ' . $this->config->getId(),
$retryAfter,
);
}
$this->rateLimiter->incrementRequestCount($this->config);
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function isHubspotRateLimit(Throwable $e): bool
{
return method_exists($e, 'getCode') && (int) $e->getCode() === 429;
}
private function parseRetryAfter(Throwable $e): int
{
if (method_exists($e, 'getResponseHeaders')) {
$headers = $e->getResponseHeaders() ?: [];
$value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;
if (is_array($value)) {
$value = $value[0] ?? null;
}
if (is_numeric($value)) {
return (int) $value;
}
}
return 10;
}
public function getMinimumApiVersion(): string
{
return self::MIN_API_VERSION;
}
public function getInstance(): Factory
{
return new Factory([
'key' => $this->accessToken,
'oauth2' => true,
'base_url' => $this->baseUrl,
]);
}
public function getNewInstance(): Discovery
{
return \HubSpot\Factory::createWithAccessToken($this->accessToken);
}
/**
* Secondly and daily limits for Hubspot API
*
* Product Tier: Free & Starter | Professional & Enterprise | API add-on (any tier)
* Burst: 100/10 seconds | 150/10 seconds | 200/10 seconds
* Daily: 250,000 | 500,000 | 1,000,000
*
* Official documentation states: The search endpoints are rate limited to five requests per second.
* Since with 5 RPS were still hitting secondly rate limits we lowered it to 4
*/
public function getPaginatedData(array $payload, string $type, int $offset = 0): array
{
$total = 0;
$lastId = null;
$rows = [];
foreach ($this->getPaginatedDataGenerator($payload, $type, $offset, $total, $lastId) as $row) {
$rows[] = $row;
}
return ['results' => $rows, 'total' => $total, 'last_record' => $lastId];
}
/**
* @throws HubspotException
* @throws SocialAccountTokenInvalidException
* @throws BadRequest
*/
public function getPaginatedDataGenerator(
array $payload,
string $type,
int $offset = 0,
int &$total = 0,
?string &$lastRecordId = null
): \Generator {
return $this->paginationService->getPaginatedDataGenerator(
$this,
$payload,
$type,
$offset,
$total,
$lastRecordId
);
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$crmId,
implode(',', $fields),
'companies,contacts'
));
} catch (DealApiException $e) {
$this->log->info('[Hubspot] Failed to fetch opportunity', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $deal instanceof DealWithAssociations) {
throw new CrmException('Deal not found');
}
return [
'id' => $deal->getId(),
'properties' => $deal->getProperties(),
'associations' => $deal->getAssociations(),
];
}
/**
* Generic batch read method for HubSpot objects
*
* @param string $objectType The object type ('deals', 'companies', 'contacts')
* @param array<string> $crmIds Array of HubSpot object IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with object data
*/
private function batchReadObjects(string $objectType, array $crmIds, array $fields): array
{
if (empty($crmIds)) {
return [];
}
$this->validateBatchSize($objectType, $crmIds);
$this->ensureValidToken();
try {
$batchConfig = $this->createBatchConfiguration($objectType);
$batchReadRequest = $this->prepareBatchRequest($batchConfig, $crmIds, $fields);
$response = $batchConfig['api']->read($batchReadRequest);
$this->validateApiResponse($response, $objectType);
$results = $this->processApiResults($response);
$this->logBatchResults($objectType, $crmIds, $results);
return $results;
} catch (\Throwable $e) {
$this->handleBatchError($e, $objectType, $crmIds);
}
}
private function validateBatchSize(string $objectType, array $crmIds): void
{
if (count($crmIds) > 100) {
throw new \InvalidArgumentException("Batch size cannot exceed 100 {$objectType}");
}
}
private function createBatchConfiguration(string $objectType): array
{
$configurations = [
'deals' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Deals\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Deals\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->deals()->batchApi(),
],
'companies' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Companies\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Companies\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->companies()->batchApi(),
],
'contacts' => [
'batchReadRequest' => new \HubSpot\Client\Crm\Contacts\Model\BatchReadInputSimplePublicObjectId(),
'inputClass' => \HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectId::class,
'api' => $this->getNewInstance()->crm()->contacts()->batchApi(),
],
];
if (! isset($configurations[$objectType])) {
throw new \InvalidArgumentException("Unsupported object type: {$objectType}");
}
return $configurations[$objectType];
}
private function prepareBatchRequest(array $batchConfig, array $crmIds, array $fields): object
{
$batchReadRequest = $batchConfig['batchReadRequest'];
$inputClass = $batchConfig['inputClass'];
$inputs = array_map(function ($crmId) use ($inputClass) {
$input = new $inputClass();
$input->setId($crmId);
return $input;
}, $crmIds);
$batchReadRequest->setInputs($inputs);
$batchReadRequest->setProperties($fields);
return $batchReadRequest;
}
private function validateApiResponse($response, string $objectType): void
{
if (! $response) {
throw new CrmException("HubSpot API returned null response for {$objectType} batch read");
}
}
private function processApiResults($response): array
{
$results = [];
$responseResults = $response->getResults();
if ($responseResults) {
foreach ($responseResults as $object) {
if ($object && $object->getId()) {
$results[$object->getId()] = [
'id' => $object->getId(),
'properties' => $object->getProperties() ?: [],
];
}
}
}
return $results;
}
private function logBatchResults(string $objectType, array $crmIds, array $results): void
{
$this->log->info("[HubSpot] Batch fetched {$objectType}", [
'requested_count' => count($crmIds),
'returned_count' => count($results),
'crm_ids' => $crmIds,
]);
}
private function handleBatchError(\Throwable $e, string $objectType, array $crmIds): void
{
$errorMessage = $e->getMessage() ?: 'Unknown error';
$errorTrace = $e->getTraceAsString() ?: 'No trace available';
$this->log->error("[HubSpot] Failed to batch fetch {$objectType}", [
'crm_ids' => $crmIds,
'error' => $errorMessage,
'trace' => $errorTrace,
]);
throw new CrmException("Failed to batch fetch {$objectType}: " . $errorMessage);
}
/**
* Batch read multiple opportunities by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot deal IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with opportunity data
*/
public function getOpportunitiesByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('deals', $crmIds, $fields);
}
/**
* Batch read multiple companies by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot company IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with company data
*/
public function getCompaniesByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('companies', $crmIds, $fields);
}
/**
* Batch read multiple contacts by their CRM IDs
*
* @param array<string> $crmIds Array of HubSpot contact IDs (max 100)
* @param array<string> $fields Array of property names to fetch
*
* @return array<string, array> Array keyed by CRM ID with contact data
*/
public function getContactsByIds(array $crmIds, array $fields): array
{
return $this->batchReadObjects('contacts', $crmIds, $fields);
}
/**
* @throws CompanyApiException
* @throws CrmException
*/
public function getAccountById(string $crmId, array $fields): array
{
try {
$company = $this->getNewInstance()->crm()->companies()->basicApi()->getById(
$crmId,
implode(',', $fields),
);
} catch (CompanyApiException $e) {
$this->log->info('[Hubspot] Failed to fetch account', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $company instanceof CompaniesWithAssociations) {
throw new CrmException('Account not found');
}
return [
'id' => $company->getId(),
'properties' => $company->getProperties(),
];
}
/**
* @throws ContactApiException
* @throws CrmException
*/
public function getContactById(string $crmId, array $fields): array
{
try {
$contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(
$crmId,
implode(',', $fields)
);
} catch (ContactApiException $e) {
$this->log->info('[Hubspot] Failed to fetch contact', [
'crm_id' => $crmId,
'reason' => $e->getMessage(),
]);
throw $e;
}
if (! $contact instanceof ContactsWithAssociations) {
throw new CrmException('Contact not found');
}
return [
'id' => $contact->getId(),
'properties' => $contact->getProperties(),
];
}
/**
* This is email search request that Hubspot offers as GET (more generous quota)
*/
public function getContactByEmail(string $email, array $fields = []): array
{
try {
$contact = $this->getNewInstance()->crm()->contacts()->basicApi()->getById(
$email,
implode(',', $fields),
null,
false,
'email'
);
return [
'id' => $contact->getId(),
'properties' => $contact->getProperties(),
];
} catch (ContactApiException $e) {
$this->log->info('[Hubspot] Failed to fetch contact', [
'email' => $email,
'reason' => $e->getMessage(),
]);
return [];
}
}
/**
* @throws CrmException
*/
public function fetchProperty(string $objectType, string $propertyId): Property
{
$result = $this->getNewInstance()->crm()->properties()->coreApi()->getByName($objectType, $propertyId);
if (! $result instanceof Property) {
$this->log->error('[Hubspot] Failed to fetch property', [
'object_type' => $objectType,
'property_id' => $propertyId,
'reason' => $result->getMessage(),
]);
throw new CrmException('Failed to fetch property');
}
return $result;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchPropertyOptions(string $objectType, string $propertyId): array
{
/** @var array<CrmFieldOption> */
return $this->fetchProperty($objectType, $propertyId)->getOptions();
}
/**
* @return array<array{id:string, label:string, deleted:bool}>
*/
public function fetchCallDispositions(): array
{
/** @var Response $response */
$response = $this->getInstance()->engagements()->getCallDispositions();
/**
* @var array<array{
* id:string,
* label:string,
* deleted: bool
* }>
*/
return $response->toArray();
}
/**
* @return array<CrmFieldOption>
*/
public function fetchOpportunityPipelineStages(): array
{
$stages = [];
$apiResponse = $this->getNewInstance()->crm()->pipelines()->pipelinesApi()->getAll('deals');
if ($apiResponse instanceof Error) {
$this->log->error('[Hubspot] Failed to fetch opportunity pipelines', [
'reason' => $apiResponse->getMessage(),
]);
return [];
}
foreach ($apiResponse->getResults() as $pipeline) {
$pipelineStages = array_map(
static function (PipelineStage $stage) {
return [
'id' => $stage->getId(),
'label' => $stage->getLabel(),
];
},
$pipeline->getStages()
);
$stages = array_merge($stages, $pipelineStages);
}
return $stages;
}
public function fetchOpportunityPipelines(): array
{
$pipelines = [];
try {
$apiResponse = $this->makeRequest('/crm/v3/pipelines/deals');
} catch (\Exception $e) {
$this->log->info('[Hubspot] Failed to fetch opportunity pipelines', [
'reason' => $e->getMessage(),
]);
return [];
}
$response = $apiResponse->toArray();
foreach ($response['results'] as $pipeline) {
$pipelines[] = [
'id' => $pipeline['id'],
'label' => $pipeline['label'],
];
}
return $pipelines;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchMeetingOutcomeFieldOptions(Field $field): array
{
return $field->getCrmProviderId() === 'meetingOutcome'
? $this->fetchMeetingOutcomeTypes()
: $this->fetchCallActivityTypes();
}
public function fetchMeetingOutcomeTypes(): array
{
return $this->extractMeetingTypeOptions(
'[URL_WITH_CREDENTIALS] Response $response */
$response = $this->getInstance()
->getClient()
->request('GET', $endpoint);
/**
* @var array<array{
* value: string,
* label: string,
* displayOrder: int
* }> $optionData
*/
$optionData = $response->toArray()['options'] ?? [];
$options = [];
foreach ($optionData as $item) {
$options[] = [
'id' => $item['value'],
'value' => $item['value'],
'label' => $item['label'],
'display_order' => $item['displayOrder'],
];
}
return $options;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchDispositionFieldOptions(): array
{
$options = [];
$dispositions = $this->fetchCallDispositions();
foreach ($dispositions as $disposition) {
if ($disposition['deleted'] !== false) {
continue;
}
$option['value'] = $disposition['id'];
$option['id'] = $disposition['id'];
$option['label'] = $disposition['label'];
$options[] = $option;
}
return $options;
}
/**
* @return array<CrmFieldOption>
*/
public function fetchOpportunityFieldOptions(Field $field): array
{
if ($field->isStageField()) {
return $this->fetchOpportunityPipelineStages();
}
if ($field->isPipelineField()) {
return $this->fetchOpportunityPipelines();
}
return $this->fetchPropertyOptions('deals', $field->getCrmProviderId());
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function makeRequest(string $endpoint, $method = 'GET', $payload = [], ?string $queryString = null)
{
$endpoint = self::BASE_URL . $endpoint;
if ($method === 'GET') {
$response = $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
$response = $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
$max = $response->getHeaderLine('X-HubSpot-RateLimit-Max'); // "110"
$remaining = $response->getHeaderLine('X-HubSpot-RateLimit-Remaining'); // "109"
$interval = $response->getHeaderLine('X-HubSpot-RateLimit-Interval-Milliseconds'); // "10000"
$body = json_decode((string) $response->getBody(), true);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$max ' . PHP_EOL . print_r($max, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$remaining ' . PHP_EOL . print_r($remaining, true));
return $response;
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function createMeeting(array $payload): Response
{
$endpoint = '/crm/v3/objects/meetings';
return $this->makeRequest($endpoint, 'POST', $payload);
}
/**
* @throws BadRequest
* @throws HubspotException
*/
public function updateMeeting(string $meetingId, array $payload): Response
{
$endpoint = '/crm/v3/objects/meetings/' . $meetingId;
return $this->makeRequest($endpoint, 'PATCH', $payload);
}
/**
* @throws \Exception
*/
public function createNote(
string $body,
string $ownerId,
int $timestamp,
string $objectId,
NoteObject $noteObject
): ?string {
try {
$noteInput = new SimplePublicObjectInput([
'properties' => [
'hs_note_body' => $body,
'hubspot_owner_id' => $ownerId,
'hs_timestamp' => $timestamp,
],
]);
// Create note
$note = $this->getNewInstance()->crm()->objects()->basicApi()->create('note', $noteInput);
$this->getNewInstance()->crm()->objects()->associationsApi()->create(
'note',
$note->getId(),
$this->getNoteObject($noteObject),
$objectId,
$this->getNoteAssociationType($noteObject),
);
return $note->getId();
} catch (\Exception $e) {
$this->log->error('[Hubspot] Failed to create note', [
'objectId' => $objectId,
'noteObject' => $noteObject->getObjectType(),
'reason' => $e->getMessage(),
]);
\Sentry::captureException($e);
}
return null;
}
public function updateEngagement(string $objectId, array $engagement, array $metadata): void
{
$this->getInstance()->engagements()->update($objectId, $engagement, $metadata);
}
public function getEngagementData(string $engagementId): array
{
$engagement = $this->getInstance()->engagements()->get($engagementId);
return $engagement->toArray();
}
public function createEngagement(array $engagement, array $associations, array $metadata): Response
{
return $this->getInstance()
->engagements()
->create($engagement, $associations, $metadata);
}
public function isUnauthorizedException(\Exception $e): bool
{
// Check for specific HubSpot API exception types first
if ($e instanceof BadRequest) {
// BadRequest can contain 401 status codes
return $e->getCode() === 401;
}
// Check for HTTP client exceptions with status codes
if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) {
$response = $e->getResponse();
if ($response !== null) {
return $response->getStatusCode() === 401;
}
}
// Check for Guzzle HTTP exceptions
if ($e instanceof \GuzzleHttp\Exception\ClientException) {
return $e->getCode() === 401;
}
// Fallback to string matching as last resort, but be more specific
$message = strtolower($e->getMessage());
return str_contains($message, '401 unauthorized') ||
str_contains($message, 'http 401') ||
str_contains($message, 'status code 401') ||
(preg_match('/\b401\b/', $message) && str_contains($message, 'unauthorized'));
}
/**
* Validates and refreshes the access token if needed before API requests.
* This ensures long-running processes don't fail due to token expiration.
*
* @throws SocialAccountTokenInvalidException
*/
public function ensureValidToken(): void
{
if ($this->oauthAccount === null) {
return;
}
$newToken = $this->tokenManager->ensureValidToken($this->oauthAccount);
if ($newToken !== null) {
$this->accessToken = $newToken;
}
}
public function getConfig()
{
return $this->config;
}
// returns only active (archived=false)
public function getOwners(): array
{
return $this->getNewInstance()->crm()->owners()->getAll();
}
/**
* @param bool $archived
*
* @return array<Owner>|[]
*/
public function getOwnersArchived(bool $archived = true): array
{
$endpoint = '/crm/v3/owners';
$queryParams = [
'archived' => $archived ? 'true' : 'false',
];
$queryString = http_build_query($queryParams);
$owners = [];
try {
$response = $this->makeRequest(endpoint: $endpoint, queryString: $queryString);
$responseData = $response?->toArray();
foreach ($responseData['results'] as $result) {
try {
$owners[] = Owner::create($result);
} catch (Throwable $e) {
$this->log->error('[HubSpot] Failed to process owner data', [
'result' => $result,
'error' => $e->getMessage(),
]);
continue;
}
}
} catch (Throwable $e) {
$this->log->error('HubSpot] Failed to fetch owners', [
'archived' => $archived,
'error' => $e->getMessage(),
]);
return [];
}
return $owners;
}
public function getMeeting(string $engagementId): ObjectWithAssociations
{
return $this->getNewInstance()->crm()->objects()->basicApi()
->getById('meeting', $engagementId, null, 'contact,company,deal');
}
public function deleteEngagement(string $engagementId): void
{
$this->getInstance()->engagements()->delete((int) $engagementId);
}
public function getAssociationsData(array $ids, string $fromObject, string $toObject): array
{
$associationData = [];
$idChunks = array_chunk($ids, self::ASSOCIATIONS_BATCH_SIZE_LIMIT);
foreach ($idChunks as $idChunk) {
try {
$batchInput = new \HubSpot\Client\Crm\Associations\Model\BatchInputPublicObjectId();
$batchInput->setInputs(array_map(function ($id) {
$publicObjectId = new \HubSpot\Client\Crm\Associations\Model\PublicObjectId();
$publicObjectId->setId($id);
return $publicObjectId;
}, $idChunk));
$associatedObjectsData = $this
->getNewInstance()
->crm()
->associations()
->batchApi()
->read($fromObject, $toObject, $batchInput);
if ($associatedObjectsData instanceof \HubSpot\Client\Crm\Associations\Model\BatchResponsePublicAssociationMulti) {
foreach ($associatedObjectsData->getResults() as $association) {
$from = $association->getFrom()->getId();
$toAssociations = $association->getTo();
if (! empty($toAssociations)) {
$associationData[$from] = array_map(function ($item) {
return $item->getId();
}, $toAssociations);
}
}
}
} catch (\Exception $e) {
$this->log->error('[Hubspot] Failed to fetch associations', [
'from_object' => $fromObject,
'to_object' => $toObject,
'reason' => $e->getMessage(),
]);
}
}
return $associationData;
}
/**
* @throws \Exception
*/
private function getNoteAssociationType(NoteObject $noteObject): string
{
return match($noteObject) {
NoteObject::Opportunity => 'note_to_deal',
NoteObject::Lead, NoteObject::Contact => 'note_to_contact', // or 'note_to_lead' if your portal supports it
NoteObject::Account => 'note_to_company',
NoteObject::Call, NoteObject::Event => throw new \Exception('Not supported'),
};
}
/**
* @throws \Exception
*/
private function getNoteObject(NoteObject $noteObject): string
{
return match($noteObject) {
NoteObject::Opportunity => 'deal',
NoteObject::Lead, NoteObject::Contact => 'contact',
NoteObject::Account => 'company',
NoteObject::Call, NoteObject::Event => throw new \Exception('Not supported'),
};
}
public function addAssociations(string $objectType, string $associationType, array $payload): Response
{
$endpoint = "/crm/v4/associations/$objectType/$associationType/batch/create";
return $this->makeRequest($endpoint, 'POST', $payload);
}
public function removeAssociations(string $objectType, string $associationType, array $payload): Response
{
$endpoint = "/crm/v4/associations/$objectType/$associationType/batch/archive";
return $this->makeRequest($endpoint, 'POST', $payload);
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
2679
|
NULL
|
NULL
|
NULL
|
|
16706
|
746
|
21
|
2026-05-11T09:18:20.465256+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778491100465_m1.jpg...
|
CleanShot X
|
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
0:49
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"0:49","depth":1,"bounds":{"left":0.72256947,"top":0.96055555,"width":0.023611112,"height":0.015555556},"on_screen":true,"role_description":"text"}]...
|
8136693674698831464
|
8136693674698831464
|
visual_change
|
hybrid
|
NULL
|
0:49
SlackFileEditViewGoHistoryWindowHelp(abl§ Sup 0:49
SlackFileEditViewGoHistoryWindowHelp(abl§ Support Daily • in 2h 42 m100% <78• Mon 11 May 12:18:206д Huddle with Petko KashinskiPetko KashinskiScreen share+ChromeFileEditViewHistoryBookmarksProfilesTabWindowHelpQ8•Mon 11 May 12:18WorkGreelScoreandrewilso®Call AJiminM Inbox= Nate=AppsBuildu UserNewu Ux+run.userpilot.io/dashboards/product-usageWorkAIKBChatPlayground Al...BJiminny - Calenda.….M GMail• My Calendly - Eve...= PH New UI LoginGet Starting with J...Apps• Chloe Onboarding....+ CX Journey SMB....+ All dashboardsQ Search engagement, feedback, reports, users and moreJiminny88DashboardsProduct UsageThe Product Usage Dashboard tracks user and company engagement metrics, popular pages, and features. It highlights trends, user stickiness, top interactions, and browser preferences.elect time periodAdd FiltersDacaE User activity metricsMeasures the daily, weekly, and monthly number of individual users actively using the product.Wietric tooa& Company activity metricsMeasures the daily, weekly, and monthly number of companies actively using the product.Metric | TodayActive Users542DailyActive Users4,390WeeklyActive Users6,578MonthlyActive CompaniesActive CompaniesActive Companies122Daily293Weekly324Monthly[PASSWORD_DOTS]E Trend of active usersTracks active users over time, providing a time-based view of engagement.Line - Linear || Last 90 DaysE Trend of active companiesTracks active companies over time, providing a time-based view of engagement.lineainasracooeHuddle with Lukas KovalikPetko Kashinskipeско.kasлinseуm$= Al Notes: OffGet Started with Userpilotc LogoutPK&ГА.••0:49Leave...
|
16705
|
NULL
|
NULL
|
NULL
|
|
24348
|
1017
|
35
|
2026-05-12T09:06:21.495300+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778576781495_m2.jpg...
|
iTerm2
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Notion CalendarEditVIew→ CTypeError: League|Flysys Notion CalendarEditVIew→ CTypeError: League|Flysystem|FileCloudWatch | us-east-2e Jy 20820 es reindex stream mod(UY-20725) [HubSpot) Optimise CFJY-20725 add HS rate limit handlitPipelines - jiminny/app( Pull requests - jiminny/appWJY-207731 User Pilot not receivin.( JY-20773 fix user pilot tracking ofJY-207761 Automated report - seP Platform Sorint 2 02 . Platform Te( JY-20625 | JY-20742 | MCP POC b— Data Exoloren* (UY-20776] Automated report - ser8 Jiminny+ New TabWindow Hels- app.jiminny.com/ai-reportsAl Reports• Report namel13-14 Aor. 2026QNAME -() Coaching Profiles - 6 - 12 Apr 2026 - Client Success, UK Sales6д Coaching Profiles Podcast - 6 - 12 Apr 2026 - Client Success, UK Sales$Coaching Profiles *@ Clear allo00ma0May 2026 Week20Mon 17Chloe Cross (Parental Leave - 256 days)Andrea Llatanova (Parental Leave - Toy days)Michelle Weston (PTO - 5 days)(Mira Lenkova (PTO - 3 days)Tue 12Platform Office Day08:0010:00Daily - Platform 09:411:00|14:0016:00Support Daily•Support Daily 15:0021:0022:00Thu 14(James Graham (PTO - 2 days)( Liz Mulraney (PTO - 1 day)Daily - Plattorm 09:43Session) Plannin Mid Sprint Che:Support Dailv 15:00Fri1540hel"suppont Dally • In Zn 04mWeek vSatloSun 17100% Lz&• Tue 12 May 12:06:20-a Search eventsSupport DallvJoin Google MeetOpen attachmentUseful shortcutsCommand menu3e Kcontrol * KMenu bar calendaToggle sidebarGo to dateAll keyboard shortcutsDaily - Platform 09:43Daminny TechBackend Chapte10:00 - 18:00Support Daily 15:0...
|
NULL
|
8136411307784495236
|
NULL
|
visual_change
|
ocr
|
NULL
|
Notion CalendarEditVIew→ CTypeError: League|Flysys Notion CalendarEditVIew→ CTypeError: League|Flysystem|FileCloudWatch | us-east-2e Jy 20820 es reindex stream mod(UY-20725) [HubSpot) Optimise CFJY-20725 add HS rate limit handlitPipelines - jiminny/app( Pull requests - jiminny/appWJY-207731 User Pilot not receivin.( JY-20773 fix user pilot tracking ofJY-207761 Automated report - seP Platform Sorint 2 02 . Platform Te( JY-20625 | JY-20742 | MCP POC b— Data Exoloren* (UY-20776] Automated report - ser8 Jiminny+ New TabWindow Hels- app.jiminny.com/ai-reportsAl Reports• Report namel13-14 Aor. 2026QNAME -() Coaching Profiles - 6 - 12 Apr 2026 - Client Success, UK Sales6д Coaching Profiles Podcast - 6 - 12 Apr 2026 - Client Success, UK Sales$Coaching Profiles *@ Clear allo00ma0May 2026 Week20Mon 17Chloe Cross (Parental Leave - 256 days)Andrea Llatanova (Parental Leave - Toy days)Michelle Weston (PTO - 5 days)(Mira Lenkova (PTO - 3 days)Tue 12Platform Office Day08:0010:00Daily - Platform 09:411:00|14:0016:00Support Daily•Support Daily 15:0021:0022:00Thu 14(James Graham (PTO - 2 days)( Liz Mulraney (PTO - 1 day)Daily - Plattorm 09:43Session) Plannin Mid Sprint Che:Support Dailv 15:00Fri1540hel"suppont Dally • In Zn 04mWeek vSatloSun 17100% Lz&• Tue 12 May 12:06:20-a Search eventsSupport DallvJoin Google MeetOpen attachmentUseful shortcutsCommand menu3e Kcontrol * KMenu bar calendaToggle sidebarGo to dateAll keyboard shortcutsDaily - Platform 09:43Daminny TechBackend Chapte10:00 - 18:00Support Daily 15:0...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
10565
|
478
|
4
|
2026-05-08T17:34:26.765501+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-08/1778 /Users/lukas/.screenpipe/data/data/2026-05-08/1778261666765_m2.jpg...
|
Code
|
Review payment logger au… — docker [SSH: nas]
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E)
Search (⇧⌘F)
Source Control (⌃⇧ Explorer (⇧⌘E)
Search (⇧⌘F)
Source Control (⌃⇧G) - 55 pending changes
55
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update
2
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: docker [SSH: nas]
Explorer Section: docker [SSH: nas]
DOCKER [SSH: NAS]
audiobookshelf
auth
beszel
bitwarden
dawarich
dsk-uploader
flask-app
garmin-connector
gitea
health
health-tracker
homarr
hst
immich
jellyfinht
kavita
libreoffice
linkwarden
location-logger
alembic
app
mcp-server
.env
.env.example
.gitignore
.mcp.json
M
alembic.ini
docker-compose.yml
M
Dockerfile
README.md
M
requirements.txt
M
today_map.html
mariadb
meeting-detector
mindfulmama
n8n
notifier-app
npm
oauth
obsidian
ollama
open-webui
openttd
openvpn-client
orchestrator
outfit-app
owntracks-stack
paperlessngx
payments-logger
.claude
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
docker-compose.yml, Editor Group 1
docker-compose.yml, Editor Group 1
Review payment logger au…, Editor Group 2
remote SSH: nas
SSH: nas
location-logger (Git)
location-logger
location-logger (Git) - main*, Checkout Branch/Tag...
main*
location-logger (Git) - Synchronize Changes
No Problems
0
0
No Ports Forwarded
0
Notifications
Sign In
Sign In
collapsed
Clear
Review payment logger authorization implementation
Session history
New session
Message actions
review payment_logger project how toes authorization work
Thinking
Thinking
Let me explore the payment_logger project structure first.
Bash
Find payment_logger project files
IN
find /volume2/docker -type f -name "*.py" -o -name "*.yml" -o -name "*.yaml" -o -name "*.env" -o -name "*.toml" -o -name "*.cfg" | grep -i payment | head -50
Copy code to clipboard
OUT
bfs: error: /volume2/docker/portnotedb/pg_commit_ts: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_dynshmem: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_notify: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_serial: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_snapshots: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_subtrans: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_twophase: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_multixact: Permission denied.
bfs: error: /volume2/docker/portnotedb/base: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_replslot: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_tblspc: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_stat: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_stat_tmp: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_xact: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_logical: Permission denied.
bfs: error: /volume2/docker/openttd/.dbus: Permission denied.
bfs: error: /volume2/docker/immich/db: Permission denied.
bfs: error: /volume2/docker/paperlessngx/db: Permission denied.
bfs: error: /volume2/docker/appflowy/postgres: Permission denied.
bfs: error: /volume2/docker/auth/db: Permission denied.
bfs: error: /volume2/docker/openttd/.XDG/dbus-1: Permission denied.
bfs: error: /volume2/docker/openttd/.config/pulse: Permission denied.
bfs: error: /volume2/docker/openttd/.cache/openbox/sessions: Permission denied.
/volume2/docker/payments-logger/.env
/volume2/docker/payments-logger/docker-compose.yml
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
Bash
List docker directory contents
IN
ls /volume2/docker/
Copy code to clipboard
OUT
adguard
ai-stack
app-db
appflowy
audiobookshelf
auth
beszel
bitwarden
dawarich
dsk-uploader
flask-app
garmin-connector
gitea
health
health-tracker
homarr
hst
immich
jellyfinht
kavita
libreoffice
linkwarden
location-logger
mariadb
meeting-detector
mindfulmama
n8n
notifier-app
npm
oauth
obsidian
ollama
openttd
openvpn-client
open-webui
orchestrator
outfit-app
owntracks-stack
paperlessngx
payments-logger
personal-log
personal-log-system
player
portainer
portnotedb
reminders-app
romm
second-brain
static
stirling
syncthing
tailscale
temp-logger
test-app
tmp
torrent-stack
tree
trilium
tubearchivist
twenty
uptimekuma
ytptube
Agent:
Explore payment_logger authorization code
IN
Explore the payments-logger project at /volume2/docker/payments-logger and give me a thorough understanding of how authorization works. I need to know:
1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)
2. Where auth is enforced (middleware, decorators, route guards, etc.)
3. What roles/permissions exist
4. How tokens are issued, validated, and refreshed
5. Any auth-related config (env vars, settings)
Please read the key source files and give me a clear summary with file paths and line numbers for the important parts.
Bash
IN
find /volume2/docker/payments-logger -type f -name "*.py" -o -name "*.json" -o -name "*.yml" -o -name "*.yaml" | grep -E "(auth|token|jwt|session|permission|role)" | head -20
Copy code to clipboard
OUT
(Bash completed with no output)
Bash
IN
ls -la /volume2/docker/payments-logger/ 2>/dev/null || echo "Directory not found"
Copy code to clipboard
OUT
total 36
drwxrwxrwx 1 Adm1n admin 162 Mar 29 18:01 .
drwxrwxrwx 1 root root 1146 Apr 26 18:49 ..
-rwxrwxrwx 1 Adm1n admin 15233 Feb 22 17:08 API.md
drwxrwxrwx 1 Adm1n admin 88 Mar 29 15:41 backend
drwxrwxrwx 1 Adm1n admin 38 Mar 29 17:07 .claude
-rwxrwxrwx 1 Adm1n admin 1502 Mar 29 18:01 docker-compose.yml
-rwxrwxrwx 1 Adm1n admin 1066 Mar 29 15:44 .env
-rwxrwxrwx 1 Adm1n admin 1078 Feb 14 17:53 .env.example
drwxrwxrwx 1 Adm1n admin 194 Mar 29 15:44 frontend
-rwxrwxrwx 1 Adm1n admin 19 Feb 14 17:54 .gitignore
-rwxrwxrwx 1 Adm1n admin 4052 Feb 14 19:06 README.md
Bash
IN
find /volume2/docker/payments-logger/backend -type f | head -30
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/Dockerfile
/volume2/docker/payments-logger/backend/.dockerignore
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/prisma/schema.prisma
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql
Bash
IN
find /volume2/docker/payments-logger -type f \( -name "*.js" -o -name "*.json" -o -name "*.md" \) | sort
Copy code to clipboard
OUT
/volume2/docker/payments-logger/API.md
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/.claude/settings.local.json
/volume2/docker/payments-logger/frontend/package.json
/volume2/docker/payments-logger/frontend/postcss.config.js
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/tailwind.config.js
/volume2/docker/payments-logger/frontend/vite.config.js
/volume2/docker/payments-logger/README.md
Read
.env
.env
Read
auth.js
auth.js
Read
index.js
index.js
Read
package.json
package.json
Read
auth.js
auth.js
Read
API.md
API.md
Read
payments.js
payments.js
Read
.env.example
.env.example
Read
schema.prisma
schema.prisma
Bash
IN
grep -r "API_KEY\|auth\|token\|oauth\|hydra" /volume2/docker/payments-logger/backend/src --include="*.js" -n
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/src/index.js:6:const { bearerTokenMiddleware, wellKnownRouter } = require('./auth');
/volume2/docker/payments-logger/backend/src/index.js:18:// ── OAuth Bearer token auth (skips public paths) ──────────────────────────────
/volume2/docker/payments-logger/backend/src/auth.js:2: * OAuth 2.1 / Hydra JWT authentication for Express.
/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints
/volume2/docker/payments-logger/backend/src/auth.js:33:function sendUnauthorized(res, detail, error = 'invalid_token') {
/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata="${realm}/.well-known/oauth-protected-resource"`,
/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server="${HYDRA_PUBLIC_URL}"`,
/volume2/docker/payments-logger/backend/src/auth.js:52: * On success, attaches the decoded payload to req.tokenPayload.
/volume2/docker/payments-logger/backend/src/auth.js:54: * @param {Set<string>} publicPaths Paths to skip auth for.
/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',
/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',
/volume2/docker/payments-logger/backend/src/auth.js:66: const auth = req.headers.authorization || '';
/volume2/docker/payments-logger/backend/src/auth.js:67: if (!auth.toLowerCase().startsWith('bearer ')) {
/volume2/docker/payments-logger/backend/src/auth.js:68: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');
/volume2/docker/payments-logger/backend/src/auth.js:71: const token = auth.slice(7).trim();
/volume2/docker/payments-logger/backend/src/auth.js:72: if (!token) {
/volume2/docker/payments-logger/backend/src/auth.js:73: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');
/volume2/docker/payments-logger/backend/src/auth.js:82: const { payload } = await jwtVerify(token, getJwks(), verifyOptions);
/volume2/docker/payments-logger/backend/src/auth.js:83: req.tokenPayload = payload;
/volume2/docker/payments-logger/backend/src/auth.js:87: const error = msg.includes('expired') ? 'invalid_token' : 'invalid_token';
/volume2/docker/payments-logger/backend/src/auth.js:88: sendUnauthorized(res, msg, error);
/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],
/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:119: authorization_endpoint: doc.authorization_endpoint,
/volume2/docker/payments-logger/backend/src/auth.js:120: token_endpoint: doc.token_endpoint,
/volume2/docker/payments-logger/backend/src/auth.js:123: grant_types_supported: doc.grant_types_supported || ['authorization_code', 'refresh_token'],
/volume2/docker/payments-logger/backend/src/auth.js:124: [API_KEY]: doc.[API_KEY] || ['none', 'client_secret_basic'],
/volume2/docker/payments-logger/backend/src/auth.js:128: id_token_signing_alg_values_supported: doc.id_token_signing_alg_values_supported || ['RS256'],
/volume2/docker/payments-logger/backend/src/routes/payments.js:58:// ── Ingest a payment (public — no auth) ──────────────────────────────────────
Bash
IN
find /volume2/docker/payments-logger/frontend/src -type f -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" | head -20
Copy code to clipboard
OUT
/volume2/docker/payments-logger/frontend/src/main.jsx
/volume2/docker/payments-logger/frontend/src/App.jsx
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx
/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx
Read
AuthProvider.jsx
AuthProvider.jsx
Read
AuthCallback.jsx
AuthCallback.jsx
Read
App.jsx
App.jsx
Read
main.jsx
main.jsx
Read
vite.config.js
vite.config.js
Bash
IN
grep -r "HYDRA\|VITE" /volume2/docker/payments-logger --include=".env*" -n
Copy code to clipboard
OUT
(Bash completed with no output)
Read
docker-compose.yml
docker-compose.yml
Bash
IN
grep -r "API_KEY" /volume2/docker/payments-logger/backend --include="*.js" -n
Copy code to clipboard
OUT
(Bash completed with no output)
Read
README.md
README.md
Bash
IN
grep -n "HYDRA\|oauth\|TOKEN" /volume2/docker/payments-logger/backend/src/index.js /volume2/docker/payments-logger/backend/src/auth.js | head -40
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints
/volume2/docker/payments-logger/backend/src/auth.js:11:const HYDRA_PUBLIC_URL = (process.env.HYDRA_PUBLIC_URL || '').replace(/\/$/, '');
/volume2/docker/payments-logger/backend/src/auth.js:24: new URL(`${HYDRA_PUBLIC_URL}/.well-known/jwks.json`)
/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata="${realm}/.well-known/oauth-protected-resource"`,
/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server="${HYDRA_PUBLIC_URL}"`,
/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',
/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',
/volume2/docker/payments-logger/backend/src/auth.js:78: issuer: HYDRA_PUBLIC_URL,
/volume2/docker/payments-logger/backend/src/auth.js:81: if (process.env.TOKEN_AUDIENCE) verifyOptions.audience = process.env.TOKEN_AUDIENCE;
/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],
/volume2/docker/payments-logger/backend/src/auth.js:107: jwks_uri: `${HYDRA_PUBLIC_URL}/.well-known/jwks.json`,
/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:113: const r = await fetch(`${HYDRA_PUBLIC_URL}/.well-known/openid-configuration`);
/volume2/docker/payments-logger/backend/src/auth.js:118: issuer: doc.issuer || HYDRA_PUBLIC_URL,
Thinking
Thinking
payments-logger Authorization Overview
payments-logger Authorization Overview
The project uses
OAuth 2.1 with PKCE
via an external Hydra OAuth server at
hydra.lakylak.xyz
.
Auth Flow
Auth Flow
Frontend
(
frontend/src/auth.js
frontend/src/auth.js
):
Fetches OAuth server metadata via discovery endpoint
Generates a PKCE code verifier/challenge (SHA-256)
Redirects user to Hydra login with
code_challenge
On callback, exchanges code + verifier for tokens
Stores
access_token
,
refresh_token
in
localStorage
(
pl_oauth_tokens
)
Auto-refreshes token 30 seconds before expiry
Backend
(
backend/src/auth.js
backend/src/auth.js
):
bearerTokenMiddleware
validates the
Authorization: Bearer <token>
header
Fetches Hydra's JWKS (cached 300s) and verifies JWT signature (RS256/ES256/PS256)
Validates issuer (
https://hydra.lakylak.xyz
) and optional audience
Enforcement
Enforcement
Applied globally in
backend/src/index.js:19
backend/src/index.js:19
with these
public (unprotected) paths
:
/.well-known/oauth-protected-resource
/.well-known/oauth-authorization-server
/api/health
/api/payments/ingest
(rate-limited at 200 req/min — for SMS ingestion)
Roles/Permissions
Roles/Permissions
No RBAC
— it's binary: authenticated vs. unauthenticated. Required scopes:
openid
,
offline_access
.
Key Security Notes
Key Security Notes
PKCE
prevents authorization code interception
State parameter
provides CSRF protection
No server-side token storage
— validation is stateless via JWKS
The README/API docs mention an
X-API-Key
header, but that's
outdated
— the actual code uses Bearer tokens only
Config lives in
docker-compose.yml
docker-compose.yml
(lines 30–33):
HYDRA_PUBLIC_URL
,
REQUIRED_SCOPES
,
OAUTH_CLIENT_ID
, and optionally
TOKEN_AUDIENCE
/
JWKS_CACHE_TTL
.
Message actions
compare it to location logger and make it the same. Lets remove hydra and only use authentic (or whatever location logger uses).
Thinking
Thinking
Let me first explore how location-logger handles authorization.
Agent:
Explore location-logger authorization code
IN
Explore the location-logger project at /volume2/docker/location-logger and give me a thorough understanding of how authorization works. I need to know:
1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)
2. Where auth is enforced (middleware, decorators, route guards, etc.)
3. What roles/permissions exist
4. How tokens are issued, validated, and refreshed
5. Any auth-related config (env vars, settings)
6. Frontend auth flow (how the user logs in, how tokens are stored and used)
7. The full directory/file structure of the project
Please read ALL relevant source files completely and give me a detailed summary with file paths and line numbers. I need enough detail to replicate this auth system in another project.
Bash
IN
find /volume2/docker/location-logger -type f -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.json" | head -50
Copy code to clipboard
OUT
/volume2/docker/location-logger/.mcp.json
/volume2/docker/location-logger/app/__init__.py
/volume2/docker/location-logger/app/utils.py
/volume2/docker/location-logger/app/config.py
/volume2/docker/location-logger/app/main.py
/volume2/docker/location-logger/alembic/env.py
/volume2/docker/location-logger/mcp-server/server.py
/volume2/docker/location-logger/alembic/versions/20260203_201500_create_location_points_table.py
/volume2/docker/location-logger/alembic/versions/20260209_200000_add_enhanced_fields_and_tables.py
/volume2/docker/location-logger/alembic/versions/20260214_000000_add_users_and_audit_logs.py
/volume2/docker/location-logger/alembic/versions/20260320_000000_add_audit_query_string.py
/volume2/docker/location-logger/app/services/geofence_service.py
/volume2/docker/location-logger/app/services/recorder_service.py
/volume2/docker/location-logger/app/services/trip_service.py
/volume2/docker/location-logger/app/services/enhanced_location_service.py
/volume2/docker/location-logger/app/services/geocoding_service.py
/volume2/docker/location-logger/app/clients/__init__.py
/volume2/docker/location-logger/app/clients/dawarich_client.py
/volume2/docker/location-logger/app/clients/owntracks_client.py
/volume2/docker/location-logger/app/models/areas.py
/volume2/docker/location-logger/app/models/geofence_events.py
/volume2/docker/location-logger/app/models/trips.py
/volume2/docker/location-logger/app/models/user.py
/volume2/docker/location-logger/app/models/location.py
/volume2/docker/location-logger/app/models/audit_log.py
/volume2/docker/location-logger/app/auth/__init__.py
/volume2/docker/location-logger/app/auth/dependencies.py
/volume2/docker/location-logger/app/auth/utils.py
/volume2/docker/location-logger/app/api/enhanced_endpoints.py
/volume2/docker/location-logger/app/db/base.py
/volume2/docker/location-logger/app/db/session.py
Bash
IN
tree -L 4 /volume2/docker/location-logger 2>/dev/null || find /volume2/docker/location-logger -type d | sort
Copy code to clipboard
OUT
/volume2/docker/location-logger
├── alembic
│ ├── env.py
│ ├── script.py.mako
│ └── versions
│ ├── 20260203_201500_create_location_points_table.py
│ ├── 20260209_200000_add_enhanced_fields_and_tables.py
│ ├── 20260214_000000_add_users_and_audit_logs.py
│ ├── 20260320_000000_add_audit_query_string.py
│ └── __pycache__
│ └── 20260214_000000_add_users_and_audit_logs.cpython-311.pyc
├── alembic.ini
├── app
│ ├── api
│ │ └── enhanced_endpoints.py
│ ├── auth
│ │ ├── dependencies.py
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── dependencies.cpython-311.pyc
│ │ │ ├── __init__.cpython-311.pyc
│ │ │ └── utils.cpython-311.pyc
│ │ └── utils.py
│ ├── clients
│ │ ├── dawarich_client.py
│ │ ├── __init__.py
│ │ └── owntracks_client.py
│ ├── config.py
│ ├── db
│ │ ├── base.py
│ │ └── session.py
│ ├── __init__.py
│ ├── main.py
│ ├── models
│ │ ├── areas.py
│ │ ├── audit_log.py
│ │ ├── geofence_events.py
│ │ ├── location.py
│ │ ├── __pycache__
│ │ │ ├── audit_log.cpython-311.pyc
│ │ │ └── user.cpython-311.pyc
│ │ ├── trips.py
│ │ └── user.py
│ ├── __pycache__
│ │ ├── __init__.cpython-311.pyc
│ │ └── main.cpython-311.pyc
│ ├── services
│ │ ├── enhanced_location_service.py
│ │ ├── geocoding_service.py
│ │ ├── geofence_service.py
│ │ ├── recorder_service.py
│ │ └── trip_service.py
│ ├── static
│ │ └── dashboard.html
│ └── utils.py
├── docker-compose.yml
├── Dockerfile
├── mcp-server
│ ├── Dockerfile
│ ├── requirements.txt
│ └── server.py
├── README.md
├── requirements.txt
└── today_map.html
16 directories, 48 files
Read
utils.py
utils.py
Read
dependencies.py
dependencies.py
Read
user.py
user.py
Read
config.py
config.py
Read
main.py
main.py
Read
session.py
session.py
Read
dashboard.html
dashboard.html
Read
audit_log.py
audit_log.py
Read
20260214_000000_add_users_and_audit_logs.py
20260214_000000_add_users_and_audit_logs.py
Read
20260320_000000_add_audit_query_string.py
20260320_000000_add_audit_query_string.py
Read
README.md
README.md
Read
requirements.txt
requirements.txt
Read
server.py
server.py
Read
server.py
server.py
(lines 101-400)
Thinking
Thinking
Now I have a full picture of both systems. Let me read the payments-logger source files before planning the migration.
Bash
List all payments-logger files
IN
find /volume2/docker/payments-logger -type f | grep -v node_modules | grep -v .git | sort
Copy code to clipboard
OUT
/volume2/docker/payments-logger/API.md
/volume2/docker/payments-logger/backend/Dockerfile
/volume2/docker/payments-logger/backend/.dockerignore
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
/volume2/docker/payments-logger/backend/prisma/schema.prisma
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/.claude/settings.local.json
/volume2/docker/payments-logger/docker-compose.yml
/volume2/docker/payments-logger/.env
/volume2/docker/payments-logger/.env.example
/volume2/docker/payments-logger/frontend/Dockerfile
/volume2/docker/payments-logger/frontend/.dockerignore
/volume2/docker/payments-logger/frontend/index.html
/volume2/docker/payments-logger/frontend/package.json
/volume2/docker/payments-logger/frontend/postcss.config.js
/volume2/docker/payments-logger/frontend/src/App.jsx
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx
/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx
/volume2/docker/payments-logger/frontend/src/index.css
/volume2/docker/payments-logger/frontend/src/main.jsx
/volume2/docker/payments-logger/frontend/tailwind.config.js
/volume2/docker/payments-logger/frontend/vite.config.js
/volume2/docker/payments-logger/README.md
Read
auth.js
auth.js
Read
index.js
index.js
Read
auth.js
auth.js
Read
AuthProvider.jsx
AuthProvider.jsx
Read
package.json
package.json
Read
AuthCallback.jsx
AuthCallback.jsx
Read
schema.prisma
schema.prisma
Read
docker-compose.yml
docker-compose.yml
Thinking
Thinking
Now let me read the remaining frontend files.
Read
App.jsx
App.jsx
Read
package.json
package.json
Read
.env
.env
Thinking
Thinking
Let me read the remaining files before making changes.
Read
main.jsx
main.jsx
Read
vite.config.js
vite.config.js
Read
payments.js
payments.js
Thinking
Thinking
Read
.env.example
.env.example
Thinking
Thinking
Now I have everything I need. Here's what changes:
Backend:
Rewrite
auth.js
(HS256 JWT + bcrypt), add
/auth/login
+
/auth/register
endpoints, add
User
model to Prisma, new migration, remove Hydra env vars.
Frontend:
Replace PKCE flow with a simple login form in
AuthProvider
, simplify
auth.js
, remove
AuthCallback
, drop
/.well-known
proxy.
Config:
Drop all Hydra/OAuth env vars, add
JWT_SECRET
.
Let me implement everything now.
Update Todos
Add bcryptjs to backend package.json
Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)
Update backend/src/index.js (remove wellKnownRouter, mount authRouter)
Add User model to prisma/schema.prisma
Create Prisma migration for users table
Rewrite frontend/src/auth.js (simple username/password login)
Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)
Update frontend/src/main.jsx (remove /auth/callback handling)
Delete frontend/src/components/AuthCallback.jsx
Update frontend/vite.config.js (remove /.well-known proxy)
Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)
Update .env and .env.example
Update Todos
Add bcryptjs to backend package.json
Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)
Update backend/src/index.js (remove wellKnownRouter, mount authRouter)
Add User model to prisma/schema.prisma
Create Prisma migration for users table
Rewrite frontend/src/auth.js (simple username/password login)
Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)
Update frontend/src/main.jsx (remove /auth/callback handling)
Delete frontend/src/components/AuthCallback.jsx
Update frontend/vite.config.js (remove /.well-known proxy)
Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)
Update .env and .env.example
Edit
package.json
package.json
Added 1 line...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E)","depth":19,"bounds":{"left":0.0,"top":0.047885075,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0039893617,"top":0.057462092,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"bounds":{"left":0.0,"top":0.08619314,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0039893617,"top":0.09577015,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 55 pending changes","depth":19,"bounds":{"left":0.0,"top":0.1245012,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0039893617,"top":0.13407822,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"55","depth":22,"bounds":{"left":0.0076462766,"top":0.1452514,"width":0.0043218085,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"bounds":{"left":0.0,"top":0.16280925,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0039893617,"top":0.17238627,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"bounds":{"left":0.0,"top":0.20111732,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0039893617,"top":0.21069433,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update","depth":19,"bounds":{"left":0.0,"top":0.23942538,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0039893617,"top":0.2490024,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.009640957,"top":0.2601756,"width":0.0019946808,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"bounds":{"left":0.0,"top":0.27773345,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"bounds":{"left":0.0,"top":0.3160415,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"bounds":{"left":0.022606382,"top":0.047885075,"width":0.018949468,"height":0.02793296},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"bounds":{"left":0.022606382,"top":0.056664005,"width":0.018949468,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022606382,"top":0.056664005,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.024933511,"top":0.056664005,"width":0.01662234,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: docker [SSH: nas]","depth":21,"bounds":{"left":0.015957447,"top":0.07581804,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.01662234,"top":0.07821229,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: docker [SSH: nas]","depth":22,"bounds":{"left":0.022606382,"top":0.07581804,"width":0.038231384,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"DOCKER [SSH: NAS]","depth":23,"bounds":{"left":0.022606382,"top":0.079010375,"width":0.038231384,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022606382,"top":0.07980846,"width":0.0029920214,"height":0.0103751}},{"char_start":1,"char_count":16,"bounds":{"left":0.025598405,"top":0.07980846,"width":0.03523936,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.0933759,"width":0.005319149,"height":0.005586592},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audiobookshelf","depth":27,"bounds":{"left":0.025930852,"top":0.0933759,"width":0.030917553,"height":0.0047885077},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.103751,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"auth","depth":27,"bounds":{"left":0.025930852,"top":0.103751,"width":0.008976064,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10454908,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.10454908,"width":0.0066489363,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.121308856,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"beszel","depth":27,"bounds":{"left":0.025930852,"top":0.121308856,"width":0.012965426,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.12210695,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":5,"bounds":{"left":0.028590426,"top":0.12210695,"width":0.010638298,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.13886672,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bitwarden","depth":27,"bounds":{"left":0.025930852,"top":0.13886672,"width":0.019946808,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.1396648,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":8,"bounds":{"left":0.028590426,"top":0.1396648,"width":0.017287234,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.15642458,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dawarich","depth":27,"bounds":{"left":0.025930852,"top":0.15642458,"width":0.017952127,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.15722266,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":7,"bounds":{"left":0.028590426,"top":0.15722266,"width":0.015625,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.17398244,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dsk-uploader","depth":27,"bounds":{"left":0.025930852,"top":0.17398244,"width":0.026928192,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.17478053,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":11,"bounds":{"left":0.028590426,"top":0.17478053,"width":0.024268618,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10605053,"top":0.17478053,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.1915403,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"flask-app","depth":27,"bounds":{"left":0.025930852,"top":0.1915403,"width":0.018949468,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.19233839,"width":0.0016622341,"height":0.011971269}},{"char_start":1,"char_count":8,"bounds":{"left":0.027593086,"top":0.19233839,"width":0.017287234,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10605053,"top":0.19233839,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.20909816,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"garmin-connector","depth":27,"bounds":{"left":0.025930852,"top":0.20909816,"width":0.036236703,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20989625,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":15,"bounds":{"left":0.028590426,"top":0.20989625,"width":0.033909574,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.22665602,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"gitea","depth":27,"bounds":{"left":0.025930852,"top":0.22665602,"width":0.009973404,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.22745411,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":4,"bounds":{"left":0.028590426,"top":0.22745411,"width":0.00731383,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.2442139,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health","depth":27,"bounds":{"left":0.025930852,"top":0.2442139,"width":0.012300532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.24501197,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":5,"bounds":{"left":0.028590426,"top":0.24501197,"width":0.009973404,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.26177174,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health-tracker","depth":27,"bounds":{"left":0.025930852,"top":0.26177174,"width":0.028590426,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":13,"bounds":{"left":0.028590426,"top":0.26256984,"width":0.025930852,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.2793296,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"homarr","depth":27,"bounds":{"left":0.025930852,"top":0.2793296,"width":0.014295213,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2801277,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":5,"bounds":{"left":0.028590426,"top":0.2801277,"width":0.011968086,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.29688746,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"hst","depth":27,"bounds":{"left":0.025930852,"top":0.29688746,"width":0.0063164895,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29768556,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":2,"bounds":{"left":0.028590426,"top":0.29768556,"width":0.003656915,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.31444532,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"immich","depth":27,"bounds":{"left":0.025930852,"top":0.31444532,"width":0.01462766,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.31524342,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":5,"bounds":{"left":0.026928192,"top":0.31524342,"width":0.013630319,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.3320032,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jellyfinht","depth":27,"bounds":{"left":0.025930852,"top":0.3320032,"width":0.016954787,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.33280128,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.33280128,"width":0.016289894,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.34956107,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"kavita","depth":27,"bounds":{"left":0.025930852,"top":0.34956107,"width":0.011635638,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":5,"bounds":{"left":0.02825798,"top":0.35035914,"width":0.009640957,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.36711892,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"libreoffice","depth":27,"bounds":{"left":0.025930852,"top":0.36711892,"width":0.020279255,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.367917,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":10,"bounds":{"left":0.026928192,"top":0.367917,"width":0.019281914,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.38467678,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"linkwarden","depth":27,"bounds":{"left":0.025930852,"top":0.38467678,"width":0.021609042,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38547486,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.38547486,"width":0.020611702,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.40223464,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"location-logger","depth":27,"bounds":{"left":0.025930852,"top":0.40223464,"width":0.030917553,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.40303272,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":14,"bounds":{"left":0.026928192,"top":0.40303272,"width":0.029920213,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10605053,"top":0.40303272,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.022273935,"top":0.4197925,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alembic","depth":27,"bounds":{"left":0.028590426,"top":0.4197925,"width":0.015625,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.42059058,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":6,"bounds":{"left":0.030917553,"top":0.42059058,"width":0.013297873,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10605053,"top":0.42059058,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.022273935,"top":0.43735036,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.028590426,"top":0.43735036,"width":0.0076462766,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.43814844,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":2,"bounds":{"left":0.030917553,"top":0.43814844,"width":0.005319149,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10605053,"top":0.43814844,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.022273935,"top":0.45490822,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mcp-server","depth":27,"bounds":{"left":0.028590426,"top":0.45490822,"width":0.023271276,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.4557063,"width":0.003656915,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.032247342,"top":0.4557063,"width":0.019946808,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.4708699,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".env","depth":27,"bounds":{"left":0.028590426,"top":0.47246608,"width":0.00831117,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.47326416,"width":0.0013297872,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.029920213,"top":0.47326416,"width":0.006981383,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.4884278,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".env.example","depth":27,"bounds":{"left":0.028590426,"top":0.49002394,"width":0.025930852,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.49082202,"width":0.0013297872,"height":0.011971269}},{"char_start":1,"char_count":11,"bounds":{"left":0.029920213,"top":0.49082202,"width":0.024933511,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.5059856,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.028590426,"top":0.50758183,"width":0.018949468,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.5083799,"width":0.0013297872,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.029920213,"top":0.5083799,"width":0.017952127,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.5235435,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".mcp.json","depth":27,"bounds":{"left":0.028590426,"top":0.5251397,"width":0.019614361,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.52593774,"width":0.0013297872,"height":0.011971269}},{"char_start":1,"char_count":8,"bounds":{"left":0.029920213,"top":0.52593774,"width":0.018284574,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.10638298,"top":0.52593774,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.54110134,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alembic.ini","depth":27,"bounds":{"left":0.028590426,"top":0.54269755,"width":0.021609042,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.5434956,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":10,"bounds":{"left":0.030917553,"top":0.5434956,"width":0.019281914,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.5586592,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"docker-compose.yml","depth":27,"bounds":{"left":0.028590426,"top":0.5602554,"width":0.042220745,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.56105345,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":17,"bounds":{"left":0.03125,"top":0.56105345,"width":0.03956117,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.10638298,"top":0.56105345,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.57621706,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Dockerfile","depth":27,"bounds":{"left":0.028590426,"top":0.57781327,"width":0.020611702,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.5786113,"width":0.0033244682,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.031914894,"top":0.5786113,"width":0.017287234,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.5937749,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"README.md","depth":27,"bounds":{"left":0.028590426,"top":0.5953711,"width":0.025265958,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.10638298,"top":0.5961692,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.6113328,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"requirements.txt","depth":27,"bounds":{"left":0.028590426,"top":0.612929,"width":0.032912236,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.61372703,"width":0.0016622341,"height":0.011971269}},{"char_start":1,"char_count":15,"bounds":{"left":0.03025266,"top":0.61372703,"width":0.03158245,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.10638298,"top":0.61372703,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021276595,"top":0.62889063,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"today_map.html","depth":27,"bounds":{"left":0.028590426,"top":0.63048685,"width":0.032247342,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.028590426,"top":0.6312849,"width":0.0016622341,"height":0.011971269}},{"char_start":1,"char_count":13,"bounds":{"left":0.03025266,"top":0.6312849,"width":0.030585106,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.6480447,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mariadb","depth":27,"bounds":{"left":0.025930852,"top":0.6480447,"width":0.016289894,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.64884275,"width":0.003656915,"height":0.011971269}},{"char_start":1,"char_count":6,"bounds":{"left":0.029587766,"top":0.64884275,"width":0.012965426,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.66560256,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"meeting-detector","depth":27,"bounds":{"left":0.025930852,"top":0.66560256,"width":0.03557181,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.6664006,"width":0.003656915,"height":0.011971269}},{"char_start":1,"char_count":15,"bounds":{"left":0.029587766,"top":0.6664006,"width":0.031914894,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.6831604,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mindfulmama","depth":27,"bounds":{"left":0.025930852,"top":0.6831604,"width":0.027260639,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.6839585,"width":0.003656915,"height":0.011971269}},{"char_start":1,"char_count":10,"bounds":{"left":0.029587766,"top":0.6839585,"width":0.023603724,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.7007183,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"n8n","depth":27,"bounds":{"left":0.025930852,"top":0.7007183,"width":0.0076462766,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.7015164,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":2,"bounds":{"left":0.028590426,"top":0.7015164,"width":0.004986702,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.71827614,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"notifier-app","depth":27,"bounds":{"left":0.025930852,"top":0.71827614,"width":0.023603724,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.71907425,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":11,"bounds":{"left":0.028590426,"top":0.71907425,"width":0.020944148,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.735834,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"npm","depth":27,"bounds":{"left":0.025930852,"top":0.735834,"width":0.008976064,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.75339186,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"oauth","depth":27,"bounds":{"left":0.025930852,"top":0.75339186,"width":0.011303191,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.75418997,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":4,"bounds":{"left":0.028590426,"top":0.75418997,"width":0.008976064,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.7709497,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"obsidian","depth":27,"bounds":{"left":0.025930852,"top":0.7709497,"width":0.016954787,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.7717478,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":7,"bounds":{"left":0.028590426,"top":0.7717478,"width":0.014295213,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.7885076,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ollama","depth":27,"bounds":{"left":0.025930852,"top":0.7885076,"width":0.012965426,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.7893057,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":5,"bounds":{"left":0.028590426,"top":0.7893057,"width":0.010638298,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.80606544,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"open-webui","depth":27,"bounds":{"left":0.025930852,"top":0.80606544,"width":0.023936171,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.80686355,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.028590426,"top":0.80686355,"width":0.021276595,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.8236233,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"openttd","depth":27,"bounds":{"left":0.025930852,"top":0.8236233,"width":0.015625,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.8244214,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":6,"bounds":{"left":0.028590426,"top":0.8244214,"width":0.013297873,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.84118116,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"openvpn-client","depth":27,"bounds":{"left":0.025930852,"top":0.84118116,"width":0.030585106,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.84197927,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":13,"bounds":{"left":0.028590426,"top":0.84197927,"width":0.027925532,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.858739,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"orchestrator","depth":27,"bounds":{"left":0.025930852,"top":0.858739,"width":0.024933511,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.8595371,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":11,"bounds":{"left":0.028590426,"top":0.8595371,"width":0.022273935,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.8762969,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"outfit-app","depth":27,"bounds":{"left":0.025930852,"top":0.8762969,"width":0.020279255,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.89385474,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"owntracks-stack","depth":27,"bounds":{"left":0.025930852,"top":0.89385474,"width":0.03357713,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.9114126,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"paperlessngx","depth":27,"bounds":{"left":0.025930852,"top":0.9114126,"width":0.026928192,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019614361,"top":0.92897046,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"payments-logger","depth":27,"bounds":{"left":0.025930852,"top":0.92897046,"width":0.034574468,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.022273935,"top":0.9465283,"width":0.005319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".claude","depth":27,"bounds":{"left":0.028590426,"top":0.9465283,"width":0.01462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.015957447,"top":0.9473264,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.01662234,"top":0.9497207,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"bounds":{"left":0.022606382,"top":0.9473264,"width":0.01662234,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"bounds":{"left":0.022606382,"top":0.95131683,"width":0.01662234,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.015957447,"top":0.9648843,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.01662234,"top":0.96727854,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"bounds":{"left":0.022606382,"top":0.9648843,"width":0.01761968,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"bounds":{"left":0.022606382,"top":0.9688747,"width":0.01761968,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"docker-compose.yml, Editor Group 1","depth":28,"bounds":{"left":0.11569149,"top":0.047885075,"width":0.0674867,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"bounds":{"left":0.15159574,"top":0.07821229,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"docker-compose.yml, Editor Group 1","depth":28,"bounds":{"left":0.11569149,"top":0.0933759,"width":0.38031915,"height":0.0007980846},"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Review payment logger au…, Editor Group 2","depth":28,"bounds":{"left":0.5578458,"top":0.047885075,"width":0.07679521,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0006648936,"top":0.98244214,"width":0.028590426,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0033244682,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.008643617,"top":0.9856345,"width":0.017952127,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"location-logger (Git)","depth":16,"bounds":{"left":0.030917553,"top":0.98244214,"width":0.03756649,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.031914894,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"location-logger","depth":17,"bounds":{"left":0.03723404,"top":0.9856345,"width":0.03025266,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"location-logger (Git) - main*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.06815159,"top":0.98244214,"width":0.019614361,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.069148935,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"main*","depth":17,"bounds":{"left":0.07446808,"top":0.9856345,"width":0.012300532,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"location-logger (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.08743351,"top":0.98244214,"width":0.0076462766,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.09740692,"top":0.98244214,"width":0.022606382,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.09906915,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.1043883,"top":0.9856345,"width":0.004986702,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.109042555,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.1143617,"top":0.9856345,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"No Ports Forwarded","depth":16,"bounds":{"left":0.12167553,"top":0.98244214,"width":0.012632979,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.12333777,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.12865691,"top":0.9856345,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.9886968,"top":0.98244214,"width":0.010638298,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"bounds":{"left":0.9650931,"top":0.98244214,"width":0.022606382,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.96675533,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"bounds":{"left":0.97207445,"top":0.9856345,"width":0.013962766,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"collapsed","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Review payment logger authorization implementation","depth":19,"bounds":{"left":0.56017286,"top":0.08060654,"width":0.099734046,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"bounds":{"left":0.9780585,"top":0.08060654,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"bounds":{"left":0.9886968,"top":0.08060654,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"review payment_logger project how toes authorization work","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me explore the payment_logger project structure first.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Find payment_logger project files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker -type f -name \"*.py\" -o -name \"*.yml\" -o -name \"*.yaml\" -o -name \"*.env\" -o -name \"*.toml\" -o -name \"*.cfg\" | grep -i payment | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"bfs: error: /volume2/docker/portnotedb/pg_commit_ts: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_dynshmem: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_notify: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_serial: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_snapshots: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_subtrans: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_twophase: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_multixact: Permission denied.\nbfs: error: /volume2/docker/portnotedb/base: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_replslot: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_tblspc: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_stat: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_stat_tmp: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_xact: Permission denied.\nbfs: error: /volume2/docker/portnotedb/pg_logical: Permission denied.\nbfs: error: /volume2/docker/openttd/.dbus: Permission denied.\nbfs: error: /volume2/docker/immich/db: Permission denied.\nbfs: error: /volume2/docker/paperlessngx/db: Permission denied.\nbfs: error: /volume2/docker/appflowy/postgres: Permission denied.\nbfs: error: /volume2/docker/auth/db: Permission denied.\nbfs: error: /volume2/docker/openttd/.XDG/dbus-1: Permission denied.\nbfs: error: /volume2/docker/openttd/.config/pulse: Permission denied.\nbfs: error: /volume2/docker/openttd/.cache/openbox/sessions: Permission denied.\n/volume2/docker/payments-logger/.env\n/volume2/docker/payments-logger/docker-compose.yml\n/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List docker directory contents","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume2/docker/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"adguard\nai-stack\napp-db\nappflowy\naudiobookshelf\nauth\nbeszel\nbitwarden\ndawarich\ndsk-uploader\nflask-app\ngarmin-connector\ngitea\nhealth\nhealth-tracker\nhomarr\nhst\nimmich\njellyfinht\nkavita\nlibreoffice\nlinkwarden\nlocation-logger\nmariadb\nmeeting-detector\nmindfulmama\nn8n\nnotifier-app\nnpm\noauth\nobsidian\nollama\nopenttd\nopenvpn-client\nopen-webui\norchestrator\noutfit-app\nowntracks-stack\npaperlessngx\npayments-logger\npersonal-log\npersonal-log-system\nplayer\nportainer\nportnotedb\nreminders-app\nromm\nsecond-brain\nstatic\nstirling\nsyncthing\ntailscale\ntemp-logger\ntest-app\ntmp\ntorrent-stack\ntree\ntrilium\ntubearchivist\ntwenty\nuptimekuma\nytptube","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Agent:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Explore payment_logger authorization code","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Explore the payments-logger project at /volume2/docker/payments-logger and give me a thorough understanding of how authorization works. I need to know:\n\n1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)\n2. Where auth is enforced (middleware, decorators, route guards, etc.)\n3. What roles/permissions exist\n4. How tokens are issued, validated, and refreshed\n5. Any auth-related config (env vars, settings)\n\nPlease read the key source files and give me a clear summary with file paths and line numbers for the important parts.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger -type f -name \"*.py\" -o -name \"*.json\" -o -name \"*.yml\" -o -name \"*.yaml\" | grep -E \"(auth|token|jwt|session|permission|role)\" | head -20","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(Bash completed with no output)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls -la /volume2/docker/payments-logger/ 2>/dev/null || echo \"Directory not found\"","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"total 36\ndrwxrwxrwx 1 Adm1n admin 162 Mar 29 18:01 .\ndrwxrwxrwx 1 root root 1146 Apr 26 18:49 ..\n-rwxrwxrwx 1 Adm1n admin 15233 Feb 22 17:08 API.md\ndrwxrwxrwx 1 Adm1n admin 88 Mar 29 15:41 backend\ndrwxrwxrwx 1 Adm1n admin 38 Mar 29 17:07 .claude\n-rwxrwxrwx 1 Adm1n admin 1502 Mar 29 18:01 docker-compose.yml\n-rwxrwxrwx 1 Adm1n admin 1066 Mar 29 15:44 .env\n-rwxrwxrwx 1 Adm1n admin 1078 Feb 14 17:53 .env.example\ndrwxrwxrwx 1 Adm1n admin 194 Mar 29 15:44 frontend\n-rwxrwxrwx 1 Adm1n admin 19 Feb 14 17:54 .gitignore\n-rwxrwxrwx 1 Adm1n admin 4052 Feb 14 19:06 README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger/backend -type f | head -30","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/backend/Dockerfile\n/volume2/docker/payments-logger/backend/.dockerignore\n/volume2/docker/payments-logger/backend/package.json\n/volume2/docker/payments-logger/backend/prisma/schema.prisma\n/volume2/docker/payments-logger/backend/src/parser.js\n/volume2/docker/payments-logger/backend/src/index.js\n/volume2/docker/payments-logger/backend/src/auth.js\n/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml\n/volume2/docker/payments-logger/backend/src/routes/payments.js\n/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger -type f \\( -name \"*.js\" -o -name \"*.json\" -o -name \"*.md\" \\) | sort","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/API.md\n/volume2/docker/payments-logger/backend/package.json\n/volume2/docker/payments-logger/backend/src/auth.js\n/volume2/docker/payments-logger/backend/src/index.js\n/volume2/docker/payments-logger/backend/src/parser.js\n/volume2/docker/payments-logger/backend/src/routes/payments.js\n/volume2/docker/payments-logger/.claude/settings.local.json\n/volume2/docker/payments-logger/frontend/package.json\n/volume2/docker/payments-logger/frontend/postcss.config.js\n/volume2/docker/payments-logger/frontend/src/auth.js\n/volume2/docker/payments-logger/frontend/tailwind.config.js\n/volume2/docker/payments-logger/frontend/vite.config.js\n/volume2/docker/payments-logger/README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":".env","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".env","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"index.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"index.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"package.json","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"package.json","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"API.md","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"API.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"payments.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"payments.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":".env.example","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".env.example","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"schema.prisma","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"schema.prisma","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep -r \"API_KEY\\|auth\\|token\\|oauth\\|hydra\" /volume2/docker/payments-logger/backend/src --include=\"*.js\" -n","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/backend/src/index.js:6:const { bearerTokenMiddleware, wellKnownRouter } = require('./auth');\n/volume2/docker/payments-logger/backend/src/index.js:18:// ── OAuth Bearer token auth (skips public paths) ──────────────────────────────\n/volume2/docker/payments-logger/backend/src/auth.js:2: * OAuth 2.1 / Hydra JWT authentication for Express.\n/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints\n/volume2/docker/payments-logger/backend/src/auth.js:33:function sendUnauthorized(res, detail, error = 'invalid_token') {\n/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata=\"${realm}/.well-known/oauth-protected-resource\"`,\n/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server=\"${HYDRA_PUBLIC_URL}\"`,\n/volume2/docker/payments-logger/backend/src/auth.js:52: * On success, attaches the decoded payload to req.tokenPayload.\n/volume2/docker/payments-logger/backend/src/auth.js:54: * @param {Set<string>} publicPaths Paths to skip auth for.\n/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',\n/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',\n/volume2/docker/payments-logger/backend/src/auth.js:66: const auth = req.headers.authorization || '';\n/volume2/docker/payments-logger/backend/src/auth.js:67: if (!auth.toLowerCase().startsWith('bearer ')) {\n/volume2/docker/payments-logger/backend/src/auth.js:68: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');\n/volume2/docker/payments-logger/backend/src/auth.js:71: const token = auth.slice(7).trim();\n/volume2/docker/payments-logger/backend/src/auth.js:72: if (!token) {\n/volume2/docker/payments-logger/backend/src/auth.js:73: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');\n/volume2/docker/payments-logger/backend/src/auth.js:82: const { payload } = await jwtVerify(token, getJwks(), verifyOptions);\n/volume2/docker/payments-logger/backend/src/auth.js:83: req.tokenPayload = payload;\n/volume2/docker/payments-logger/backend/src/auth.js:87: const error = msg.includes('expired') ? 'invalid_token' : 'invalid_token';\n/volume2/docker/payments-logger/backend/src/auth.js:88: sendUnauthorized(res, msg, error);\n/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {\n/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],\n/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {\n/volume2/docker/payments-logger/backend/src/auth.js:119: authorization_endpoint: doc.authorization_endpoint,\n/volume2/docker/payments-logger/backend/src/auth.js:120: token_endpoint: doc.token_endpoint,\n/volume2/docker/payments-logger/backend/src/auth.js:123: grant_types_supported: doc.grant_types_supported || ['authorization_code', 'refresh_token'],\n/volume2/docker/payments-logger/backend/src/auth.js:124: token_endpoint_auth_methods_supported: doc.token_endpoint_auth_methods_supported || ['none', 'client_secret_basic'],\n/volume2/docker/payments-logger/backend/src/auth.js:128: id_token_signing_alg_values_supported: doc.id_token_signing_alg_values_supported || ['RS256'],\n/volume2/docker/payments-logger/backend/src/routes/payments.js:58:// ── Ingest a payment (public — no auth) ──────────────────────────────────────","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger/frontend/src -type f -name \"*.js\" -o -name \"*.jsx\" -o -name \"*.ts\" -o -name \"*.tsx\" | head -20","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/frontend/src/main.jsx\n/volume2/docker/payments-logger/frontend/src/App.jsx\n/volume2/docker/payments-logger/frontend/src/auth.js\n/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx\n/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx\n/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx\n/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"AuthProvider.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AuthProvider.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"AuthCallback.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AuthCallback.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"App.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"App.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"vite.config.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"vite.config.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep -r \"HYDRA\\|VITE\" /volume2/docker/payments-logger --include=\".env*\" -n","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(Bash completed with no output)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"docker-compose.yml","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep -r \"API_KEY\" /volume2/docker/payments-logger/backend --include=\"*.js\" -n","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(Bash completed with no output)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"README.md","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"grep -n \"HYDRA\\|oauth\\|TOKEN\" /volume2/docker/payments-logger/backend/src/index.js /volume2/docker/payments-logger/backend/src/auth.js | head -40","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints\n/volume2/docker/payments-logger/backend/src/auth.js:11:const HYDRA_PUBLIC_URL = (process.env.HYDRA_PUBLIC_URL || '').replace(/\\/$/, '');\n/volume2/docker/payments-logger/backend/src/auth.js:24: new URL(`${HYDRA_PUBLIC_URL}/.well-known/jwks.json`)\n/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata=\"${realm}/.well-known/oauth-protected-resource\"`,\n/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server=\"${HYDRA_PUBLIC_URL}\"`,\n/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',\n/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',\n/volume2/docker/payments-logger/backend/src/auth.js:78: issuer: HYDRA_PUBLIC_URL,\n/volume2/docker/payments-logger/backend/src/auth.js:81: if (process.env.TOKEN_AUDIENCE) verifyOptions.audience = process.env.TOKEN_AUDIENCE;\n/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {\n/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],\n/volume2/docker/payments-logger/backend/src/auth.js:107: jwks_uri: `${HYDRA_PUBLIC_URL}/.well-known/jwks.json`,\n/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {\n/volume2/docker/payments-logger/backend/src/auth.js:113: const r = await fetch(`${HYDRA_PUBLIC_URL}/.well-known/openid-configuration`);\n/volume2/docker/payments-logger/backend/src/auth.js:118: issuer: doc.issuer || HYDRA_PUBLIC_URL,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"payments-logger Authorization Overview","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"payments-logger Authorization Overview","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The project uses","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"OAuth 2.1 with PKCE","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"via an external Hydra OAuth server at","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"hydra.lakylak.xyz","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"Auth Flow","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Auth Flow","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Frontend","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"frontend/src/auth.js","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"frontend/src/auth.js","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"):","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Fetches OAuth server metadata via discovery endpoint","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Generates a PKCE code verifier/challenge (SHA-256)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Redirects user to Hydra login with","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"code_challenge","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"On callback, exchanges code + verifier for tokens","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Stores","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"access_token","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"refresh_token","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"in","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"localStorage","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pl_oauth_tokens","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Auto-refreshes token 30 seconds before expiry","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Backend","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"backend/src/auth.js","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"backend/src/auth.js","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"):","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"bearerTokenMiddleware","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"validates the","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Authorization: Bearer <token>","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"header","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Fetches Hydra's JWKS (cached 300s) and verifies JWT signature (RS256/ES256/PS256)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Validates issuer (","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"https://hydra.lakylak.xyz","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":") and optional audience","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"Enforcement","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Enforcement","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Applied globally in","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"backend/src/index.js:19","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"backend/src/index.js:19","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"with these","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"public (unprotected) paths","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/.well-known/oauth-protected-resource","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/.well-known/oauth-authorization-server","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/api/health","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/api/payments/ingest","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(rate-limited at 200 req/min — for SMS ingestion)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"Roles/Permissions","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Roles/Permissions","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"No RBAC","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— it's binary: authenticated vs. unauthenticated. Required scopes:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"openid","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"offline_access","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXHeading","text":"Key Security Notes","depth":22,"on_screen":false,"role_description":"heading"},{"role":"AXStaticText","text":"Key Security Notes","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"PKCE","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"prevents authorization code interception","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"State parameter","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"provides CSRF protection","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"No server-side token storage","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— validation is stateless via JWKS","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"The README/API docs mention an","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"X-API-Key","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"header, but that's","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"outdated","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— the actual code uses Bearer tokens only","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Config lives in","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"docker-compose.yml","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"docker-compose.yml","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(lines 30–33):","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"HYDRA_PUBLIC_URL","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"REQUIRED_SCOPES","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"OAUTH_CLIENT_ID","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", and optionally","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"TOKEN_AUDIENCE","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"JWKS_CACHE_TTL","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Message actions","depth":24,"bounds":{"left":0.9900266,"top":0.11173184,"width":0.0066489363,"height":0.015961692},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"compare it to location logger and make it the same. Lets remove hydra and only use authentic (or whatever location logger uses).","depth":25,"bounds":{"left":0.5671542,"top":0.12529927,"width":0.25930852,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me first explore how location-logger handles authorization.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Agent:","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Explore location-logger authorization code","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Explore the location-logger project at /volume2/docker/location-logger and give me a thorough understanding of how authorization works. I need to know:\n\n1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)\n2. Where auth is enforced (middleware, decorators, route guards, etc.)\n3. What roles/permissions exist\n4. How tokens are issued, validated, and refreshed\n5. Any auth-related config (env vars, settings)\n6. Frontend auth flow (how the user logs in, how tokens are stored and used)\n7. The full directory/file structure of the project\n\nPlease read ALL relevant source files completely and give me a detailed summary with file paths and line numbers. I need enough detail to replicate this auth system in another project.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/location-logger -type f -name \"*.py\" -o -name \"*.js\" -o -name \"*.ts\" -o -name \"*.json\" | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/location-logger/.mcp.json\n/volume2/docker/location-logger/app/__init__.py\n/volume2/docker/location-logger/app/utils.py\n/volume2/docker/location-logger/app/config.py\n/volume2/docker/location-logger/app/main.py\n/volume2/docker/location-logger/alembic/env.py\n/volume2/docker/location-logger/mcp-server/server.py\n/volume2/docker/location-logger/alembic/versions/20260203_201500_create_location_points_table.py\n/volume2/docker/location-logger/alembic/versions/20260209_200000_add_enhanced_fields_and_tables.py\n/volume2/docker/location-logger/alembic/versions/20260214_000000_add_users_and_audit_logs.py\n/volume2/docker/location-logger/alembic/versions/20260320_000000_add_audit_query_string.py\n/volume2/docker/location-logger/app/services/geofence_service.py\n/volume2/docker/location-logger/app/services/recorder_service.py\n/volume2/docker/location-logger/app/services/trip_service.py\n/volume2/docker/location-logger/app/services/enhanced_location_service.py\n/volume2/docker/location-logger/app/services/geocoding_service.py\n/volume2/docker/location-logger/app/clients/__init__.py\n/volume2/docker/location-logger/app/clients/dawarich_client.py\n/volume2/docker/location-logger/app/clients/owntracks_client.py\n/volume2/docker/location-logger/app/models/areas.py\n/volume2/docker/location-logger/app/models/geofence_events.py\n/volume2/docker/location-logger/app/models/trips.py\n/volume2/docker/location-logger/app/models/user.py\n/volume2/docker/location-logger/app/models/location.py\n/volume2/docker/location-logger/app/models/audit_log.py\n/volume2/docker/location-logger/app/auth/__init__.py\n/volume2/docker/location-logger/app/auth/dependencies.py\n/volume2/docker/location-logger/app/auth/utils.py\n/volume2/docker/location-logger/app/api/enhanced_endpoints.py\n/volume2/docker/location-logger/app/db/base.py\n/volume2/docker/location-logger/app/db/session.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"tree -L 4 /volume2/docker/location-logger 2>/dev/null || find /volume2/docker/location-logger -type d | sort","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/location-logger\n├── alembic\n│ ├── env.py\n│ ├── script.py.mako\n│ └── versions\n│ ├── 20260203_201500_create_location_points_table.py\n│ ├── 20260209_200000_add_enhanced_fields_and_tables.py\n│ ├── 20260214_000000_add_users_and_audit_logs.py\n│ ├── 20260320_000000_add_audit_query_string.py\n│ └── __pycache__\n│ └── 20260214_000000_add_users_and_audit_logs.cpython-311.pyc\n├── alembic.ini\n├── app\n│ ├── api\n│ │ └── enhanced_endpoints.py\n│ ├── auth\n│ │ ├── dependencies.py\n│ │ ├── __init__.py\n│ │ ├── __pycache__\n│ │ │ ├── dependencies.cpython-311.pyc\n│ │ │ ├── __init__.cpython-311.pyc\n│ │ │ └── utils.cpython-311.pyc\n│ │ └── utils.py\n│ ├── clients\n│ │ ├── dawarich_client.py\n│ │ ├── __init__.py\n│ │ └── owntracks_client.py\n│ ├── config.py\n│ ├── db\n│ │ ├── base.py\n│ │ └── session.py\n│ ├── __init__.py\n│ ├── main.py\n│ ├── models\n│ │ ├── areas.py\n│ │ ├── audit_log.py\n│ │ ├── geofence_events.py\n│ │ ├── location.py\n│ │ ├── __pycache__\n│ │ │ ├── audit_log.cpython-311.pyc\n│ │ │ └── user.cpython-311.pyc\n│ │ ├── trips.py\n│ │ └── user.py\n│ ├── __pycache__\n│ │ ├── __init__.cpython-311.pyc\n│ │ └── main.cpython-311.pyc\n│ ├── services\n│ │ ├── enhanced_location_service.py\n│ │ ├── geocoding_service.py\n│ │ ├── geofence_service.py\n│ │ ├── recorder_service.py\n│ │ └── trip_service.py\n│ ├── static\n│ │ └── dashboard.html\n│ └── utils.py\n├── docker-compose.yml\n├── Dockerfile\n├── mcp-server\n│ ├── Dockerfile\n│ ├── requirements.txt\n│ └── server.py\n├── README.md\n├── requirements.txt\n└── today_map.html\n\n16 directories, 48 files","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"utils.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"utils.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"dependencies.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"dependencies.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"user.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"user.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"config.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"config.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"session.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"session.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"dashboard.html","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"dashboard.html","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"audit_log.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"audit_log.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"20260214_000000_add_users_and_audit_logs.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20260214_000000_add_users_and_audit_logs.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"20260320_000000_add_audit_query_string.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"20260320_000000_add_audit_query_string.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"README.md","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"requirements.txt","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"requirements.txt","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"server.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"server.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"server.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"server.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(lines 101-400)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now I have a full picture of both systems. Let me read the payments-logger source files before planning the migration.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List all payments-logger files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume2/docker/payments-logger -type f | grep -v node_modules | grep -v .git | sort","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume2/docker/payments-logger/API.md\n/volume2/docker/payments-logger/backend/Dockerfile\n/volume2/docker/payments-logger/backend/.dockerignore\n/volume2/docker/payments-logger/backend/package.json\n/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql\n/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml\n/volume2/docker/payments-logger/backend/prisma/schema.prisma\n/volume2/docker/payments-logger/backend/src/auth.js\n/volume2/docker/payments-logger/backend/src/index.js\n/volume2/docker/payments-logger/backend/src/parser.js\n/volume2/docker/payments-logger/backend/src/routes/payments.js\n/volume2/docker/payments-logger/.claude/settings.local.json\n/volume2/docker/payments-logger/docker-compose.yml\n/volume2/docker/payments-logger/.env\n/volume2/docker/payments-logger/.env.example\n/volume2/docker/payments-logger/frontend/Dockerfile\n/volume2/docker/payments-logger/frontend/.dockerignore\n/volume2/docker/payments-logger/frontend/index.html\n/volume2/docker/payments-logger/frontend/package.json\n/volume2/docker/payments-logger/frontend/postcss.config.js\n/volume2/docker/payments-logger/frontend/src/App.jsx\n/volume2/docker/payments-logger/frontend/src/auth.js\n/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx\n/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx\n/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx\n/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx\n/volume2/docker/payments-logger/frontend/src/index.css\n/volume2/docker/payments-logger/frontend/src/main.jsx\n/volume2/docker/payments-logger/frontend/tailwind.config.js\n/volume2/docker/payments-logger/frontend/vite.config.js\n/volume2/docker/payments-logger/README.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"index.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"index.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"auth.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"auth.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"AuthProvider.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AuthProvider.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"package.json","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"package.json","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"AuthCallback.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AuthCallback.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"schema.prisma","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"schema.prisma","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"docker-compose.yml","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now let me read the remaining frontend files.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"App.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"App.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"package.json","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"package.json","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":".env","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".env","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me read the remaining files before making changes.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.jsx","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.jsx","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"vite.config.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"vite.config.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"payments.js","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"payments.js","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":".env.example","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":".env.example","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now I have everything I need. Here's what changes:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Backend:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"auth.js","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"(HS256 JWT + bcrypt), add","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/auth/login","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/auth/register","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"endpoints, add","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"User","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"model to Prisma, new migration, remove Hydra env vars.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Frontend:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Replace PKCE flow with a simple login form in","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"AuthProvider","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", simplify","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"auth.js","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", remove","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"AuthCallback","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", drop","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/.well-known","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"proxy.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Config:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Drop all Hydra/OAuth env vars, add","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"JWT_SECRET","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":".","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me implement everything now.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update Todos","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add bcryptjs to backend package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update backend/src/index.js (remove wellKnownRouter, mount authRouter)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add User model to prisma/schema.prisma","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Create Prisma migration for users table","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/auth.js (simple username/password login)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/src/main.jsx (remove /auth/callback handling)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Delete frontend/src/components/AuthCallback.jsx","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/vite.config.js (remove /.well-known proxy)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update .env and .env.example","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update Todos","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add bcryptjs to backend package.json","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update backend/src/index.js (remove wellKnownRouter, mount authRouter)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Add User model to prisma/schema.prisma","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Create Prisma migration for users table","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/auth.js (simple username/password login)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/src/main.jsx (remove /auth/callback handling)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Delete frontend/src/components/AuthCallback.jsx","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update frontend/vite.config.js (remove /.well-known proxy)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Update .env and .env.example","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"package.json","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"package.json","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Added 1 line","depth":24,"on_screen":false,"role_description":"text"}]...
|
8130979848650336514
|
-4844822275744214452
|
visual_change
|
accessibility
|
NULL
|
Explorer (⇧⌘E)
Search (⇧⌘F)
Source Control (⌃⇧ Explorer (⇧⌘E)
Search (⇧⌘F)
Source Control (⌃⇧G) - 55 pending changes
55
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update
2
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: docker [SSH: nas]
Explorer Section: docker [SSH: nas]
DOCKER [SSH: NAS]
audiobookshelf
auth
beszel
bitwarden
dawarich
dsk-uploader
flask-app
garmin-connector
gitea
health
health-tracker
homarr
hst
immich
jellyfinht
kavita
libreoffice
linkwarden
location-logger
alembic
app
mcp-server
.env
.env.example
.gitignore
.mcp.json
M
alembic.ini
docker-compose.yml
M
Dockerfile
README.md
M
requirements.txt
M
today_map.html
mariadb
meeting-detector
mindfulmama
n8n
notifier-app
npm
oauth
obsidian
ollama
open-webui
openttd
openvpn-client
orchestrator
outfit-app
owntracks-stack
paperlessngx
payments-logger
.claude
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
docker-compose.yml, Editor Group 1
docker-compose.yml, Editor Group 1
Review payment logger au…, Editor Group 2
remote SSH: nas
SSH: nas
location-logger (Git)
location-logger
location-logger (Git) - main*, Checkout Branch/Tag...
main*
location-logger (Git) - Synchronize Changes
No Problems
0
0
No Ports Forwarded
0
Notifications
Sign In
Sign In
collapsed
Clear
Review payment logger authorization implementation
Session history
New session
Message actions
review payment_logger project how toes authorization work
Thinking
Thinking
Let me explore the payment_logger project structure first.
Bash
Find payment_logger project files
IN
find /volume2/docker -type f -name "*.py" -o -name "*.yml" -o -name "*.yaml" -o -name "*.env" -o -name "*.toml" -o -name "*.cfg" | grep -i payment | head -50
Copy code to clipboard
OUT
bfs: error: /volume2/docker/portnotedb/pg_commit_ts: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_dynshmem: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_notify: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_serial: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_snapshots: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_subtrans: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_twophase: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_multixact: Permission denied.
bfs: error: /volume2/docker/portnotedb/base: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_replslot: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_tblspc: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_stat: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_stat_tmp: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_xact: Permission denied.
bfs: error: /volume2/docker/portnotedb/pg_logical: Permission denied.
bfs: error: /volume2/docker/openttd/.dbus: Permission denied.
bfs: error: /volume2/docker/immich/db: Permission denied.
bfs: error: /volume2/docker/paperlessngx/db: Permission denied.
bfs: error: /volume2/docker/appflowy/postgres: Permission denied.
bfs: error: /volume2/docker/auth/db: Permission denied.
bfs: error: /volume2/docker/openttd/.XDG/dbus-1: Permission denied.
bfs: error: /volume2/docker/openttd/.config/pulse: Permission denied.
bfs: error: /volume2/docker/openttd/.cache/openbox/sessions: Permission denied.
/volume2/docker/payments-logger/.env
/volume2/docker/payments-logger/docker-compose.yml
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
Bash
List docker directory contents
IN
ls /volume2/docker/
Copy code to clipboard
OUT
adguard
ai-stack
app-db
appflowy
audiobookshelf
auth
beszel
bitwarden
dawarich
dsk-uploader
flask-app
garmin-connector
gitea
health
health-tracker
homarr
hst
immich
jellyfinht
kavita
libreoffice
linkwarden
location-logger
mariadb
meeting-detector
mindfulmama
n8n
notifier-app
npm
oauth
obsidian
ollama
openttd
openvpn-client
open-webui
orchestrator
outfit-app
owntracks-stack
paperlessngx
payments-logger
personal-log
personal-log-system
player
portainer
portnotedb
reminders-app
romm
second-brain
static
stirling
syncthing
tailscale
temp-logger
test-app
tmp
torrent-stack
tree
trilium
tubearchivist
twenty
uptimekuma
ytptube
Agent:
Explore payment_logger authorization code
IN
Explore the payments-logger project at /volume2/docker/payments-logger and give me a thorough understanding of how authorization works. I need to know:
1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)
2. Where auth is enforced (middleware, decorators, route guards, etc.)
3. What roles/permissions exist
4. How tokens are issued, validated, and refreshed
5. Any auth-related config (env vars, settings)
Please read the key source files and give me a clear summary with file paths and line numbers for the important parts.
Bash
IN
find /volume2/docker/payments-logger -type f -name "*.py" -o -name "*.json" -o -name "*.yml" -o -name "*.yaml" | grep -E "(auth|token|jwt|session|permission|role)" | head -20
Copy code to clipboard
OUT
(Bash completed with no output)
Bash
IN
ls -la /volume2/docker/payments-logger/ 2>/dev/null || echo "Directory not found"
Copy code to clipboard
OUT
total 36
drwxrwxrwx 1 Adm1n admin 162 Mar 29 18:01 .
drwxrwxrwx 1 root root 1146 Apr 26 18:49 ..
-rwxrwxrwx 1 Adm1n admin 15233 Feb 22 17:08 API.md
drwxrwxrwx 1 Adm1n admin 88 Mar 29 15:41 backend
drwxrwxrwx 1 Adm1n admin 38 Mar 29 17:07 .claude
-rwxrwxrwx 1 Adm1n admin 1502 Mar 29 18:01 docker-compose.yml
-rwxrwxrwx 1 Adm1n admin 1066 Mar 29 15:44 .env
-rwxrwxrwx 1 Adm1n admin 1078 Feb 14 17:53 .env.example
drwxrwxrwx 1 Adm1n admin 194 Mar 29 15:44 frontend
-rwxrwxrwx 1 Adm1n admin 19 Feb 14 17:54 .gitignore
-rwxrwxrwx 1 Adm1n admin 4052 Feb 14 19:06 README.md
Bash
IN
find /volume2/docker/payments-logger/backend -type f | head -30
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/Dockerfile
/volume2/docker/payments-logger/backend/.dockerignore
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/prisma/schema.prisma
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql
Bash
IN
find /volume2/docker/payments-logger -type f \( -name "*.js" -o -name "*.json" -o -name "*.md" \) | sort
Copy code to clipboard
OUT
/volume2/docker/payments-logger/API.md
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/.claude/settings.local.json
/volume2/docker/payments-logger/frontend/package.json
/volume2/docker/payments-logger/frontend/postcss.config.js
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/tailwind.config.js
/volume2/docker/payments-logger/frontend/vite.config.js
/volume2/docker/payments-logger/README.md
Read
.env
.env
Read
auth.js
auth.js
Read
index.js
index.js
Read
package.json
package.json
Read
auth.js
auth.js
Read
API.md
API.md
Read
payments.js
payments.js
Read
.env.example
.env.example
Read
schema.prisma
schema.prisma
Bash
IN
grep -r "API_KEY\|auth\|token\|oauth\|hydra" /volume2/docker/payments-logger/backend/src --include="*.js" -n
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/src/index.js:6:const { bearerTokenMiddleware, wellKnownRouter } = require('./auth');
/volume2/docker/payments-logger/backend/src/index.js:18:// ── OAuth Bearer token auth (skips public paths) ──────────────────────────────
/volume2/docker/payments-logger/backend/src/auth.js:2: * OAuth 2.1 / Hydra JWT authentication for Express.
/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints
/volume2/docker/payments-logger/backend/src/auth.js:33:function sendUnauthorized(res, detail, error = 'invalid_token') {
/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata="${realm}/.well-known/oauth-protected-resource"`,
/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server="${HYDRA_PUBLIC_URL}"`,
/volume2/docker/payments-logger/backend/src/auth.js:52: * On success, attaches the decoded payload to req.tokenPayload.
/volume2/docker/payments-logger/backend/src/auth.js:54: * @param {Set<string>} publicPaths Paths to skip auth for.
/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',
/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',
/volume2/docker/payments-logger/backend/src/auth.js:66: const auth = req.headers.authorization || '';
/volume2/docker/payments-logger/backend/src/auth.js:67: if (!auth.toLowerCase().startsWith('bearer ')) {
/volume2/docker/payments-logger/backend/src/auth.js:68: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');
/volume2/docker/payments-logger/backend/src/auth.js:71: const token = auth.slice(7).trim();
/volume2/docker/payments-logger/backend/src/auth.js:72: if (!token) {
/volume2/docker/payments-logger/backend/src/auth.js:73: return sendUnauthorized(res, 'Bearer token required', 'invalid_request');
/volume2/docker/payments-logger/backend/src/auth.js:82: const { payload } = await jwtVerify(token, getJwks(), verifyOptions);
/volume2/docker/payments-logger/backend/src/auth.js:83: req.tokenPayload = payload;
/volume2/docker/payments-logger/backend/src/auth.js:87: const error = msg.includes('expired') ? 'invalid_token' : 'invalid_token';
/volume2/docker/payments-logger/backend/src/auth.js:88: sendUnauthorized(res, msg, error);
/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],
/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:119: authorization_endpoint: doc.authorization_endpoint,
/volume2/docker/payments-logger/backend/src/auth.js:120: token_endpoint: doc.token_endpoint,
/volume2/docker/payments-logger/backend/src/auth.js:123: grant_types_supported: doc.grant_types_supported || ['authorization_code', 'refresh_token'],
/volume2/docker/payments-logger/backend/src/auth.js:124: [API_KEY]: doc.[API_KEY] || ['none', 'client_secret_basic'],
/volume2/docker/payments-logger/backend/src/auth.js:128: id_token_signing_alg_values_supported: doc.id_token_signing_alg_values_supported || ['RS256'],
/volume2/docker/payments-logger/backend/src/routes/payments.js:58:// ── Ingest a payment (public — no auth) ──────────────────────────────────────
Bash
IN
find /volume2/docker/payments-logger/frontend/src -type f -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" | head -20
Copy code to clipboard
OUT
/volume2/docker/payments-logger/frontend/src/main.jsx
/volume2/docker/payments-logger/frontend/src/App.jsx
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx
/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx
Read
AuthProvider.jsx
AuthProvider.jsx
Read
AuthCallback.jsx
AuthCallback.jsx
Read
App.jsx
App.jsx
Read
main.jsx
main.jsx
Read
vite.config.js
vite.config.js
Bash
IN
grep -r "HYDRA\|VITE" /volume2/docker/payments-logger --include=".env*" -n
Copy code to clipboard
OUT
(Bash completed with no output)
Read
docker-compose.yml
docker-compose.yml
Bash
IN
grep -r "API_KEY" /volume2/docker/payments-logger/backend --include="*.js" -n
Copy code to clipboard
OUT
(Bash completed with no output)
Read
README.md
README.md
Bash
IN
grep -n "HYDRA\|oauth\|TOKEN" /volume2/docker/payments-logger/backend/src/index.js /volume2/docker/payments-logger/backend/src/auth.js | head -40
Copy code to clipboard
OUT
/volume2/docker/payments-logger/backend/src/auth.js:6: * - wellKnownRouter — serves /.well-known/oauth-* discovery endpoints
/volume2/docker/payments-logger/backend/src/auth.js:11:const HYDRA_PUBLIC_URL = (process.env.HYDRA_PUBLIC_URL || '').replace(/\/$/, '');
/volume2/docker/payments-logger/backend/src/auth.js:24: new URL(`${HYDRA_PUBLIC_URL}/.well-known/jwks.json`)
/volume2/docker/payments-logger/backend/src/auth.js:39: `resource_metadata="${realm}/.well-known/oauth-protected-resource"`,
/volume2/docker/payments-logger/backend/src/auth.js:40: `authorization_server="${HYDRA_PUBLIC_URL}"`,
/volume2/docker/payments-logger/backend/src/auth.js:58: '/.well-known/oauth-protected-resource',
/volume2/docker/payments-logger/backend/src/auth.js:59: '/.well-known/oauth-authorization-server',
/volume2/docker/payments-logger/backend/src/auth.js:78: issuer: HYDRA_PUBLIC_URL,
/volume2/docker/payments-logger/backend/src/auth.js:81: if (process.env.TOKEN_AUDIENCE) verifyOptions.audience = process.env.TOKEN_AUDIENCE;
/volume2/docker/payments-logger/backend/src/auth.js:98:wellKnownRouter.get('/.well-known/oauth-protected-resource', (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:103: authorization_servers: [HYDRA_PUBLIC_URL],
/volume2/docker/payments-logger/backend/src/auth.js:107: jwks_uri: `${HYDRA_PUBLIC_URL}/.well-known/jwks.json`,
/volume2/docker/payments-logger/backend/src/auth.js:111:wellKnownRouter.get('/.well-known/oauth-authorization-server', async (_req, res) => {
/volume2/docker/payments-logger/backend/src/auth.js:113: const r = await fetch(`${HYDRA_PUBLIC_URL}/.well-known/openid-configuration`);
/volume2/docker/payments-logger/backend/src/auth.js:118: issuer: doc.issuer || HYDRA_PUBLIC_URL,
Thinking
Thinking
payments-logger Authorization Overview
payments-logger Authorization Overview
The project uses
OAuth 2.1 with PKCE
via an external Hydra OAuth server at
hydra.lakylak.xyz
.
Auth Flow
Auth Flow
Frontend
(
frontend/src/auth.js
frontend/src/auth.js
):
Fetches OAuth server metadata via discovery endpoint
Generates a PKCE code verifier/challenge (SHA-256)
Redirects user to Hydra login with
code_challenge
On callback, exchanges code + verifier for tokens
Stores
access_token
,
refresh_token
in
localStorage
(
pl_oauth_tokens
)
Auto-refreshes token 30 seconds before expiry
Backend
(
backend/src/auth.js
backend/src/auth.js
):
bearerTokenMiddleware
validates the
Authorization: Bearer <token>
header
Fetches Hydra's JWKS (cached 300s) and verifies JWT signature (RS256/ES256/PS256)
Validates issuer (
https://hydra.lakylak.xyz
) and optional audience
Enforcement
Enforcement
Applied globally in
backend/src/index.js:19
backend/src/index.js:19
with these
public (unprotected) paths
:
/.well-known/oauth-protected-resource
/.well-known/oauth-authorization-server
/api/health
/api/payments/ingest
(rate-limited at 200 req/min — for SMS ingestion)
Roles/Permissions
Roles/Permissions
No RBAC
— it's binary: authenticated vs. unauthenticated. Required scopes:
openid
,
offline_access
.
Key Security Notes
Key Security Notes
PKCE
prevents authorization code interception
State parameter
provides CSRF protection
No server-side token storage
— validation is stateless via JWKS
The README/API docs mention an
X-API-Key
header, but that's
outdated
— the actual code uses Bearer tokens only
Config lives in
docker-compose.yml
docker-compose.yml
(lines 30–33):
HYDRA_PUBLIC_URL
,
REQUIRED_SCOPES
,
OAUTH_CLIENT_ID
, and optionally
TOKEN_AUDIENCE
/
JWKS_CACHE_TTL
.
Message actions
compare it to location logger and make it the same. Lets remove hydra and only use authentic (or whatever location logger uses).
Thinking
Thinking
Let me first explore how location-logger handles authorization.
Agent:
Explore location-logger authorization code
IN
Explore the location-logger project at /volume2/docker/location-logger and give me a thorough understanding of how authorization works. I need to know:
1. What auth mechanism is used (JWT, sessions, API keys, OAuth, etc.)
2. Where auth is enforced (middleware, decorators, route guards, etc.)
3. What roles/permissions exist
4. How tokens are issued, validated, and refreshed
5. Any auth-related config (env vars, settings)
6. Frontend auth flow (how the user logs in, how tokens are stored and used)
7. The full directory/file structure of the project
Please read ALL relevant source files completely and give me a detailed summary with file paths and line numbers. I need enough detail to replicate this auth system in another project.
Bash
IN
find /volume2/docker/location-logger -type f -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.json" | head -50
Copy code to clipboard
OUT
/volume2/docker/location-logger/.mcp.json
/volume2/docker/location-logger/app/__init__.py
/volume2/docker/location-logger/app/utils.py
/volume2/docker/location-logger/app/config.py
/volume2/docker/location-logger/app/main.py
/volume2/docker/location-logger/alembic/env.py
/volume2/docker/location-logger/mcp-server/server.py
/volume2/docker/location-logger/alembic/versions/20260203_201500_create_location_points_table.py
/volume2/docker/location-logger/alembic/versions/20260209_200000_add_enhanced_fields_and_tables.py
/volume2/docker/location-logger/alembic/versions/20260214_000000_add_users_and_audit_logs.py
/volume2/docker/location-logger/alembic/versions/20260320_000000_add_audit_query_string.py
/volume2/docker/location-logger/app/services/geofence_service.py
/volume2/docker/location-logger/app/services/recorder_service.py
/volume2/docker/location-logger/app/services/trip_service.py
/volume2/docker/location-logger/app/services/enhanced_location_service.py
/volume2/docker/location-logger/app/services/geocoding_service.py
/volume2/docker/location-logger/app/clients/__init__.py
/volume2/docker/location-logger/app/clients/dawarich_client.py
/volume2/docker/location-logger/app/clients/owntracks_client.py
/volume2/docker/location-logger/app/models/areas.py
/volume2/docker/location-logger/app/models/geofence_events.py
/volume2/docker/location-logger/app/models/trips.py
/volume2/docker/location-logger/app/models/user.py
/volume2/docker/location-logger/app/models/location.py
/volume2/docker/location-logger/app/models/audit_log.py
/volume2/docker/location-logger/app/auth/__init__.py
/volume2/docker/location-logger/app/auth/dependencies.py
/volume2/docker/location-logger/app/auth/utils.py
/volume2/docker/location-logger/app/api/enhanced_endpoints.py
/volume2/docker/location-logger/app/db/base.py
/volume2/docker/location-logger/app/db/session.py
Bash
IN
tree -L 4 /volume2/docker/location-logger 2>/dev/null || find /volume2/docker/location-logger -type d | sort
Copy code to clipboard
OUT
/volume2/docker/location-logger
├── alembic
│ ├── env.py
│ ├── script.py.mako
│ └── versions
│ ├── 20260203_201500_create_location_points_table.py
│ ├── 20260209_200000_add_enhanced_fields_and_tables.py
│ ├── 20260214_000000_add_users_and_audit_logs.py
│ ├── 20260320_000000_add_audit_query_string.py
│ └── __pycache__
│ └── 20260214_000000_add_users_and_audit_logs.cpython-311.pyc
├── alembic.ini
├── app
│ ├── api
│ │ └── enhanced_endpoints.py
│ ├── auth
│ │ ├── dependencies.py
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── dependencies.cpython-311.pyc
│ │ │ ├── __init__.cpython-311.pyc
│ │ │ └── utils.cpython-311.pyc
│ │ └── utils.py
│ ├── clients
│ │ ├── dawarich_client.py
│ │ ├── __init__.py
│ │ └── owntracks_client.py
│ ├── config.py
│ ├── db
│ │ ├── base.py
│ │ └── session.py
│ ├── __init__.py
│ ├── main.py
│ ├── models
│ │ ├── areas.py
│ │ ├── audit_log.py
│ │ ├── geofence_events.py
│ │ ├── location.py
│ │ ├── __pycache__
│ │ │ ├── audit_log.cpython-311.pyc
│ │ │ └── user.cpython-311.pyc
│ │ ├── trips.py
│ │ └── user.py
│ ├── __pycache__
│ │ ├── __init__.cpython-311.pyc
│ │ └── main.cpython-311.pyc
│ ├── services
│ │ ├── enhanced_location_service.py
│ │ ├── geocoding_service.py
│ │ ├── geofence_service.py
│ │ ├── recorder_service.py
│ │ └── trip_service.py
│ ├── static
│ │ └── dashboard.html
│ └── utils.py
├── docker-compose.yml
├── Dockerfile
├── mcp-server
│ ├── Dockerfile
│ ├── requirements.txt
│ └── server.py
├── README.md
├── requirements.txt
└── today_map.html
16 directories, 48 files
Read
utils.py
utils.py
Read
dependencies.py
dependencies.py
Read
user.py
user.py
Read
config.py
config.py
Read
main.py
main.py
Read
session.py
session.py
Read
dashboard.html
dashboard.html
Read
audit_log.py
audit_log.py
Read
20260214_000000_add_users_and_audit_logs.py
20260214_000000_add_users_and_audit_logs.py
Read
20260320_000000_add_audit_query_string.py
20260320_000000_add_audit_query_string.py
Read
README.md
README.md
Read
requirements.txt
requirements.txt
Read
server.py
server.py
Read
server.py
server.py
(lines 101-400)
Thinking
Thinking
Now I have a full picture of both systems. Let me read the payments-logger source files before planning the migration.
Bash
List all payments-logger files
IN
find /volume2/docker/payments-logger -type f | grep -v node_modules | grep -v .git | sort
Copy code to clipboard
OUT
/volume2/docker/payments-logger/API.md
/volume2/docker/payments-logger/backend/Dockerfile
/volume2/docker/payments-logger/backend/.dockerignore
/volume2/docker/payments-logger/backend/package.json
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_init/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260210_simplify/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/20260222_add_card/migration.sql
/volume2/docker/payments-logger/backend/prisma/migrations/migration_lock.toml
/volume2/docker/payments-logger/backend/prisma/schema.prisma
/volume2/docker/payments-logger/backend/src/auth.js
/volume2/docker/payments-logger/backend/src/index.js
/volume2/docker/payments-logger/backend/src/parser.js
/volume2/docker/payments-logger/backend/src/routes/payments.js
/volume2/docker/payments-logger/.claude/settings.local.json
/volume2/docker/payments-logger/docker-compose.yml
/volume2/docker/payments-logger/.env
/volume2/docker/payments-logger/.env.example
/volume2/docker/payments-logger/frontend/Dockerfile
/volume2/docker/payments-logger/frontend/.dockerignore
/volume2/docker/payments-logger/frontend/index.html
/volume2/docker/payments-logger/frontend/package.json
/volume2/docker/payments-logger/frontend/postcss.config.js
/volume2/docker/payments-logger/frontend/src/App.jsx
/volume2/docker/payments-logger/frontend/src/auth.js
/volume2/docker/payments-logger/frontend/src/components/AuthCallback.jsx
/volume2/docker/payments-logger/frontend/src/components/AuthProvider.jsx
/volume2/docker/payments-logger/frontend/src/components/FilterBar.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentCard.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentList.jsx
/volume2/docker/payments-logger/frontend/src/components/PaymentTable.jsx
/volume2/docker/payments-logger/frontend/src/index.css
/volume2/docker/payments-logger/frontend/src/main.jsx
/volume2/docker/payments-logger/frontend/tailwind.config.js
/volume2/docker/payments-logger/frontend/vite.config.js
/volume2/docker/payments-logger/README.md
Read
auth.js
auth.js
Read
index.js
index.js
Read
auth.js
auth.js
Read
AuthProvider.jsx
AuthProvider.jsx
Read
package.json
package.json
Read
AuthCallback.jsx
AuthCallback.jsx
Read
schema.prisma
schema.prisma
Read
docker-compose.yml
docker-compose.yml
Thinking
Thinking
Now let me read the remaining frontend files.
Read
App.jsx
App.jsx
Read
package.json
package.json
Read
.env
.env
Thinking
Thinking
Let me read the remaining files before making changes.
Read
main.jsx
main.jsx
Read
vite.config.js
vite.config.js
Read
payments.js
payments.js
Thinking
Thinking
Read
.env.example
.env.example
Thinking
Thinking
Now I have everything I need. Here's what changes:
Backend:
Rewrite
auth.js
(HS256 JWT + bcrypt), add
/auth/login
+
/auth/register
endpoints, add
User
model to Prisma, new migration, remove Hydra env vars.
Frontend:
Replace PKCE flow with a simple login form in
AuthProvider
, simplify
auth.js
, remove
AuthCallback
, drop
/.well-known
proxy.
Config:
Drop all Hydra/OAuth env vars, add
JWT_SECRET
.
Let me implement everything now.
Update Todos
Add bcryptjs to backend package.json
Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)
Update backend/src/index.js (remove wellKnownRouter, mount authRouter)
Add User model to prisma/schema.prisma
Create Prisma migration for users table
Rewrite frontend/src/auth.js (simple username/password login)
Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)
Update frontend/src/main.jsx (remove /auth/callback handling)
Delete frontend/src/components/AuthCallback.jsx
Update frontend/vite.config.js (remove /.well-known proxy)
Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)
Update .env and .env.example
Update Todos
Add bcryptjs to backend package.json
Rewrite backend/src/auth.js (HS256 JWT + bcrypt, login/register routes)
Update backend/src/index.js (remove wellKnownRouter, mount authRouter)
Add User model to prisma/schema.prisma
Create Prisma migration for users table
Rewrite frontend/src/auth.js (simple username/password login)
Rewrite frontend/src/components/AuthProvider.jsx (login form instead of PKCE redirect)
Update frontend/src/main.jsx (remove /auth/callback handling)
Delete frontend/src/components/AuthCallback.jsx
Update frontend/vite.config.js (remove /.well-known proxy)
Update docker-compose.yml (remove Hydra vars/network, add JWT_SECRET)
Update .env and .env.example
Edit
package.json
package.json
Added 1 line...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
8913
|
402
|
26
|
2026-05-08T11:50:32.532727+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-08/1778 /Users/lukas/.screenpipe/data/data/2026-05-08/1778241032532_m2.jpg...
|
Firefox
|
SevenShores\Hubspot\Exceptions\BadRequest: Client SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT — Work...
|
True
|
jiminny.sentry.io/issues/7007366572/?environment=p jiminny.sentry.io/issues/7007366572/?environment=production&environment=production-eu&project=82419&query=is%3Aunresolved&referrer=issue-stream&sort=freq...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Close tab
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app
JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
New Tab
New Tab
New Tab
AI Features | Datadog
AI Features | Datadog
Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app
Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app
Pipelines - jiminny/app
Pipelines - jiminny/app
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
Monitors
Monitors
Settings
Settings
Try Business
What's New
Help
[EMAIL]
Issues
Expand
Feed
Feed
Errors & Outages
Errors & Outages
Breached Metrics
Breached Metrics
Warnings
Warnings
User Feedback
User Feedback
Autofix
Autofix
Recently Run
Recently Run
All Views
All Views
Configure
Alerts Moved
Alerts
Moved
Issues
Issues
View Project Details
APP-1EED
Ask Seer
Ask Seer
/
Give Feedback
SevenShores\Hubspot\Exceptions\BadRequest
View events
Events (total)
Users (90d)
Level: Error
Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT","correlationId":"019e024f-c (truncated...)
17K
0
Ongoing
/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php in Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::executeSearchRequest
Resolve
Resolve
More resolve options
Archive
Archive
Archive options
Subscribe
Share
More Actions
Priority
Modify issue priority
High
Assignee
Modify issue assignee
Lukas Kovalik
production, production-eu
production, production-eu
90D
90D
Add a search term
Add a search term
Close sidebar...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.2237367,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.23703457,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":4,"bounds":{"left":0.2237367,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":5,"bounds":{"left":0.23703457,"top":0.09577015,"width":0.4644282,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.29105717,"top":0.09177973,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"bounds":{"left":0.2237367,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"bounds":{"left":0.23703457,"top":0.12849163,"width":0.10721409,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.16121309,"width":0.17037898,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.2237367,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.23703457,"top":0.19393456,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.22665602,"width":0.18899602,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"bounds":{"left":0.2237367,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"bounds":{"left":0.23703457,"top":0.25937748,"width":0.07164229,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.29209897,"width":0.19331782,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Problem loading page","depth":4,"bounds":{"left":0.2237367,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","depth":5,"bounds":{"left":0.23703457,"top":0.32482043,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Search the CRM - HubSpot docs","depth":4,"bounds":{"left":0.2237367,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search the CRM - HubSpot docs","depth":5,"bounds":{"left":0.23703457,"top":0.3575419,"width":0.05651596,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.2237367,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.23703457,"top":0.39026338,"width":0.013131649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.2237367,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.23703457,"top":0.42298484,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.2237367,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"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.23703457,"top":0.4557063,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"AI Features | Datadog","depth":4,"bounds":{"left":0.2237367,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI Features | Datadog","depth":5,"bounds":{"left":0.23703457,"top":0.4884278,"width":0.037400264,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.5211492,"width":0.17037898,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.2237367,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.23703457,"top":0.55387074,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.2265625,"top":0.57701516,"width":0.07413564,"height":0.025538707},"on_screen":true,"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.2265625,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.23753324,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.2486702,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.25980717,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.27094415,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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,"on_screen":false,"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,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Toggle organization menu","depth":11,"bounds":{"left":0.3101729,"top":0.059856344,"width":0.010638298,"height":0.025538707},"on_screen":true,"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,"bounds":{"left":0.3046875,"top":0.09736632,"width":0.021609042,"height":0.050678372},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"bounds":{"left":0.3103391,"top":0.13048683,"width":0.010305851,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Explore","depth":12,"bounds":{"left":0.3046875,"top":0.14804469,"width":0.021609042,"height":0.050678372},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Explore","depth":14,"bounds":{"left":0.30950797,"top":0.1811652,"width":0.011968086,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Dashboards","depth":12,"bounds":{"left":0.3046875,"top":0.19872306,"width":0.021609042,"height":0.05027933},"on_screen":true,"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.30585107,"top":0.23144454,"width":0.019281914,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Monitors","depth":12,"bounds":{"left":0.3046875,"top":0.2490024,"width":0.021609042,"height":0.050678372},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Monitors","depth":14,"bounds":{"left":0.30851063,"top":0.2821229,"width":0.013962766,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"bounds":{"left":0.3046875,"top":0.29968077,"width":0.021609042,"height":0.050678372},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"bounds":{"left":0.30867687,"top":0.33280128,"width":0.013630319,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Business","depth":10,"bounds":{"left":0.3101729,"top":0.88667196,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"What's New","depth":10,"bounds":{"left":0.3101729,"top":0.9114126,"width":0.010638298,"height":0.025538707},"on_screen":true,"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,"bounds":{"left":0.3101729,"top":0.93615323,"width":0.010638298,"height":0.025538707},"on_screen":true,"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,"bounds":{"left":0.3101729,"top":0.9680766,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Issues","depth":13,"bounds":{"left":0.26678857,"top":0.06624102,"width":0.014461436,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":13,"bounds":{"left":0.31233376,"top":0.061452515,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Feed","depth":15,"bounds":{"left":0.2634641,"top":0.10055866,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed","depth":17,"bounds":{"left":0.2677859,"top":0.10694334,"width":0.010638298,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Errors & Outages","depth":15,"bounds":{"left":0.2634641,"top":0.14046289,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Errors & Outages","depth":17,"bounds":{"left":0.2677859,"top":0.14684756,"width":0.03673537,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Breached Metrics","depth":15,"bounds":{"left":0.2634641,"top":0.16759777,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Breached Metrics","depth":17,"bounds":{"left":0.2677859,"top":0.17398244,"width":0.037898935,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Warnings","depth":15,"bounds":{"left":0.2634641,"top":0.19473264,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Warnings","depth":17,"bounds":{"left":0.2677859,"top":0.20111732,"width":0.019946808,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"User Feedback","depth":15,"bounds":{"left":0.2634641,"top":0.22186752,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"User Feedback","depth":17,"bounds":{"left":0.2677859,"top":0.22825219,"width":0.032081116,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Autofix","depth":13,"bounds":{"left":0.2634641,"top":0.26177174,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Autofix","depth":16,"bounds":{"left":0.26745346,"top":0.26815644,"width":0.016289894,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Recently Run","depth":15,"bounds":{"left":0.2634641,"top":0.28731045,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Recently Run","depth":17,"bounds":{"left":0.2677859,"top":0.29369512,"width":0.028922873,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"All Views","depth":15,"bounds":{"left":0.2634641,"top":0.3272147,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All Views","depth":17,"bounds":{"left":0.2677859,"top":0.33359936,"width":0.019281914,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Configure","depth":14,"bounds":{"left":0.26745346,"top":0.3735036,"width":0.021941489,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Alerts Moved","depth":15,"bounds":{"left":0.2634641,"top":0.39225858,"width":0.058843084,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Alerts","depth":17,"bounds":{"left":0.2677859,"top":0.3990423,"width":0.012799202,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Moved","depth":17,"bounds":{"left":0.30418882,"top":0.39984038,"width":0.012466756,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Issues","depth":12,"bounds":{"left":0.3332779,"top":0.06464485,"width":0.013796543,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Issues","depth":14,"bounds":{"left":0.3332779,"top":0.06624102,"width":0.013796543,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View Project Details","depth":13,"bounds":{"left":0.3537234,"top":0.06624102,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"APP-1EED","depth":16,"bounds":{"left":0.3617021,"top":0.06624102,"width":0.021941489,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Ask Seer","depth":10,"bounds":{"left":0.93484044,"top":0.059856344,"width":0.04720745,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Seer","depth":13,"bounds":{"left":0.9461436,"top":0.06464485,"width":0.019614361,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":14,"bounds":{"left":0.9740692,"top":0.065442935,"width":0.0021609042,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Give Feedback","depth":11,"bounds":{"left":0.9840425,"top":0.059856344,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View events","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Events (total)","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Users (90d)","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Level: Error","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT\",\"correlationId\":\"019e024f-c (truncated...)","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17K","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ongoing","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php in Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::executeSearchRequest","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Resolve","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Resolve","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More resolve options","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Archive","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Archive","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Archive options","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Subscribe","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More Actions","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Priority","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Modify issue priority","depth":12,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"High","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assignee","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Modify issue assignee","depth":13,"on_screen":false,"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,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"production, production-eu","depth":13,"on_screen":false,"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":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"90D","depth":13,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"90D","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Add a search term","depth":16,"on_screen":false,"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":16,"on_screen":false,"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":13,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8130939346586061696
|
-2356404049068493695
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Close tab
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app
JY-20818 move ask jiminny reports to its own datadog metric by LakyLak · Pull Request #12056 · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
New Tab
New Tab
New Tab
AI Features | Datadog
AI Features | Datadog
Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app
Jy 20493 smart instant nudge pre filtering by nikolaybiaivanov · Pull Request #12053 · jiminny/app
Pipelines - jiminny/app
Pipelines - jiminny/app
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
Monitors
Monitors
Settings
Settings
Try Business
What's New
Help
[EMAIL]
Issues
Expand
Feed
Feed
Errors & Outages
Errors & Outages
Breached Metrics
Breached Metrics
Warnings
Warnings
User Feedback
User Feedback
Autofix
Autofix
Recently Run
Recently Run
All Views
All Views
Configure
Alerts Moved
Alerts
Moved
Issues
Issues
View Project Details
APP-1EED
Ask Seer
Ask Seer
/
Give Feedback
SevenShores\Hubspot\Exceptions\BadRequest
View events
Events (total)
Users (90d)
Level: Error
Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT","correlationId":"019e024f-c (truncated...)
17K
0
Ongoing
/app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php in Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::executeSearchRequest
Resolve
Resolve
More resolve options
Archive
Archive
Archive options
Subscribe
Share
More Actions
Priority
Modify issue priority
High
Assignee
Modify issue assignee
Lukas Kovalik
production, production-eu
production, production-eu
90D
90D
Add a search term
Add a search term
Close sidebar...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
3355
|
125
|
31
|
2026-05-07T12:13:36.115695+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778156016115_m1.jpg...
|
iTerm2
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0IalnSupport Daily - 2m left100% CDEV (docker)883DOCKERO 81DEV (docker)H82APP (-zsh)jiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedworker-nudges:worker-nudges_00:stoppedjiminny-worker-processing-2:jiminny-worker-processing-2_00: stoppedjiminny-worker-processing-3: jiminny-worker-processing-3_00: stoppedjiminny-worker-processing-4:jiminny-worker-processing-4_00: stoppedjiminny-worker-processing-5:jiminny-worker-processing-5_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-download:worker-download_00: stoppedworker:worker_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker-calendar:worker-calendar_00:stoppedworker-conferences:worker-conferences_00: stoppedworker-crm-sync:worker-crm-sync_00:stoppedworker-audio:worker-audio_00: stoppedworker-emails:worker-emails_00: stoppedartisan-schedule:artisan-schedule_00: stoppedworker-es-update:worker-es-update_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5: jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00: startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00:startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debugSyncing opportunity 0Syncing opportunity 25Syncing opportunity 50Syncing opportunity 75Syncing opportunity 100root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug-zsh• $4screenpipe*• $5-zshThu 7 May 15:13:35T81*6+DEV...
|
NULL
|
8130840341589972127
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0IalnSupport Daily - 2m left100% CDEV (docker)883DOCKERO 81DEV (docker)H82APP (-zsh)jiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedworker-nudges:worker-nudges_00:stoppedjiminny-worker-processing-2:jiminny-worker-processing-2_00: stoppedjiminny-worker-processing-3: jiminny-worker-processing-3_00: stoppedjiminny-worker-processing-4:jiminny-worker-processing-4_00: stoppedjiminny-worker-processing-5:jiminny-worker-processing-5_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-download:worker-download_00: stoppedworker:worker_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker-calendar:worker-calendar_00:stoppedworker-conferences:worker-conferences_00: stoppedworker-crm-sync:worker-crm-sync_00:stoppedworker-audio:worker-audio_00: stoppedworker-emails:worker-emails_00: stoppedartisan-schedule:artisan-schedule_00: stoppedworker-es-update:worker-es-update_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1:jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5: jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00: startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00:startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debugSyncing opportunity 0Syncing opportunity 25Syncing opportunity 50Syncing opportunity 75Syncing opportunity 100root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug-zsh• $4screenpipe*• $5-zshThu 7 May 15:13:35T81*6+DEV...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
10292
|
470
|
36
|
2026-05-08T17:17:00.799829+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-08/1778 /Users/lukas/.screenpipe/data/data/2026-05-08/1778260620799_m2.jpg...
|
Firefox
|
All docs · AFFiNE — Personal
|
True
|
app.affine.pro/workspace/M_vDJhnmiED_6JNdL9GEq/all
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
Home | Hostinger
Home | Hostinger
Login – Nginx Proxy Manager
Login – Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Оптичен интернет за дома - EON телевизия | Vivacom | 5G
Оптичен интернет за дома - EON телевизия | Vivacom | 5G
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Close
Settings
Lukáš Koválik
Free
[EMAIL]
General
Appearance
Editor
Keyboard shortcuts
Notifications
Billing
Pricing plans
Experimental features
About AFFiNE
Workspace
Preference
Properties
Members
Integrations
Storage
Embedding
Love our app?
Star us on GitHub
and
create issues
for your valuable feedback!...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":4,"bounds":{"left":0.26097074,"top":0.0518755,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":5,"bounds":{"left":0.27426863,"top":0.06304868,"width":0.080784574,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Home | Hostinger","depth":4,"bounds":{"left":0.26097074,"top":0.08459697,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Home | Hostinger","depth":5,"bounds":{"left":0.27426863,"top":0.09577015,"width":0.03025266,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Login – Nginx Proxy Manager","depth":4,"bounds":{"left":0.26097074,"top":0.11731844,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Login – Nginx Proxy Manager","depth":5,"bounds":{"left":0.27426863,"top":0.12849163,"width":0.05069814,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.26097074,"top":0.15003991,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.27426863,"top":0.16121309,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"bounds":{"left":0.26097074,"top":0.18276137,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"bounds":{"left":0.27426863,"top":0.19393456,"width":0.040724736,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"bounds":{"left":0.26097074,"top":0.21548285,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"bounds":{"left":0.27426863,"top":0.22665602,"width":0.03756649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":4,"bounds":{"left":0.26097074,"top":0.2482043,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":5,"bounds":{"left":0.27426863,"top":0.25937748,"width":0.11469415,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"bounds":{"left":0.26097074,"top":0.28092578,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"bounds":{"left":0.27426863,"top":0.29209897,"width":0.036901597,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Оптичен интернет за дома - EON телевизия | Vivacom | 5G","depth":4,"bounds":{"left":0.26097074,"top":0.31364724,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Оптичен интернет за дома - EON телевизия | Vivacom | 5G","depth":5,"bounds":{"left":0.27426863,"top":0.32482043,"width":0.105884306,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"AFFiNE - All In One KnowledgeOS","depth":4,"bounds":{"left":0.26097074,"top":0.3463687,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AFFiNE - All In One KnowledgeOS","depth":5,"bounds":{"left":0.27426863,"top":0.3575419,"width":0.05851064,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"bounds":{"left":0.26097074,"top":0.3790902,"width":0.113696806,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"bounds":{"left":0.27426863,"top":0.39026338,"width":0.029587766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.36236703,"top":0.38627294,"width":0.007978723,"height":0.01915403},"on_screen":true,"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.26379654,"top":0.41340783,"width":0.108211435,"height":0.025538707},"on_screen":true,"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.26379654,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.27476728,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.28590426,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"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.29704124,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.3081782,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close","depth":11,"bounds":{"left":0.8874667,"top":0.16999201,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":13,"bounds":{"left":0.48121676,"top":0.1763767,"width":0.024268618,"height":0.017557861},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukáš Koválik","depth":14,"bounds":{"left":0.49384972,"top":0.21348763,"width":0.030585106,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Free","depth":14,"bounds":{"left":0.5270944,"top":0.21548285,"width":0.006981383,"height":0.009976057},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"kovaliklukas@gmail.com","depth":14,"bounds":{"left":0.49384972,"top":0.23064645,"width":0.045545213,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":13,"bounds":{"left":0.48121676,"top":0.2661612,"width":0.017121011,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Appearance","depth":15,"bounds":{"left":0.4898604,"top":0.2932961,"width":0.026595745,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Editor","depth":15,"bounds":{"left":0.4898604,"top":0.32043096,"width":0.012965426,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keyboard shortcuts","depth":15,"bounds":{"left":0.4898604,"top":0.34756583,"width":0.04305186,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notifications","depth":15,"bounds":{"left":0.4898604,"top":0.37470073,"width":0.027759308,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Billing","depth":15,"bounds":{"left":0.4898604,"top":0.4018356,"width":0.012965426,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pricing plans","depth":15,"bounds":{"left":0.4898604,"top":0.42897046,"width":0.028091755,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Experimental features","depth":15,"bounds":{"left":0.4898604,"top":0.45610535,"width":0.048038565,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"About AFFiNE","depth":15,"bounds":{"left":0.4898604,"top":0.48324022,"width":0.030585106,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Workspace","depth":13,"bounds":{"left":0.48121676,"top":0.5071828,"width":0.02443484,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Preference","depth":15,"bounds":{"left":0.4898604,"top":0.5343176,"width":0.023936171,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Properties","depth":15,"bounds":{"left":0.4898604,"top":0.5614525,"width":0.022772606,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Members","depth":15,"bounds":{"left":0.4898604,"top":0.5885874,"width":0.020611702,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Integrations","depth":15,"bounds":{"left":0.4898604,"top":0.61572224,"width":0.026263298,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Storage","depth":15,"bounds":{"left":0.4898604,"top":0.64285713,"width":0.017287234,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Embedding","depth":15,"bounds":{"left":0.4898604,"top":0.669992,"width":0.024933511,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Love our app?","depth":13,"bounds":{"left":0.6565825,"top":0.8467678,"width":0.026595745,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Star us on GitHub","depth":14,"bounds":{"left":0.68450797,"top":0.8467678,"width":0.033410903,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":13,"bounds":{"left":0.71924865,"top":0.8467678,"width":0.0071476065,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"create issues","depth":14,"bounds":{"left":0.72772604,"top":0.8467678,"width":0.024933511,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for your valuable feedback!","depth":13,"bounds":{"left":0.75398934,"top":0.8467678,"width":0.05119681,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8130173463602264718
|
-2993626963913959669
|
click
|
accessibility
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
Home | Hostinger
Home | Hostinger
Login – Nginx Proxy Manager
Login – Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Оптичен интернет за дома - EON телевизия | Vivacom | 5G
Оптичен интернет за дома - EON телевизия | Vivacom | 5G
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Close
Settings
Lukáš Koválik
Free
[EMAIL]
General
Appearance
Editor
Keyboard shortcuts
Notifications
Billing
Pricing plans
Experimental features
About AFFiNE
Workspace
Preference
Properties
Members
Integrations
Storage
Embedding
Love our app?
Star us on GitHub
and
create issues
for your valuable feedback!...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
14282
|
633
|
10
|
2026-05-09T17:12:27.920424+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-09/1778 /Users/lukas/.screenpipe/data/data/2026-05-09/1778346747920_m1.jpg...
|
Firefox
|
Claude — Personal
|
True
|
claude.ai/new
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Clo Pull requests · screenpipe/screenpipe · GitHub
Close tab
DNS / Nameservers | Hostinger
Close tab
Nginx Proxy Manager
Close tab
Screenpipe — Archive
Close tab
SQLite Web: archive.db
Close tab
SQLite Web: db.sqlite
Close tab
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
Close tab
DXP4800PLUS-B5F8
Close tab
AFFiNE - All In One KnowledgeOS
Close tab
All docs · AFFiNE
Close tab
Payments Logger
Close tab
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Close tab
Location Logger
Close tab
Finance Hub
Close tab
Finance Hub
Close tab
Select: transactions - db - Adminer
Close tab
Claude Code | Claude Platform
Close tab
Claude
Close tab
lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea
Close tab
Applications - Admin - authentik
Close tab
New Tab
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Home
Close sidebar
New chat
New chat
⇧⌘O
Search
Search
⌘K
Chats
Chats
Projects
Projects
Code
Code
Customize
Customize
Design
Design
More
More
Starred
Starred
Bulgarian citizenship application process for EU residents
Bulgarian citizenship application process for EU residents
Dawarich location tracking project
Dawarich location tracking project
Recents Hide
Recents
Hide
Code diff review
Code diff review
HubSpot rate limit implementation strategy
HubSpot rate limit implementation strategy
Screenpipe retention policy code location
Screenpipe retention policy code location
Viewing retention policy in screenpipe
Viewing retention policy in screenpipe
Clean shot x video recording termination issue
Clean shot x video recording termination issue
HubSpot rate limit handling with executeRequest
HubSpot rate limit handling with executeRequest
Untitled
Untitled
💬 Screen pipe. Is there ability…
💬 Screen pipe. Is there ability…
SMB mount access inconsistency between Finder and iTerm
SMB mount access inconsistency between Finder and iTerm
💬 What is the best switch I can…
💬 What is the best switch I can…
Permission denied on screenpipe volume
Permission denied on screenpipe volume
Screenpipe sync database attachment error
Screenpipe sync database attachment error
Last swimming outing with Dani
Last swimming outing with Dani
Definition of incarcerated
Definition of incarcerated
Chromecast remote volume buttons not working
Chromecast remote volume buttons not working
Salesforce API errors with Organization and FieldDefinition queries
Salesforce API errors with Organization and FieldDefinition queries
Daily activity summary from screenpipe data
Daily activity summary from screenpipe data
MacBook unexpected restarts and kanji screen
MacBook unexpected restarts and kanji screen
Security patch review and testing guidance
Security patch review and testing guidance
Food calorie values reference
Food calorie values reference
Tracking location history from last week
Tracking location history from last week
Screenpipe WAL processing when stopped
Screenpipe WAL processing when stopped
Reviewing recent conversation highlights
Reviewing recent conversation highlights
Mac aliases not recognized
Mac aliases not recognized
Boosteroid still recording despite ignored windows setting
Boosteroid still recording despite ignored windows setting
Missing JavaScript promise in authorization response
Missing JavaScript promise in authorization response
Linux SQLite UI for NAS
Linux SQLite UI for NAS
Claude API 500 internal server error
Claude API 500 internal server error
Screenpipe query capabilities and usage
Screenpipe query capabilities and usage
eGPU compatibility with Mac mini and Studio
eGPU compatibility with Mac mini and Studio
All chats
All chats
Lukas Kovalik, Settings
LK
Lukas Kovalik
Pro plan
Get apps and extensions
Good evening, Lukas
Show me my spending by category for April 2026
Show me my spending by category for April 2026
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Send message
Use incognito...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"DNS / Nameservers | Hostinger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Nginx Proxy Manager","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"AFFiNE - All In One KnowledgeOS","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Payments Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Your old PC can run Windows 11 in a VM, but not on bare metal - kovaliklukas@gmail.com - Gmail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Location Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Select: transactions - db - Adminer","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Claude Code | Claude Platform","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Claude","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Applications - Admin - authentik","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Home","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close sidebar","depth":11,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New chat","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"⇧⌘O","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Search","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"⌘K","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chats","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chats","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Projects","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Projects","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Customize","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Customize","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Design","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Design","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Starred","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Starred","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Bulgarian citizenship application process for EU residents","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bulgarian citizenship application process for EU residents","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Dawarich location tracking project","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dawarich location tracking project","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Recents Hide","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Recents","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hide","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code diff review","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code diff review","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"HubSpot rate limit implementation strategy","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"HubSpot rate limit implementation strategy","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe retention policy code location","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe retention policy code location","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Viewing retention policy in screenpipe","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Viewing retention policy in screenpipe","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Clean shot x video recording termination issue","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Clean shot x video recording termination issue","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"HubSpot rate limit handling with executeRequest","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"HubSpot rate limit handling with executeRequest","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Untitled","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Untitled","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"💬 Screen pipe. Is there ability…","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"💬 Screen pipe. Is there ability…","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SMB mount access inconsistency between Finder and iTerm","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SMB mount access inconsistency between Finder and iTerm","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"💬 What is the best switch I can…","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"💬 What is the best switch I can…","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Permission denied on screenpipe volume","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Permission denied on screenpipe volume","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe sync database attachment error","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe sync database attachment error","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Last swimming outing with Dani","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Last swimming outing with Dani","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Definition of incarcerated","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Definition of incarcerated","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chromecast remote volume buttons not working","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chromecast remote volume buttons not working","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Salesforce API errors with Organization and FieldDefinition queries","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Salesforce API errors with Organization and FieldDefinition queries","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Daily activity summary from screenpipe data","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Daily activity summary from screenpipe data","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"MacBook unexpected restarts and kanji screen","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"MacBook unexpected restarts and kanji screen","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security patch review and testing guidance","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security patch review and testing guidance","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Food calorie values reference","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Food calorie values reference","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Tracking location history from last week","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tracking location history from last week","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe WAL processing when stopped","depth":16,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe WAL processing when stopped","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reviewing recent conversation highlights","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reviewing recent conversation highlights","depth":19,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Mac aliases not recognized","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Mac aliases not recognized","depth":19,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Boosteroid still recording despite ignored windows setting","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Boosteroid still recording despite ignored windows setting","depth":19,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Missing JavaScript promise in authorization response","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Missing JavaScript promise in authorization response","depth":19,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Linux SQLite UI for NAS","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Linux SQLite UI for NAS","depth":19,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Claude API 500 internal server error","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude API 500 internal server error","depth":19,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Screenpipe query capabilities and usage","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe query capabilities and usage","depth":19,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"eGPU compatibility with Mac mini and Studio","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"eGPU compatibility with Mac mini and Studio","depth":19,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"All chats","depth":14,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All chats","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Lukas Kovalik, Settings","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"LK","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pro plan","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Get apps and extensions","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Good evening, Lukas","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Show me my spending by category for April 2026","depth":13,"on_screen":true,"value":"Show me my spending by category for April 2026","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Show me my spending by category for April 2026","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add files, connectors, and more","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Model: Opus 4.7 Adaptive","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Opus 4.7","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adaptive","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Send message","depth":14,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Use incognito","depth":11,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8130084141462667576
|
-5017260465487702946
|
click
|
accessibility
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Clo Pull requests · screenpipe/screenpipe · GitHub
Close tab
DNS / Nameservers | Hostinger
Close tab
Nginx Proxy Manager
Close tab
Screenpipe — Archive
Close tab
SQLite Web: archive.db
Close tab
SQLite Web: db.sqlite
Close tab
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
Close tab
DXP4800PLUS-B5F8
Close tab
AFFiNE - All In One KnowledgeOS
Close tab
All docs · AFFiNE
Close tab
Payments Logger
Close tab
Your old PC can run Windows 11 in a VM, but not on bare metal - [EMAIL] - Gmail
Close tab
Location Logger
Close tab
Finance Hub
Close tab
Finance Hub
Close tab
Select: transactions - db - Adminer
Close tab
Claude Code | Claude Platform
Close tab
Claude
Close tab
lakylak/finance-hub - finance-hub - Gitea: Git with a cup of tea
Close tab
Applications - Admin - authentik
Close tab
New Tab
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Home
Close sidebar
New chat
New chat
⇧⌘O
Search
Search
⌘K
Chats
Chats
Projects
Projects
Code
Code
Customize
Customize
Design
Design
More
More
Starred
Starred
Bulgarian citizenship application process for EU residents
Bulgarian citizenship application process for EU residents
Dawarich location tracking project
Dawarich location tracking project
Recents Hide
Recents
Hide
Code diff review
Code diff review
HubSpot rate limit implementation strategy
HubSpot rate limit implementation strategy
Screenpipe retention policy code location
Screenpipe retention policy code location
Viewing retention policy in screenpipe
Viewing retention policy in screenpipe
Clean shot x video recording termination issue
Clean shot x video recording termination issue
HubSpot rate limit handling with executeRequest
HubSpot rate limit handling with executeRequest
Untitled
Untitled
💬 Screen pipe. Is there ability…
💬 Screen pipe. Is there ability…
SMB mount access inconsistency between Finder and iTerm
SMB mount access inconsistency between Finder and iTerm
💬 What is the best switch I can…
💬 What is the best switch I can…
Permission denied on screenpipe volume
Permission denied on screenpipe volume
Screenpipe sync database attachment error
Screenpipe sync database attachment error
Last swimming outing with Dani
Last swimming outing with Dani
Definition of incarcerated
Definition of incarcerated
Chromecast remote volume buttons not working
Chromecast remote volume buttons not working
Salesforce API errors with Organization and FieldDefinition queries
Salesforce API errors with Organization and FieldDefinition queries
Daily activity summary from screenpipe data
Daily activity summary from screenpipe data
MacBook unexpected restarts and kanji screen
MacBook unexpected restarts and kanji screen
Security patch review and testing guidance
Security patch review and testing guidance
Food calorie values reference
Food calorie values reference
Tracking location history from last week
Tracking location history from last week
Screenpipe WAL processing when stopped
Screenpipe WAL processing when stopped
Reviewing recent conversation highlights
Reviewing recent conversation highlights
Mac aliases not recognized
Mac aliases not recognized
Boosteroid still recording despite ignored windows setting
Boosteroid still recording despite ignored windows setting
Missing JavaScript promise in authorization response
Missing JavaScript promise in authorization response
Linux SQLite UI for NAS
Linux SQLite UI for NAS
Claude API 500 internal server error
Claude API 500 internal server error
Screenpipe query capabilities and usage
Screenpipe query capabilities and usage
eGPU compatibility with Mac mini and Studio
eGPU compatibility with Mac mini and Studio
All chats
All chats
Lukas Kovalik, Settings
LK
Lukas Kovalik
Pro plan
Get apps and extensions
Good evening, Lukas
Show me my spending by category for April 2026
Show me my spending by category for April 2026
Add files, connectors, and more
Model: Opus 4.7 Adaptive
Opus 4.7
Adaptive
Send message
Use incognito...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
12749
|
561
|
23
|
2026-05-09T09:27:40.056042+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-09/1778 /Users/lukas/.screenpipe/data/data/2026-05-09/1778318860056_m1.jpg...
|
Firefox
|
Claude — Personal
|
True
|
claude.ai
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
DNS / Nameservers | Hostinger
DNS / Nameservers | Hostinger
Nginx Proxy Manager
Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Payments Logger
Payments Logger
Inbox - [EMAIL] - Gmail
Inbox - [EMAIL] - Gmail
(25) Quora
(25) Quora
Location Logger
Location Logger
Finance Hub
Finance Hub
Finance Hub
Finance Hub
Select: payments - db - Adminer
Select: payments - db - Adminer
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
VIVACOM
VIVACOM
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
VIVACOM
VIVACOM
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Claude Code | Claude Platform
Claude Code | Claude Platform
Claude
Claude
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Transferring data from assets-proxy.anthropic.com…...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · screenpipe/screenpipe · GitHub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DNS / Nameservers | Hostinger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DNS / Nameservers | Hostinger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Nginx Proxy Manager","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Nginx Proxy Manager","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"AFFiNE - All In One KnowledgeOS","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AFFiNE - All In One KnowledgeOS","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Payments Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Payments Logger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"(25) Quora","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"(25) Quora","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Location Logger","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Location Logger","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finance Hub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Finance Hub","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finance Hub","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Select: payments - db - Adminer","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Select: payments - db - Adminer","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"VIVACOM","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Смартфони с Unlimited план до 120 € отстъпка | Vivacom","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"VIVACOM","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"VIVACOM","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Code | Claude Platform","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Code | Claude Platform","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Claude","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"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,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Transferring data from assets-proxy.anthropic.com…","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8129627364339889175
|
-7249247033738916577
|
click
|
accessibility
|
NULL
|
Pull requests · screenpipe/screenpipe · GitHub
Pul Pull requests · screenpipe/screenpipe · GitHub
Pull requests · screenpipe/screenpipe · GitHub
DNS / Nameservers | Hostinger
DNS / Nameservers | Hostinger
Nginx Proxy Manager
Nginx Proxy Manager
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
screenpipe/.claude/skills at main · screenpipe/screenpipe · GitHub
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
AFFiNE - All In One KnowledgeOS
AFFiNE - All In One KnowledgeOS
All docs · AFFiNE
All docs · AFFiNE
Payments Logger
Payments Logger
Inbox - [EMAIL] - Gmail
Inbox - [EMAIL] - Gmail
(25) Quora
(25) Quora
Location Logger
Location Logger
Finance Hub
Finance Hub
Finance Hub
Finance Hub
Select: payments - db - Adminer
Select: payments - db - Adminer
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
Stop Losing Notes: Pick A Cross-Device App That Syncs | AFFiNE
VIVACOM
VIVACOM
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
Смартфони с Unlimited план до 120 € отстъпка | Vivacom
VIVACOM
VIVACOM
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Смартфон SAMSUNG GALAXY A57 5G 256GB | Vivacom
Claude Code | Claude Platform
Claude Code | Claude Platform
Claude
Claude
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Transferring data from assets-proxy.anthropic.com…...
|
12748
|
NULL
|
NULL
|
NULL
|
|
4240
|
151
|
18
|
2026-05-07T13:20:15.225197+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778160015225_m1.jpg...
|
iTerm2
|
DEV (docker)
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
root@docker_lamp_1:/home/jiminny# php artisan jimi root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Syncing opportunity 0
Syncing opportunity 25
Syncing opportunity 50
Syncing opportunity 75
Syncing opportunity 100
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.32ms DONE
cache [PASSWORD_DOTS] 10.62ms DONE
compiled [PASSWORD_DOTS] 3.60ms DONE
events [PASSWORD_DOTS] 2.60ms DONE
routes [PASSWORD_DOTS] 2.72ms DONE
views [PASSWORD_DOTS] 5.95ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
worker-nudges:worker-nudges_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-download:worker-download_00: stopped
worker:worker_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-audio:worker-audio_00: stopped
worker-emails:worker-emails_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Syncing opportunity 0
Syncing opportunity 25
Syncing opportunity 50
Syncing opportunity 75
Syncing opportunity 100
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Syncing opportunity 0
Syncing opportunity 25
Syncing opportunity 50
Syncing opportunity 75
Syncing opportunity 100
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Syncing opportunity 0
HubSpot\Client\Crm\Deals\ApiException
[429] Client error: `GET [URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.49ms DONE
cache [PASSWORD_DOTS] 21.31ms DONE
compiled [PASSWORD_DOTS] 3.11ms DONE
events [PASSWORD_DOTS] 5.05ms DONE
routes [PASSWORD_DOTS] 1.83ms DONE
views [PASSWORD_DOTS] 4.91ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-download:worker-download_00: stopped
worker-nudges:worker-nudges_00: stopped
worker:worker_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 37.77ms DONE
cache [PASSWORD_DOTS] 58.83ms DONE
compiled [PASSWORD_DOTS] 9.93ms DONE
events [PASSWORD_DOTS] 12.23ms DONE
routes [PASSWORD_DOTS] 5.02ms DONE
views [PASSWORD_DOTS] 21.46ms DONE
worker-nudges:worker-nudges_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-download:worker-download_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker:worker_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.01ms DONE
cache [PASSWORD_DOTS] 16.11ms DONE
compiled [PASSWORD_DOTS] 2.91ms DONE
events [PASSWORD_DOTS] 2.27ms DONE
routes [PASSWORD_DOTS] 3.11ms DONE
views [PASSWORD_DOTS] 18.41ms DONE
worker-crm-update:worker-crm-update_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-download:worker-download_00: stopped
worker-nudges:worker-nudges_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker:worker_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
SevenShores\Hubspot\Exceptions\BadRequest
Client error: `POST [URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 55.84ms DONE
cache [PASSWORD_DOTS] 108.68ms DONE
compiled [PASSWORD_DOTS] 22.07ms DONE
events [PASSWORD_DOTS] 25.86ms DONE
routes [PASSWORD_DOTS] 19.91ms DONE
views [PASSWORD_DOTS] 52.25ms DONE
worker-nudges:worker-nudges_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-download:worker-download_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-audio:worker-audio_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker:worker_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nSyncing opportunity 0\nSyncing opportunity 25\nSyncing opportunity 50\nSyncing opportunity 75\nSyncing opportunity 100\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config ............................................................................................................................... 4.32ms DONE\n cache ............................................................................................................................... 10.62ms DONE\n compiled ............................................................................................................................. 3.60ms DONE\n events ............................................................................................................................... 2.60ms DONE\n routes ............................................................................................................................... 2.72ms DONE\n views ................................................................................................................................ 5.95ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-nudges:worker-nudges_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-download:worker-download_00: stopped\nworker:worker_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-emails:worker-emails_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nSyncing opportunity 0\nSyncing opportunity 25\nSyncing opportunity 50\nSyncing opportunity 75\nSyncing opportunity 100\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nSyncing opportunity 0\nSyncing opportunity 25\nSyncing opportunity 50\nSyncing opportunity 75\nSyncing opportunity 100\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nSyncing opportunity 0\n\n HubSpot\\Client\\Crm\\Deals\\ApiException \n\n [429] Client error: `GET https://api.hubapi.com/crm/v3/objects/deals/374720564?properties=hs_object_id%2Cdealname&associations=companies%2Ccontacts&archived=0` resulted in a `429 Too Many Requests` response:\n{\"status\":\"error\",\"message\":\"You have reached your ten_secondly_rolling limit.\",\"errorType\":\"RATE_LIMIT\",\"correlationId\" (truncated...)\n\n at vendor/hubspot/api-client/codegen/Crm/Deals/Api/BasicApi.php:704\n 700▕ $options = $this->createHttpClientOption();\n 701▕ try {\n 702▕ $response = $this->client->send($request, $options);\n 703▕ } catch (RequestException $e) {\n ➜ 704▕ throw new ApiException(\n 705▕ \"[{$e->getCode()}] {$e->getMessage()}\",\n 706▕ (int) $e->getCode(),\n 707▕ $e->getResponse() ? $e->getResponse()->getHeaders() : null,\n 708▕ $e->getResponse() ? (string) $e->getResponse()->getBody() : null\n\n +1 vendor frames \n\n 2 app/Services/Crm/Hubspot/Client.php:212\n HubSpot\\Client\\Crm\\Deals\\Api\\BasicApi::getById(\"374720564\", \"hs_object_id,dealname\", \"companies,contacts\")\n\n 3 app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php:130\n Jiminny\\Services\\Crm\\Hubspot\\Client::getOpportunityById(\"374720564\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 10.49ms DONE\n cache ............................................................................................................................... 21.31ms DONE\n compiled ............................................................................................................................. 3.11ms DONE\n events ............................................................................................................................... 5.05ms DONE\n routes ............................................................................................................................... 1.83ms DONE\n views ................................................................................................................................ 4.91ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker:worker_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 37.77ms DONE\n cache ............................................................................................................................... 58.83ms DONE\n compiled ............................................................................................................................. 9.93ms DONE\n events .............................................................................................................................. 12.23ms DONE\n routes ............................................................................................................................... 5.02ms DONE\n views ............................................................................................................................... 21.46ms DONE\n\nworker-nudges:worker-nudges_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-download:worker-download_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker:worker_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config ............................................................................................................................... 6.01ms DONE\n cache ............................................................................................................................... 16.11ms DONE\n compiled ............................................................................................................................. 2.91ms DONE\n events ............................................................................................................................... 2.27ms DONE\n routes ............................................................................................................................... 3.11ms DONE\n views ............................................................................................................................... 18.41ms DONE\n\nworker-crm-update:worker-crm-update_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\n\n SevenShores\\Hubspot\\Exceptions\\BadRequest \n\n Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response:\n{\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT\",\"correlationId\":\"019e0284-5 (truncated...)\n\n at vendor/hubspot/hubspot-php/src/Exceptions/HubspotException.php:24\n 20▕ }\n 21▕ \n 22▕ public static function create(RequestException $guzzleException): self\n 23▕ {\n ➜ 24▕ $e = new static(\n 25▕ static::sanitizeResponseMessage($guzzleException->getMessage()),\n 26▕ $guzzleException->getCode(),\n 27▕ $guzzleException\n 28▕ );\n\n +13 vendor frames \n\n 14 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:163\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:51\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::executeSearchRequest(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), \"https://api.hubapi.com/crm/v3/objects/contact/search\", [], Object(Jiminny\\Services\\Crm\\Hubspot\\Pagination\\PaginationState))\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 55.84ms DONE\n cache .............................................................................................................................. 108.68ms DONE\n compiled ............................................................................................................................ 22.07ms DONE\n events .............................................................................................................................. 25.86ms DONE\n routes .............................................................................................................................. 19.91ms DONE\n views ............................................................................................................................... 52.25ms DONE\n\nworker-nudges:worker-nudges_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny#","depth":4,"on_screen":true,"value":"root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nSyncing opportunity 0\nSyncing opportunity 25\nSyncing opportunity 50\nSyncing opportunity 75\nSyncing opportunity 100\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config ............................................................................................................................... 4.32ms DONE\n cache ............................................................................................................................... 10.62ms DONE\n compiled ............................................................................................................................. 3.60ms DONE\n events ............................................................................................................................... 2.60ms DONE\n routes ............................................................................................................................... 2.72ms DONE\n views ................................................................................................................................ 5.95ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-nudges:worker-nudges_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-download:worker-download_00: stopped\nworker:worker_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-emails:worker-emails_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nSyncing opportunity 0\nSyncing opportunity 25\nSyncing opportunity 50\nSyncing opportunity 75\nSyncing opportunity 100\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nSyncing opportunity 0\nSyncing opportunity 25\nSyncing opportunity 50\nSyncing opportunity 75\nSyncing opportunity 100\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nSyncing opportunity 0\n\n HubSpot\\Client\\Crm\\Deals\\ApiException \n\n [429] Client error: `GET https://api.hubapi.com/crm/v3/objects/deals/374720564?properties=hs_object_id%2Cdealname&associations=companies%2Ccontacts&archived=0` resulted in a `429 Too Many Requests` response:\n{\"status\":\"error\",\"message\":\"You have reached your ten_secondly_rolling limit.\",\"errorType\":\"RATE_LIMIT\",\"correlationId\" (truncated...)\n\n at vendor/hubspot/api-client/codegen/Crm/Deals/Api/BasicApi.php:704\n 700▕ $options = $this->createHttpClientOption();\n 701▕ try {\n 702▕ $response = $this->client->send($request, $options);\n 703▕ } catch (RequestException $e) {\n ➜ 704▕ throw new ApiException(\n 705▕ \"[{$e->getCode()}] {$e->getMessage()}\",\n 706▕ (int) $e->getCode(),\n 707▕ $e->getResponse() ? $e->getResponse()->getHeaders() : null,\n 708▕ $e->getResponse() ? (string) $e->getResponse()->getBody() : null\n\n +1 vendor frames \n\n 2 app/Services/Crm/Hubspot/Client.php:212\n HubSpot\\Client\\Crm\\Deals\\Api\\BasicApi::getById(\"374720564\", \"hs_object_id,dealname\", \"companies,contacts\")\n\n 3 app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php:130\n Jiminny\\Services\\Crm\\Hubspot\\Client::getOpportunityById(\"374720564\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 10.49ms DONE\n cache ............................................................................................................................... 21.31ms DONE\n compiled ............................................................................................................................. 3.11ms DONE\n events ............................................................................................................................... 5.05ms DONE\n routes ............................................................................................................................... 1.83ms DONE\n views ................................................................................................................................ 4.91ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker:worker_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 37.77ms DONE\n cache ............................................................................................................................... 58.83ms DONE\n compiled ............................................................................................................................. 9.93ms DONE\n events .............................................................................................................................. 12.23ms DONE\n routes ............................................................................................................................... 5.02ms DONE\n views ............................................................................................................................... 21.46ms DONE\n\nworker-nudges:worker-nudges_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-download:worker-download_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker:worker_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\nMatching contact 1\nMatching contact 2\nMatching contact 3\nMatching contact 4\nMatching contact 5\nMatching contact 6\nMatching contact 7\nMatching contact 8\nMatching contact 9\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config ............................................................................................................................... 6.01ms DONE\n cache ............................................................................................................................... 16.11ms DONE\n compiled ............................................................................................................................. 2.91ms DONE\n events ............................................................................................................................... 2.27ms DONE\n routes ............................................................................................................................... 3.11ms DONE\n views ............................................................................................................................... 18.41ms DONE\n\nworker-crm-update:worker-crm-update_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nMatching contact 0\n\n SevenShores\\Hubspot\\Exceptions\\BadRequest \n\n Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response:\n{\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT\",\"correlationId\":\"019e0284-5 (truncated...)\n\n at vendor/hubspot/hubspot-php/src/Exceptions/HubspotException.php:24\n 20▕ }\n 21▕ \n 22▕ public static function create(RequestException $guzzleException): self\n 23▕ {\n ➜ 24▕ $e = new static(\n 25▕ static::sanitizeResponseMessage($guzzleException->getMessage()),\n 26▕ $guzzleException->getCode(),\n 27▕ $guzzleException\n 28▕ );\n\n +13 vendor frames \n\n 14 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:163\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:51\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::executeSearchRequest(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), \"https://api.hubapi.com/crm/v3/objects/contact/search\", [], Object(Jiminny\\Services\\Crm\\Hubspot\\Pagination\\PaginationState))\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 55.84ms DONE\n cache .............................................................................................................................. 108.68ms DONE\n compiled ............................................................................................................................ 22.07ms DONE\n events .............................................................................................................................. 25.86ms DONE\n routes .............................................................................................................................. 19.91ms DONE\n views ............................................................................................................................... 52.25ms DONE\n\nworker-nudges:worker-nudges_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\nroot@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"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.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.16458334,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"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.16875,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"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.32916668,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8126966404766651147
|
2146006535756088068
|
click
|
accessibility
|
NULL
|
root@docker_lamp_1:/home/jiminny# php artisan jimi root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Syncing opportunity 0
Syncing opportunity 25
Syncing opportunity 50
Syncing opportunity 75
Syncing opportunity 100
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.32ms DONE
cache [PASSWORD_DOTS] 10.62ms DONE
compiled [PASSWORD_DOTS] 3.60ms DONE
events [PASSWORD_DOTS] 2.60ms DONE
routes [PASSWORD_DOTS] 2.72ms DONE
views [PASSWORD_DOTS] 5.95ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
worker-nudges:worker-nudges_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-download:worker-download_00: stopped
worker:worker_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-audio:worker-audio_00: stopped
worker-emails:worker-emails_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Syncing opportunity 0
Syncing opportunity 25
Syncing opportunity 50
Syncing opportunity 75
Syncing opportunity 100
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Syncing opportunity 0
Syncing opportunity 25
Syncing opportunity 50
Syncing opportunity 75
Syncing opportunity 100
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Syncing opportunity 0
HubSpot\Client\Crm\Deals\ApiException
[429] Client error: `GET [URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.49ms DONE
cache [PASSWORD_DOTS] 21.31ms DONE
compiled [PASSWORD_DOTS] 3.11ms DONE
events [PASSWORD_DOTS] 5.05ms DONE
routes [PASSWORD_DOTS] 1.83ms DONE
views [PASSWORD_DOTS] 4.91ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-download:worker-download_00: stopped
worker-nudges:worker-nudges_00: stopped
worker:worker_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 37.77ms DONE
cache [PASSWORD_DOTS] 58.83ms DONE
compiled [PASSWORD_DOTS] 9.93ms DONE
events [PASSWORD_DOTS] 12.23ms DONE
routes [PASSWORD_DOTS] 5.02ms DONE
views [PASSWORD_DOTS] 21.46ms DONE
worker-nudges:worker-nudges_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-download:worker-download_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker:worker_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
Matching contact 1
Matching contact 2
Matching contact 3
Matching contact 4
Matching contact 5
Matching contact 6
Matching contact 7
Matching contact 8
Matching contact 9
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.01ms DONE
cache [PASSWORD_DOTS] 16.11ms DONE
compiled [PASSWORD_DOTS] 2.91ms DONE
events [PASSWORD_DOTS] 2.27ms DONE
routes [PASSWORD_DOTS] 3.11ms DONE
views [PASSWORD_DOTS] 18.41ms DONE
worker-crm-update:worker-crm-update_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-download:worker-download_00: stopped
worker-nudges:worker-nudges_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker:worker_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Matching contact 0
SevenShores\Hubspot\Exceptions\BadRequest
Client error: `POST [URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 55.84ms DONE
cache [PASSWORD_DOTS] 108.68ms DONE
compiled [PASSWORD_DOTS] 22.07ms DONE
events [PASSWORD_DOTS] 25.86ms DONE
routes [PASSWORD_DOTS] 19.91ms DONE
views [PASSWORD_DOTS] 52.25ms DONE
worker-nudges:worker-nudges_00: stopped
jiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped
jiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped
jiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped
jiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
worker-analytics:worker-analytics_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-download:worker-download_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-audio:worker-audio_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped
worker:worker_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-es-update:worker-es-update_00: stopped
artisan-schedule:artisan-schedule_00: started
jiminny-worker-processing-1:jiminny-worker-processing-1_00: started
jiminny-worker-processing-2:jiminny-worker-processing-2_00: started
jiminny-worker-processing-3:jiminny-worker-processing-3_00: started
jiminny-worker-processing-4:jiminny-worker-processing-4_00: started
jiminny-worker-processing-5:jiminny-worker-processing-5_00: started
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started
worker:worker_00: started
worker-analytics:worker-analytics_00: started
worker-audio:worker-audio_00: started
worker-calendar:worker-calendar_00: started
worker-conferences:worker-conferences_00: started
worker-crm-sync:worker-crm-sync_00: started
worker-crm-update:worker-crm-update_00: started
worker-download:worker-download_00: started
worker-emails:worker-emails_00: started
worker-es-update:worker-es-update_00: started
worker-nudges:worker-nudges_00: started
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
24664
|
1028
|
1
|
2026-05-12T09:32:30.412798+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778578350412_m1.jpg...
|
iTerm2
|
ec2-user@ip-10-30-129-190:~
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Thu May 7 09:44:56 on ttys007
Poetry Last login: Thu May 7 09:44:56 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20773-fix-automated-reports-user-pilot-tracking) $ vprod
Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:
Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.
A newer release of "Amazon Linux" is available.
Version 2023.10.20260330:
Version 2023.11.20260406:
Version 2023.11.20260413:
Version 2023.11.20260427:
Version 2023.11.20260505:
Version 2023.11.20260509:
Run "/usr/bin/dnf check-release-update" for full release and version update info
, #_
~\_ ####_
~~ \_#####\
~~ \###|
~~ \#/ ___ Amazon Linux 2023 (ECS Optimized)
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
For documentation, visit [URL_WITH_CREDENTIALS] ~]$ docker exec -it $(docker ps --format "{{.ID}}" --filter "name=ecs-worker" | head -1) /bin/bash -c "cd /home/jiminny && bash"
root@a3efaa2235c4:/home/jiminny# php artisan tinker
Psy Shell v0.12.21 (PHP 8.3.30 — cli) by Justin Hileman
New PHP manual is available (latest: 3.0.5). Update with `doc --update-manual`
> $result = AutomatedReportResult::find(1872);
[!] Aliasing 'AutomatedReportResult' to 'Jiminny\Models\AutomatedReportResult' for this Tinker session.
= Jiminny\Models\AutomatedReportResult {#15863
id: 1872,
uuid: b"C©¯Ó‚/¤\e¢H†°ão11",
report_id: 54,
name: "Coaching Profiles - 6 - 12 Apr 2026 - Client Success, UK Sales",
media_type: "pdf",
parent_id: null,
status: 2,
reason: 0,
payload: "{"team_id":1,"request_id":"822fa41b-afd3-43a9-a248-86b0e36f3131","report_type":"coaching_profiles","media_types":["pdf","podcast"],"from_date":"2026-04-06T00:00:00+00:00","to_date":"2026-04-12T23:59:59+00:00","group_ids":[91,2],"call_deal_stage":[],"current_deal_stage":[],"deal_min_value":null,"deal_max_value":null,"call_types":["conference","dialer"],"call_duration_min_seconds":360,"call_duration_max_seconds":null,"special_requirements":"","callback_url":"https:\/\/team:[EMAIL]\/webhook\/reports\/ready","report_period":"6 - 12 Apr 2026","playbook_categories":[],"custom_name":null}",
response: "{"request_id":"822fa41b-afd3-43a9-a248-86b0e36f3131","status":"completed","timestamp":"2026-04-13T01:11:48.648399+00:00","s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD","report_type":"coaching_profiles","podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt","podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3","podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml"}",
requested_at: "2026-04-13 01:00:57",
generated_at: "2026-04-13 01:11:48",
sent_at: null,
created_at: "2026-04-13 01:00:27",
updated_at: "2026-04-13 01:11:48",
}
> $result->status = 4;
= 4
> $result->s
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
ec2-user@ip-10-30-129-190:~...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Thu May 7 09:44:56 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20773-fix-automated-reports-user-pilot-tracking) $ vprod\nEnter MFA code for arn:aws:iam::438740370364:mfa/lukas.kovalik@jiminny.com: \nWarning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.\n\nA newer release of \"Amazon Linux\" is available.\n Version 2023.10.20260330:\n Version 2023.11.20260406:\n Version 2023.11.20260413:\n Version 2023.11.20260427:\n Version 2023.11.20260505:\n Version 2023.11.20260509:\nRun \"/usr/bin/dnf check-release-update\" for full release and version update info\n , #_\n ~\\_ ####_\n ~~ \\_#####\\\n ~~ \\###|\n ~~ \\#/ ___ Amazon Linux 2023 (ECS Optimized)\n ~~ V~' '->\n ~~~ /\n ~~._. _/\n _/ _/\n _/m/'\n\nFor documentation, visit http://aws.amazon.com/documentation/ecs\nLast login: Tue May 12 08:41:12 2026 from 10.30.45.167\n[ec2-user@ip-10-30-129-190 ~]$ docker exec -it $(docker ps --format \"{{.ID}}\" --filter \"name=ecs-worker\" | head -1) /bin/bash -c \"cd /home/jiminny && bash\"\nroot@a3efaa2235c4:/home/jiminny# php artisan tinker\nPsy Shell v0.12.21 (PHP 8.3.30 — cli) by Justin Hileman\nNew PHP manual is available (latest: 3.0.5). Update with `doc --update-manual`\n> $result = AutomatedReportResult::find(1872);\n[!] Aliasing 'AutomatedReportResult' to 'Jiminny\\Models\\AutomatedReportResult' for this Tinker session.\n= Jiminny\\Models\\AutomatedReportResult {#15863\n id: 1872,\n uuid: b\"C©¯Ó‚/¤\\e¢H†°ão11\",\n report_id: 54,\n name: \"Coaching Profiles - 6 - 12 Apr 2026 - Client Success, UK Sales\",\n media_type: \"pdf\",\n parent_id: null,\n status: 2,\n reason: 0,\n payload: \"{\"team_id\":1,\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\"report_type\":\"coaching_profiles\",\"media_types\":[\"pdf\",\"podcast\"],\"from_date\":\"2026-04-06T00:00:00+00:00\",\"to_date\":\"2026-04-12T23:59:59+00:00\",\"group_ids\":[91,2],\"call_deal_stage\":[],\"current_deal_stage\":[],\"deal_min_value\":null,\"deal_max_value\":null,\"call_types\":[\"conference\",\"dialer\"],\"call_duration_min_seconds\":360,\"call_duration_max_seconds\":null,\"special_requirements\":\"\",\"callback_url\":\"https:\\/\\/team:5hgTDUyu1vqCd@app.jiminny.com\\/webhook\\/reports\\/ready\",\"report_period\":\"6 - 12 Apr 2026\",\"playbook_categories\":[],\"custom_name\":null}\",\n response: \"{\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\"status\":\"completed\",\"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\"report_type\":\"coaching_profiles\",\"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\",\n requested_at: \"2026-04-13 01:00:57\",\n generated_at: \"2026-04-13 01:11:48\",\n sent_at: null,\n created_at: \"2026-04-13 01:00:27\",\n updated_at: \"2026-04-13 01:11:48\",\n }\n\n> $result->status = 4;\n= 4\n\n> $result->s","depth":4,"on_screen":true,"value":"Last login: Thu May 7 09:44:56 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20773-fix-automated-reports-user-pilot-tracking) $ vprod\nEnter MFA code for arn:aws:iam::438740370364:mfa/lukas.kovalik@jiminny.com: \nWarning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.\n\nA newer release of \"Amazon Linux\" is available.\n Version 2023.10.20260330:\n Version 2023.11.20260406:\n Version 2023.11.20260413:\n Version 2023.11.20260427:\n Version 2023.11.20260505:\n Version 2023.11.20260509:\nRun \"/usr/bin/dnf check-release-update\" for full release and version update info\n , #_\n ~\\_ ####_\n ~~ \\_#####\\\n ~~ \\###|\n ~~ \\#/ ___ Amazon Linux 2023 (ECS Optimized)\n ~~ V~' '->\n ~~~ /\n ~~._. _/\n _/ _/\n _/m/'\n\nFor documentation, visit http://aws.amazon.com/documentation/ecs\nLast login: Tue May 12 08:41:12 2026 from 10.30.45.167\n[ec2-user@ip-10-30-129-190 ~]$ docker exec -it $(docker ps --format \"{{.ID}}\" --filter \"name=ecs-worker\" | head -1) /bin/bash -c \"cd /home/jiminny && bash\"\nroot@a3efaa2235c4:/home/jiminny# php artisan tinker\nPsy Shell v0.12.21 (PHP 8.3.30 — cli) by Justin Hileman\nNew PHP manual is available (latest: 3.0.5). Update with `doc --update-manual`\n> $result = AutomatedReportResult::find(1872);\n[!] Aliasing 'AutomatedReportResult' to 'Jiminny\\Models\\AutomatedReportResult' for this Tinker session.\n= Jiminny\\Models\\AutomatedReportResult {#15863\n id: 1872,\n uuid: b\"C©¯Ó‚/¤\\e¢H†°ão11\",\n report_id: 54,\n name: \"Coaching Profiles - 6 - 12 Apr 2026 - Client Success, UK Sales\",\n media_type: \"pdf\",\n parent_id: null,\n status: 2,\n reason: 0,\n payload: \"{\"team_id\":1,\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\"report_type\":\"coaching_profiles\",\"media_types\":[\"pdf\",\"podcast\"],\"from_date\":\"2026-04-06T00:00:00+00:00\",\"to_date\":\"2026-04-12T23:59:59+00:00\",\"group_ids\":[91,2],\"call_deal_stage\":[],\"current_deal_stage\":[],\"deal_min_value\":null,\"deal_max_value\":null,\"call_types\":[\"conference\",\"dialer\"],\"call_duration_min_seconds\":360,\"call_duration_max_seconds\":null,\"special_requirements\":\"\",\"callback_url\":\"https:\\/\\/team:5hgTDUyu1vqCd@app.jiminny.com\\/webhook\\/reports\\/ready\",\"report_period\":\"6 - 12 Apr 2026\",\"playbook_categories\":[],\"custom_name\":null}\",\n response: \"{\"request_id\":\"822fa41b-afd3-43a9-a248-86b0e36f3131\",\"status\":\"completed\",\"timestamp\":\"2026-04-13T01:11:48.648399+00:00\",\"s3_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD\",\"report_type\":\"coaching_profiles\",\"podcast_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt\",\"podcast_audio_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3\",\"podcast_ssml_url\":\"s3:\\/\\/jiminny.client-data\\/5f0f4810-7e77-4086-8f69-93429ae4d70b\\/reports\\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml\"}\",\n requested_at: \"2026-04-13 01:00:57\",\n generated_at: \"2026-04-13 01:11:48\",\n sent_at: null,\n created_at: \"2026-04-13 01:00:27\",\n updated_at: \"2026-04-13 01:11:48\",\n }\n\n> $result->status = 4;\n= 4\n\n> $result->s","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"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.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"on_screen":true,"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"on_screen":true,"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"on_screen":true,"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"ec2-user@ip-10-30-129-190:~","depth":1,"bounds":{"left":0.42847222,"top":0.033333335,"width":0.14305556,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
8124535463666431210
|
-826588604440813353
|
visual_change
|
accessibility
|
NULL
|
Last login: Thu May 7 09:44:56 on ttys007
Poetry Last login: Thu May 7 09:44:56 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20773-fix-automated-reports-user-pilot-tracking) $ vprod
Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:
Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.
A newer release of "Amazon Linux" is available.
Version 2023.10.20260330:
Version 2023.11.20260406:
Version 2023.11.20260413:
Version 2023.11.20260427:
Version 2023.11.20260505:
Version 2023.11.20260509:
Run "/usr/bin/dnf check-release-update" for full release and version update info
, #_
~\_ ####_
~~ \_#####\
~~ \###|
~~ \#/ ___ Amazon Linux 2023 (ECS Optimized)
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
For documentation, visit [URL_WITH_CREDENTIALS] ~]$ docker exec -it $(docker ps --format "{{.ID}}" --filter "name=ecs-worker" | head -1) /bin/bash -c "cd /home/jiminny && bash"
root@a3efaa2235c4:/home/jiminny# php artisan tinker
Psy Shell v0.12.21 (PHP 8.3.30 — cli) by Justin Hileman
New PHP manual is available (latest: 3.0.5). Update with `doc --update-manual`
> $result = AutomatedReportResult::find(1872);
[!] Aliasing 'AutomatedReportResult' to 'Jiminny\Models\AutomatedReportResult' for this Tinker session.
= Jiminny\Models\AutomatedReportResult {#15863
id: 1872,
uuid: b"C©¯Ó‚/¤\e¢H†°ão11",
report_id: 54,
name: "Coaching Profiles - 6 - 12 Apr 2026 - Client Success, UK Sales",
media_type: "pdf",
parent_id: null,
status: 2,
reason: 0,
payload: "{"team_id":1,"request_id":"822fa41b-afd3-43a9-a248-86b0e36f3131","report_type":"coaching_profiles","media_types":["pdf","podcast"],"from_date":"2026-04-06T00:00:00+00:00","to_date":"2026-04-12T23:59:59+00:00","group_ids":[91,2],"call_deal_stage":[],"current_deal_stage":[],"deal_min_value":null,"deal_max_value":null,"call_types":["conference","dialer"],"call_duration_min_seconds":360,"call_duration_max_seconds":null,"special_requirements":"","callback_url":"https:\/\/team:[EMAIL]\/webhook\/reports\/ready","report_period":"6 - 12 Apr 2026","playbook_categories":[],"custom_name":null}",
response: "{"request_id":"822fa41b-afd3-43a9-a248-86b0e36f3131","status":"completed","timestamp":"2026-04-13T01:11:48.648399+00:00","s3_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248-86b0e36f3131.MD","report_type":"coaching_profiles","podcast_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.txt","podcast_audio_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.mp3","podcast_ssml_url":"s3:\/\/jiminny.client-data\/5f0f4810-7e77-4086-8f69-93429ae4d70b\/reports\/822fa41b-afd3-43a9-a248-86b0e36f3131_podcast.ssml"}",
requested_at: "2026-04-13 01:00:57",
generated_at: "2026-04-13 01:11:48",
sent_at: null,
created_at: "2026-04-13 01:00:27",
updated_at: "2026-04-13 01:11:48",
}
> $result->status = 4;
= 4
> $result->s
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-129-190:~ (nc)
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
ec2-user@ip-10-30-129-190:~...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
3280
|
124
|
57
|
2026-05-07T12:09:52.595366+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778155792595_m2.jpg...
|
iTerm2
|
NULL
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
* PostmanEditVIewWindowmelpHubSpot rate limit impl * PostmanEditVIewWindowmelpHubSpot rate limit implementation strategy vcan I call it trom postman 100 timesEvaluated Postman testing methods and rate limit behavior implications ›Yes. easily. Postman has a built-in Collection Runner for this.How to do it1. Save the request to a collection (right-click → Save).2. Click Run collection (the play icon next to the collection name) or open therunner from the bottom-left.3. Set Iterations: 100. Delay: 0 (or a small value like 50ms).4. Hit RunYou'll get a results view showing each iteration's status code response time and (ifyou click into them the headers.What vou'll actuallv seeCince vol connrmed May=110 Tinterval=t dddd•• At Oms delav. 100 iterations: Postman pushes calls as fast as TCP allows —typically 5-10 calls/second on a normal connection. You'll likelv see all 100succeed because 100 < 110 in 10 seconds, and each call's latency naturally spacesthings out. The X-HubSpot-RateLimit-Remaining header willdron from 109 →108 → 107 ... down to maybe ~10-20 by the end, then recover as the 10-secondwindow siides torward.• To deliberatelv hit a 429: set iterations to 120+ with Oms delav. You'llsee thenret ~l0 reruirn2o0. then 2 bulrct of 42es with nol ievname :TEN SECONDIY ROLITNG• To test the search limit instead: point the request at a search endpoint (e.g..POST /crm/v3/obiects/contacts/search with aminimalbody).setiterationsto 10. delav to 0. You'll trigger 429s wi J plicyName: SECONDLY after the 5thcall within a second. Faster and cheader to reproduce than the burst limitKeep going in Claude CodeSwitch to Claude Code and let Claude work directiv in vour.repo. running and testing as it goesWrite a message…Opus 4. AdaptiveHubspot rate limits reference - MDUse timeZone to interpret resetsAt from the daily erCheat sheet: profiling a new portal in PostmanThree calls, in order:1. GEl /account-into/v3/details → portalinto+GET /account-info/v3/api-usage/daily/privameaningful for private apps)3. Skip search probing — the 5/sec is fixedError response shape"message": "You have reached your secondly 1"errorType": "RATE LIMIT","policyName": "SECONDLY"."correlationia": "...","requestId": "..."nolncvname values.• SECONDLY - search bucket (5/sec)• TEN SECONDLY ROLLING - burst bucket (110/10sprivate)• DAILY — private apps daily ceilingAlways inspect policyName on 429 to know which buchack offOther operational guidelines• Error responses must stay under 5% of total dailycertificationi• Polling endpoints: minimum interval 5 minutes.•Search querv. may 3.000 chars may 18 flters acrorecullts ver query.• Ratch enânoints. 1in to 100 records ner call regdlaYour team is now on the Free plan with 1 admin. You retain editing access and other members are read-only. View team permissions to see who can edit, or upgrade to restore collaborationGET Get Eno • GET Read Cc•Iteration run HS › Read CopyToaseurl)) /crm/vs/objects/deal/28/386441:associations=contactaassociations=company= DocsParams • Authorization • Headers 8 Body Scripts SettinasAuth TypeOAuth 20Quick set-upHi everyone! Welcome to HubSpot's OAuth authentication for HubSpot CRM APls for testing.ine autnorization cata will be automaticallygenerated when you send the request. LearnThis authentication can be utilized to test our CRM-focused APis, such as Comoanies. Contacts. Deals)more about ©Auth 2.0 authorizationTo successfully apply OAuth authorization to begin testing these APis, follow these steps to access ourpublic app and apply the authentication*You must be a Super Admin to install an app in a HubSpot account and access the scopesapplicable to the APls listed above.• Review the requested permissions and grant the app access to your HubSpot account.• You will then be redirected to Postman with an authorization code in the query string.For more information on OAuth, please check out HubSpot's OAuth documentation!•Workina with OAuth• OAuth 2.0 Quickstarthhl"supoont Dally • nowNo environmentv) Savecookies100% L2Inu / May 10.09:02VAIlG baseUrlhttos:/lapi.hubaoi.com> All variablesv COLLECtIONs> batchv O (object Id)associations/{to Object Type)y det Reade9. An error occurred.29: successtul operation>DEL Archive>PATCH Update>GET List>post Create> PoST Filter. Sort. and Search CRM ObiectsCRM Owners> CRM Pioelines>DealsEngagements> C OLD ENGAGEMENTSget list meetinaspirt coaren madmer camaanioPOST search taskscst read call> POST search callscsT list callsPOST meetinas scheduledGET get meetinoPOST aet link to taskv Iteration run HSGet Read Coov40. An error occurred.en. successtul oberation› Journal & webhoooks v4> ©Authi> Properties>RESSARCHI> SEARCHvtleofint> PosT filter per comoany / oniv open deal stagesGET engagements old associated by dea>ENVIRONMENTS> SPFCS>FLOWS@ Connect Git = Concoldo. TePesnance3 HistorySend + Get a successful responsea Send + Visualize response*R Send + Write tests...
|
NULL
|
8120935172043192982
|
NULL
|
visual_change
|
ocr
|
NULL
|
* PostmanEditVIewWindowmelpHubSpot rate limit impl * PostmanEditVIewWindowmelpHubSpot rate limit implementation strategy vcan I call it trom postman 100 timesEvaluated Postman testing methods and rate limit behavior implications ›Yes. easily. Postman has a built-in Collection Runner for this.How to do it1. Save the request to a collection (right-click → Save).2. Click Run collection (the play icon next to the collection name) or open therunner from the bottom-left.3. Set Iterations: 100. Delay: 0 (or a small value like 50ms).4. Hit RunYou'll get a results view showing each iteration's status code response time and (ifyou click into them the headers.What vou'll actuallv seeCince vol connrmed May=110 Tinterval=t dddd•• At Oms delav. 100 iterations: Postman pushes calls as fast as TCP allows —typically 5-10 calls/second on a normal connection. You'll likelv see all 100succeed because 100 < 110 in 10 seconds, and each call's latency naturally spacesthings out. The X-HubSpot-RateLimit-Remaining header willdron from 109 →108 → 107 ... down to maybe ~10-20 by the end, then recover as the 10-secondwindow siides torward.• To deliberatelv hit a 429: set iterations to 120+ with Oms delav. You'llsee thenret ~l0 reruirn2o0. then 2 bulrct of 42es with nol ievname :TEN SECONDIY ROLITNG• To test the search limit instead: point the request at a search endpoint (e.g..POST /crm/v3/obiects/contacts/search with aminimalbody).setiterationsto 10. delav to 0. You'll trigger 429s wi J plicyName: SECONDLY after the 5thcall within a second. Faster and cheader to reproduce than the burst limitKeep going in Claude CodeSwitch to Claude Code and let Claude work directiv in vour.repo. running and testing as it goesWrite a message…Opus 4. AdaptiveHubspot rate limits reference - MDUse timeZone to interpret resetsAt from the daily erCheat sheet: profiling a new portal in PostmanThree calls, in order:1. GEl /account-into/v3/details → portalinto+GET /account-info/v3/api-usage/daily/privameaningful for private apps)3. Skip search probing — the 5/sec is fixedError response shape"message": "You have reached your secondly 1"errorType": "RATE LIMIT","policyName": "SECONDLY"."correlationia": "...","requestId": "..."nolncvname values.• SECONDLY - search bucket (5/sec)• TEN SECONDLY ROLLING - burst bucket (110/10sprivate)• DAILY — private apps daily ceilingAlways inspect policyName on 429 to know which buchack offOther operational guidelines• Error responses must stay under 5% of total dailycertificationi• Polling endpoints: minimum interval 5 minutes.•Search querv. may 3.000 chars may 18 flters acrorecullts ver query.• Ratch enânoints. 1in to 100 records ner call regdlaYour team is now on the Free plan with 1 admin. You retain editing access and other members are read-only. View team permissions to see who can edit, or upgrade to restore collaborationGET Get Eno • GET Read Cc•Iteration run HS › Read CopyToaseurl)) /crm/vs/objects/deal/28/386441:associations=contactaassociations=company= DocsParams • Authorization • Headers 8 Body Scripts SettinasAuth TypeOAuth 20Quick set-upHi everyone! Welcome to HubSpot's OAuth authentication for HubSpot CRM APls for testing.ine autnorization cata will be automaticallygenerated when you send the request. LearnThis authentication can be utilized to test our CRM-focused APis, such as Comoanies. Contacts. Deals)more about ©Auth 2.0 authorizationTo successfully apply OAuth authorization to begin testing these APis, follow these steps to access ourpublic app and apply the authentication*You must be a Super Admin to install an app in a HubSpot account and access the scopesapplicable to the APls listed above.• Review the requested permissions and grant the app access to your HubSpot account.• You will then be redirected to Postman with an authorization code in the query string.For more information on OAuth, please check out HubSpot's OAuth documentation!•Workina with OAuth• OAuth 2.0 Quickstarthhl"supoont Dally • nowNo environmentv) Savecookies100% L2Inu / May 10.09:02VAIlG baseUrlhttos:/lapi.hubaoi.com> All variablesv COLLECtIONs> batchv O (object Id)associations/{to Object Type)y det Reade9. An error occurred.29: successtul operation>DEL Archive>PATCH Update>GET List>post Create> PoST Filter. Sort. and Search CRM ObiectsCRM Owners> CRM Pioelines>DealsEngagements> C OLD ENGAGEMENTSget list meetinaspirt coaren madmer camaanioPOST search taskscst read call> POST search callscsT list callsPOST meetinas scheduledGET get meetinoPOST aet link to taskv Iteration run HSGet Read Coov40. An error occurred.en. successtul oberation› Journal & webhoooks v4> ©Authi> Properties>RESSARCHI> SEARCHvtleofint> PosT filter per comoany / oniv open deal stagesGET engagements old associated by dea>ENVIRONMENTS> SPFCS>FLOWS@ Connect Git = Concoldo. TePesnance3 HistorySend + Get a successful responsea Send + Visualize response*R Send + Write tests...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
19672
|
840
|
12
|
2026-05-11T13:16:09.837718+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778505369837_m1.jpg...
|
Slack
|
support (Channel) - Jiminny Inc - 3 new items - Sl support (Channel) - Jiminny Inc - 3 new items - Slack...
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.51180553,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"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.50625,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.5138889,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.50625,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.5159722,"top":0.26777777,"width":0.016666668,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.50625,"top":0.2911111,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.51111114,"top":0.34333333,"width":0.027083334,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.0055555557,"height":0.015555556}},{"char_start":1,"char_count":7,"bounds":{"left":0.5159722,"top":0.34333333,"width":0.022222223,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.50625,"top":0.36666667,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.51666665,"top":0.4188889,"width":0.015972223,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51666665,"top":0.4188889,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":4,"bounds":{"left":0.5208333,"top":0.4188889,"width":0.011805556,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.50625,"top":0.4422222,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.5152778,"top":0.49444443,"width":0.018055556,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.50625,"top":0.5177778,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.5152778,"top":0.57,"width":0.01875,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.68472224,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.050694443,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.09166667,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.093055554,"height":0.0011111111},"on_screen":true,"role_description":"text"}]...
|
8120346679550298888
|
-8123165884232024457
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
SlackFileEditViewGoHistoryWindowHelpAPP ()DOCKER- ₴81DEV (docker)₴2APP (-zsh)-zsh* @param string SobjectType The object type('deals''companies''contacts''cal)* @param array<string, mixed> Spayload Thesearch payload with filters, sorts, prope* @return array The search response with'results''total'*'paging'keys* @throws RateLimitException When rate limit is hit* @throws HubspotException On API errors* @return array The search response with 'results', 'total', 'paging' keys*/public function search(string SobjectType, array Spayload): arrayend diff4) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation)begin diff --/home/jiminny/app/Console/Commands/JiminnyDebugCommand.php+++/home/jiminny/app/Console/Commands/JiminnyDebugCommand.php-359,11+359,11 0ScrmService = ScrmResolver->prepareCrmService);-//-/1for ($i = 0; si < 3; Si++) {if (Si % 250) {Sthis->info("Syncing opportunity {Si}");Sthis->info("Matching contact {$i}");-1/-1/.+++++ScrmService->syncOpportunity('374720564');if ($i % 25=0{//Sthis->info("Syncing opportunity {$i}");Sthis->info("Matching contact {$i}");////}ScrmService->syncOpportunity('374720564');$crmService->matchByName('Robot');end diffFixed 4 of 5666 files in 146.870 seconds, 60.00 MB memory usedWhat's next:Try Docker Debug for seamless, persistent debugging tools in any containeror image →Learn more at https://docs.docker.com/go/debug-cli/lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-dHomeDMsActivityFilesLater..•Moreab)( [Platform] Refinemen... 44 m left100% C8• Mon 11 May 16:16:09•EDQDescribe what you are looking forJiminny ...# contusion-clinic# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messages8. Aneliya Angelova /®. Galya DimitrovaPetko Kashinski&. Stefka StoyanovaVasil Vasilev&. Nikolay IvanovAneliya Angelova, ...Stoyan Tanev. VesE Lukas Kovalik y... 0E:: AppsS Jira CloudToastGanala Cala# support8 346 0MessagesC FilesBookmarksMore v+Friday, May 8th2 replies Lastrepiy o uays agoToday ~Vasil Vasilev 3:52 PMwas added trVasil VasilevHey guys, an important note on EU server. Someactivities may be delayed a bit.We ran a large reindexing of our search data forElastic Search over the weekend, and it turned outsome old corrupted data blocked the process, andmassively delayed it.A few fixes were applied. I have increased thenumber of servers consuming activities, but it willstill take some time until all scheduled activities areprocessed and indexed.What that means - we were processing older data(since Jan 1st 26) but those activities compete withfreshly imported calls and conversations. And newcalls and conversations may be delayed a bit.Apart from the delay not issues with new activitiesare expected.This problem happened only on EU, all US dataprocessing was finished over the weekend.391 d2Message #support+Aa..•...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
21941
|
960
|
8
|
2026-05-12T06:39:17.423291+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778567957423_m1.jpg...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - 6 new items - Galya Dimitrova (DM) - Jiminny Inc - 6 new items - Slack...
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"on_screen":false,"role_description":"text"}]...
|
8120346679550298888
|
-8123165884232024457
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ah]Daily - Platform - in 6 mDOCKERO ₴1DEV (-zsh)О 882APP (-zsh)whisper_backend_init:usingBLAS backendwhisper_init_state: kvselfsize=3.15 MBwhisper_init_state: kv crosssize =9.44 MBwhisper_init_state: kv padsize2.36 MBwhisper_init_state:compute buffer (conv)whisper_init_state:computebuffer (encode) =whisper_init_state:computebuffer (cross)whisper_init_state: compute buffer (decode) =14.17 MB65.96 MB8.50 MB96.83 MBggml_metal_free: deallocatingwhisper_backend_init_gpu: device 0: Metal (type: 1)whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)whisper_backend_init_gpu:using Metal backendggml_metal_init: allocatingggml_metal_init:found device: Apple M1ggml_metal_init:picking default device: Apple M1ggml_metal_init:use fusion= trueggml_metal_init:use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv selfsize3.15 MBwhisper_init_state: kv cross size =9.44 MBwhisper_init_state: kv padsize=2.36 MBwhisper_init_state: compute buffer (conv)=whisper_init_state: compute buffer (encode) =whisper_init_state: compute buffer (cross)whisper_init_state: computebuffer (decode) =14.17 MB65.96 MB8.50 MB96.83 MBggml_metal_free: deallocatingwhisper_backend_init_gpu: device 0: Metal (type: 1)whisper_backend_init_gpu:found GPU device 0: Metal (type: 1, cnt: 0)whisper_backend_init_gpu: using Metal backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init:picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init: use concurrency= trueggml_metal_init: use graph optimize= truewhisper_backend_init: using BLAS backendwhisper_init_state: kv self size=3.15 MBwhisper_init_state: kv cross size =9.44 MBwhisper_init_state: kv padsize=2.36 MBwhisper_init_state: compute buffer (conv)whisper_init_state: compute buffer (encode) =whisper_init_state: compute buffer (cross)=whisper_init_state: compute buffer (decode) =14.17 MB65.96 MB8.50 MB96.83 MBggml_metal_free: deallocating*3screenpipe"-zsh-zsh*5screenpipe"100% <478•Tue 12 May 9:39:17181786-zsh+...
|
21939
|
NULL
|
NULL
|
NULL
|
|
22310
|
968
|
32
|
2026-05-12T07:01:06.041512+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778569266041_m1.jpg...
|
Slack
|
releases (Channel) - Jiminny Inc - 5 new items - S releases (Channel) - Jiminny Inc - 5 new items - Slack...
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"on_screen":false,"role_description":"text"}]...
|
8120346679550298888
|
-8123165884232024457
|
visual_change
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp(iblDaily - Platform - 4 m left)meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.comNikolay Yankov (Presenting, annotating)ChromeFileViewHistoryTabWindowHelp*8• Tue 12 May 10:011 SeX PrinryCo4 At:JinXCleС мсE) MCJirhttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedlssue=JY-20625B::X) SSHHome | Salesforce|DatadogPlatform Team%Q Sear→ Sy-20739 / P JY-20625READY FI[POC)Jiminny MCP ConnectorDescriptionCustomers are starting to use Al tool (like Claude and GPT) to connect the information from all f their platform into one place.Which they then use to interrogate and perform different analysis on their data. We want to create a Jiminny MCP which will |enable them to connect their Jiminny data to Claude/GPT.• create a POC to demonstrate the approach• determine form where the data needs to be fetched - long term we want to fetch everything from Elastic Search but inorder to release it faster we can consider a temporary mixed approach with the DB• we will use php/laravel for the implementation• determine what the authentication needs to be (keep in mind requirement 1 and 7)• outline any issues/blockers that we need to address• the approach/findings should be confirmed with Stefka and Galya• product requirements - E) Jiminny MCP ConnectorSubtasks+33% DoneWorkPriorityStory P...StatusCircle-ClSentry0 All Bookmarks |In Progress v* Improve SpikeDetailsAssigneeNikolay NikolovAssign to meReporter® Galya DimitrovaDevelopment@ Open with VS CodeIJ Create branch83 commits16 hours ago2 pull requests1 build:meet.google.comNikolay Yankov (You, presenti...ComponentsPlatform0+7Sub-ProductAdd options100% L28• Tue 12 May 10:01:05Galya DimitrovaNikolay YankovLukas Kovalik15:12Nikolay Nikolov4 others10:01 AM | Daily - Platform111...
|
22308
|
NULL
|
NULL
|
NULL
|
|
23351
|
986
|
8
|
2026-05-12T07:45:38.969957+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778571938969_m1.jpg...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - 4 new items - Galya Dimitrova (DM) - Jiminny Inc - 4 new items - Slack...
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.51180553,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"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.50625,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.5138889,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.50625,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.5159722,"top":0.26777777,"width":0.016666668,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.50625,"top":0.2911111,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.51111114,"top":0.34333333,"width":0.027083334,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51111114,"top":0.34333333,"width":0.0055555557,"height":0.015555556}},{"char_start":1,"char_count":7,"bounds":{"left":0.5159722,"top":0.34333333,"width":0.022222223,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.50625,"top":0.36666667,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.51666665,"top":0.4188889,"width":0.015972223,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.51666665,"top":0.4188889,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":4,"bounds":{"left":0.5208333,"top":0.4188889,"width":0.011805556,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.50625,"top":0.4422222,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.5152778,"top":0.49444443,"width":0.018055556,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.50625,"top":0.5177778,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.5152778,"top":0.57,"width":0.01875,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.68472224,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.050694443,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.58819443,"top":0.21666667,"width":0.09166667,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.21666667,"width":0.0027777778,"height":0.02}},{"char_start":1,"char_count":24,"bounds":{"left":0.59097224,"top":0.21666667,"width":0.11319444,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.58819443,"top":0.24777777,"width":0.093055554,"height":0.02},"on_screen":true,"role_description":"text"}]...
|
8120346679550298888
|
-8123165884232024457
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
SlackFileEditViewGoHistoryWindowHelpDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)whisper_backend_init_gpu: device 0: Metal (type:whisper_backend_init_gpu: found GPUdevice 0: Metal (type: 1, cnt: 0)whisper_backend_init_gpu: using Metal backendggml_metal_init: allocatingggml_metal_init:found device: Apple M1ggml_metal_init:picking default device: Apple M1ggml_metal_init:use fusion= trueggml_metal_init:use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv self size=3.15 MBwhisper_init_state: kv cross size =9.44 MBwhisper_init_state: kv padsize=2.36 MBwhisper_init_state: compute buffer (conv)whisper_init_state: compute buffer (encode)=whisper_init_state: compute buffer (cross)=whisper_init_state: compute buffer (decode) =14.17 MB65.96 MB8.50 MB96.83 MBggml_metal_free: deallocatingwhisper_backend_init_gpu: device 0: Metal (type: 1)whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)whisper_backend_init_gpu: using Metal backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init: picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init: use concurrency= trueggml_metal_init: use graph optimize= truewhisper_backend_init: using BLAS backendwhisper_init_state: kv self size =3.15 MBwhisper_init_state: kv cross size =9.44 MBwhisper_init_state: kv padsize=2.36 MBwhisper_init_state: compute buffer (conv)=14.17 MBwhisper_init_state: computebuffer (encode) =65.96 MBwhisper_init_state: compute buffer (cross)8.50 MBwhisper_init_state: compute buffer (decode) =96.83 MBggml_metal_free: deallocatingwhisper_backend_init_gpu: device 0: Metal (type:whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)S 0: de: 21 Ctype: 1, cnt: 0)whisper_backend_init_gpu: using Metal backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init: picking default device: Apple M1ggml_metal_init:use fusion= trueggml_metal_init:use concurrency=trueggml_metal_init: use graph optimize = true883screen-zsh•HomeDMsActivityFilesLater.••More+lbl§ Support Daily • in 4h 15 m100% (8• Tue 12 May 10:45:38ED→QDescribe what you are looking forJiminny ...Galya Dimitrova6 0External connectionsMessagesC Files@ Untitled+* Starred& jiminny-x-integrati...8 platform-inner-teamGalya DimitrovaToday ~мерсиLukas Kovalik 9:39 AMможе и за interest tracking да намправя единтикетChannels# ai-chapter# alerts# backend# bugs# confusion-clinic# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Galya Dimitrova9:39 AMи там ли не работиLukas Kovalik 9:39 AMПетко ми писа че си пристига нещо мулипсваше така че трябва да видя какво дадобавя в payloadне знам още какъв точно е проблемGalya Dimitrova 9:41 AMаха. ако можеш направо сега да го гледаш чепоради различни проблеми не работи цялатасхема с нотификациите и Планхат от както смепуснали фичъра. И всеки ден след кой го кликаза да давам репорти на CS и много ми се иска даподкараме автоматизациятаLukas Kovalik 9:41 AMдобреGalya Dimitrova9:42 AMмерсито пьрво Планхат имаха бъг и ги чаках еднаседмица да го фикснат• Direct messagesR. Steliyan GeorgievPetko Kashin..% Galya DimitrovaMessage Galya Dimitrova• In a meeting • Google ...+...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
24558
|
1024
|
10
|
2026-05-12T09:25:03.825255+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778577903825_m1.jpg...
|
Slack
|
Galya Dimitrova (DM) - Jiminny Inc - 4 new items - Galya Dimitrova (DM) - Jiminny Inc - 4 new items - Slack...
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.20347223,"top":0.08111111,"width":0.025,"height":0.04},"on_screen":true,"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.19791667,"top":0.14,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20555556,"top":0.19222222,"width":0.020833334,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.19791667,"top":0.21555555,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20763889,"top":0.26777777,"width":0.016666668,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.19791667,"top":0.2911111,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20277777,"top":0.34333333,"width":0.027083334,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.20277777,"top":0.34333333,"width":0.0055555557,"height":0.015555556}},{"char_start":1,"char_count":7,"bounds":{"left":0.20763889,"top":0.34333333,"width":0.022222223,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.19791667,"top":0.36666667,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20833333,"top":0.4188889,"width":0.015972223,"height":0.015555556},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.20833333,"top":0.4188889,"width":0.004166667,"height":0.015555556}},{"char_start":1,"char_count":4,"bounds":{"left":0.2125,"top":0.4188889,"width":0.011805556,"height":0.015555556}}],"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.19791667,"top":0.4422222,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20694445,"top":0.49444443,"width":0.018055556,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.19791667,"top":0.5177778,"width":0.036111113,"height":0.075555556},"on_screen":true,"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.20694445,"top":0.57,"width":0.01875,"height":0.015555556},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.036805555,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.06111111,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.37638888,"top":0.12777779,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.26875,"top":0.12777779,"width":0.050694443,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.09166667,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.27986112,"top":0.12777779,"width":0.093055554,"height":0.0011111111},"on_screen":true,"role_description":"text"}]...
|
8120346679550298888
|
-8123165884232024457
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
SlackFileEditViewGoHistoryWindowHelpDOCKERDOCKER (-zsh)DE\kibanaasticsearch"h:9200/"}["type" : "log""@t"data"], "pid" :7, "messkibana{"type" : "log""@tasticsearch","data"],"pid":7,"messkibana1 {"type" : "log"ugins","@t"licensing"], "pid" :7,"messoasticsearch due to Error:NoLivinkibana1 {"type" : "log""@tticsearch", "data"], "pid" :7, "messagarch elasticsearch: 9200"}kibana1 {"type" : "log""@tasticsearch", "data"], "pid" :7,"messh:9200/"}kibana1 {"type": "log""@tasticsearch", "data"],"pid":7,"messkibanains"1 {"type": "log""@t,"taskManager'""taskManager"],Livingconnections"}kibana{"type" : "log""@tticsearch""data"],"pid" :7, "messagarch elasticsearch:9200*}kibana1 {"type": "log""®tasticsearch", "data"], "pid" :7,"messh:9200/ "3kibana1 {"type" : "log","@tasticsearch", "data"], "pid" :7,"messkibana1 {"type": "log""@tins","taskManager"Living connections"]"taskManager"],kibanaticsearch"1 {"type" : "log""@t),"data"], "pid" :7,"messagarchelasticsearch:9200"}kibana1 {"type" : "log""@tasticsearch", "data"],"pid" :7, "messh: 9200/"}kibana1 {"type": "log", "®t)asticsearch", "data"],"pid" :7,"messkibana1 {"type": "log", "®t)ins","taskManager""taskManager"],Living connections"}unexpected EOFkas@Lukas-Kovaliks-MacBook-Pro-JHomeDMsActivityFilesLaterMore+→Jiminny ...# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product _launches# random# releases# sofia-office# support# thank-yous# the _people_of jimi…..0 Direct messagesD. Galya Di...Ro Steliyan GeorgievPetko Kashinski O8. Aneliya Angelova&. Stefka StoyanovaVasil VasilevNikolay IvanovAneliya Angelova, ...Stoyan Tanev iLukas Kovalik y...AppsJira CloudToastGoogle Cale...lahlDescribe what you are looking forGalya DimitrovaMessages@ Files7 Untitled+Говорих със Стели да погледне някаква валидаиToday ~ 7 prophetще го види още и ако трябва за бъдеше да направиме някакьв flow12:12 image.pngj Support Daily - in 2h 35 mБГ100% (8• Tue 12 May 12:25:03Galya Dimitrova 12:12 PMок, ако е само един репорт може сега да го сетнем него на failed или нещо друго за да спре да спами сентрии да оставя тикета в беклогакак мислишLukas Kovalik 12:13 PMдобре, да му кажа да не го гледа повече на Стели?или все пак да има за backlogда взема ли това със UP ceга?Galya Dimitrova 12:14 PMда го види за беклога. Ако нещо лесно измисли може и скоро да го направимLukas Kovalik 12:14 PMhttps://jiminny.atlassian.net/browse/JY-20773Jira Cloud -User Pilot not receiving events on report generatedBug JY-20773 in Jira CloudStatusPriorityAssigneeMessage Galya DimitrovaIn a meeting • Google CalendarAa...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
25154
|
1055
|
21
|
2026-05-12T10:45:27.624720+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778582727624_m2.jpg...
|
Slack
|
platform-inner-team (Channel) - Jiminny Inc - 4 ne platform-inner-team (Channel) - Jiminny Inc - 4 new items - Slack...
|
True
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"bounds":{"left":0.5056516,"top":0.058260176,"width":0.011968086,"height":0.028731046},"on_screen":true,"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.50299203,"top":0.10055866,"width":0.017287234,"height":0.054269753},"on_screen":true,"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.50664896,"top":0.13806863,"width":0.009973404,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"bounds":{"left":0.50299203,"top":0.15482841,"width":0.017287234,"height":0.054269753},"on_screen":true,"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.50764626,"top":0.19233839,"width":0.007978723,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"bounds":{"left":0.50299203,"top":0.20909816,"width":0.017287234,"height":0.054269753},"on_screen":true,"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.4089096,"top":0.24660814,"width":0.012965426,"height":0.0103751},"on_screen":false,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"bounds":{"left":0.40658244,"top":0.26336792,"width":0.017287234,"height":0.054269753},"on_screen":false,"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.41156915,"top":0.3008779,"width":0.0076462766,"height":0.0103751},"on_screen":false,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"bounds":{"left":0.40658244,"top":0.31763768,"width":0.017287234,"height":0.054269753},"on_screen":false,"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.26363033,"top":0.35514766,"width":0.008643617,"height":0.0103751},"on_screen":false,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"bounds":{"left":0.25930852,"top":0.3719074,"width":0.017287234,"height":0.054269753},"on_screen":false,"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.2632979,"top":0.4094174,"width":0.00930851,"height":0.0103751},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"bounds":{"left":0.14228724,"top":0.09177973,"width":0.028922873,"height":0.009577015},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.19381648,"top":0.09177973,"width":0.0026595744,"height":0.008778931},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"bounds":{"left":0.14228724,"top":0.10933759,"width":0.023936171,"height":0.014365523},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"bounds":{"left":0.14760639,"top":0.20351157,"width":0.043882977,"height":0.014365523},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"bounds":{"left":0.14760639,"top":0.22585794,"width":0.044215426,"height":0.014365523},"on_screen":false,"role_description":"text"}]...
|
8120346679550298888
|
-8123165884232024457
|
visual_change
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
1
Directories
jiminny-x-integration-app
platform-inner-team
slackEditVIewTypeError: League|Flysystem|FileCloudWatch | us-east-2G Jy 20820 es reindex stream moc(UY-20725) [HubSpot) Optimise CFJY-20725 add HS rate limit handlitPipelines - jiminny/app( Pull requests • jiminny/appWJY-207731 User Pilot not receivini( Jr-20773 fix user pilot tracking forJY-207761 Automated report - seP Platform Sorint 2 02 . Platform Te@JY-20625 | JY-20742 | MCP POCЬ— Data Exoloren* (JY-20776] Automated report - ser8 Jiminny• Jy-20725 add HS rate limit handlill(SRD-6793) Les Mills activity typePlatform Team - Backlog - JiraPtly-207791 Uiser Dilot not receivinJY-20773 fix user pilot trackin xo Pipolines - jiminny/app— New TabmistoryWindowHelp.com/jiminny/app/pull/12024jiminny / app 8<> Code8? Pull requests 32 (- Agents Actions Wiki © Security and quality4Insightsộ Settings@ On April 24 we'll start using GitHub Copilot interaction data for Al model training unless you opt out. Review this update and manage your preferences in your GitHub account settings.JY-20773 fix user pilot tracking for a#12024 •83 OpenLakyLak wants to merge 2 commits into master from JY-20f) Conversation• commits 21Fl, Checks3FileJIRA: JY-20773cnanges.• Add SerializesModels traitE LakyLak and others added 2 commits 2 weeks ago@JY-20773 fix user pilot tracking ofr automated repc@Merge branch 'master' into JY-20773-fix-automated-sonaraubecloud Bot commented 19 minutes aad~ Quality Gate passedIssuesV U New issues |© 0 Accepted issuesMeasuresv O Security Hotspotsv 0.0% Coverage on New Codev 0.0% Duplication on New Codesee analvsis detalls on sonarpube CloudHomeDMSActivityLaterMoreJiminny...y• Dratts & cent8 DirectoriesAb External connectionst Starred8 jiminny-x-integrati...© platform-inner-team® Channels# ai-chapter# alertsshackendi# bugsac contusion-clinid# curiosity_lab# engineering# general# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi.... Direct messagesP Galya Dimitrova8. Steliyan Georgiev. Petko KashinskiP. Aneliya Angelovaa. Stefka Stoyanova€. Vasil VasilevC.. Nikolay Ivanov3 Aneliva Angelova…8. Stoyan Taneve. Lukas Kovalik y...#: AppsB Toastf Jira CloudQ Describe what you are looking for& platform-inner-team• MessagesChannel OverviewF RefinementsYr Files& Pinse BookmarksRetro Action ItemsUntitledVersioning Published MCP Servers - Model Context Protocol (21 KB) *Today# Support Daily - in 1h 15 m100% 28• Tue 12 May 13:45:27& 10Model Context ProtocolGalya Dimitrova 11:37 AMвсе си мисля че АИя би трябвало да рефрешва схемите/версиите и при отворен чат който стои дълго. Ще е странно да чака нов да се отвориes Last reply today at 11:45 AMVasi Vasiley 11:39 AM•И аз полозипам, че периоличко бефшоешваточно зарали такива потребители лето отварят елна сесия, пишат нешо, зарязват я, слел елна селмица се връшат на неяNikolay Yankov 11:40 AMreolied to a thread: все си міисля че дия би тоябвало ла ремите/ версиите и при отворен чат който стои лълго. ше е сто:но ла чака нов ла се отво...има нотификации в спека на мсрпримерно този и ние можем ла го имплементиоаме ла казваме на клиентите, е има нова версияModel Context ProtocoResources - Model Context Protocol (21 kB) + .Model Context ProtocolVasil Vasilev 11:41 AMаз очаквам, че по скоро при повторно отваряне / рефреш на чата агента ще провери версията, и просто ще си ребилдне контекста преди да го пратиOA 8 replies Last reply today at 1.24 PMLukas Kovalik 1:44 PMможе ли един approve https://github.com/jiminny/app/pull/12024Message & platform-inner-team+ Aa...
|
25152
|
NULL
|
NULL
|
NULL
|
|
5217
|
185
|
17
|
2026-05-07T14:59:31.240787+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778165971240_m1.jpg...
|
Firefox
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Close tab
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Pull requests · jiminny/app
Pull requests · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Collapse sidebar [
Collapse sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
[EMAIL]
For you
For you
Recent
Recent
Starred
Starred
Apps
Apps
More actions for Apps
More actions for Apps
Spaces
Spaces
Create space
Create space
More actions for spaces
More actions for spaces
Recent
Jiminny (New)
Jiminny (New)
Jiminny (New)
Create board
Create board
More actions for Jiminny (New)
More actions for Jiminny (New)
Platform Team
Platform Team
Board actions
Board actions
Capture Team
Capture Team
Board actions
Board actions
Enterprise Stability Issues 🤕
Enterprise Stability Issues 🤕
Board actions
Board actions
Processing Team
Processing Team
Board actions
Board actions
SE Kanban
SE Kanban
Board actions
Board actions
Service-Desk
Service-Desk
More actions for Service-Desk
More actions for Service-Desk
More spaces
More spaces
Filters
Filters
More actions for Filters
More actions for Filters
Dashboards
Dashboards
Create dashboard
Create dashboard
More actions for Dashboards
More actions for Dashboards
Operations
Operations
More actions for Operations
More actions for Operations
Confluence , (opens new window)
Confluence
, (opens new window)
Teams , (opens new window)
Teams
, (opens new window)
open menu
open menu
Customise sidebar
Customise sidebar
Resize side navigation panel
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Add people
Add people
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
Reports
Reports
Testing Board
Testing Board
List
List
Forms
Forms
Components
Components
Development
Development
Code
Code
8 more tabs
More
8
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Quick filters
Quick filters
Complete sprint...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Illuminate\\Queue\\MaxAttemptsExceededException: Jiminny\\Jobs\\Activity\\DeleteTeamChurnData has been attempted too many times. — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Illuminate\\Queue\\MaxAttemptsExceededException: Jiminny\\Jobs\\Activity\\DeleteTeamChurnData has been attempted too many times. — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Problem loading page","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Search the CRM - HubSpot docs","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search the CRM - HubSpot docs","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"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.16770834,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.190625,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.21388888,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.23715279,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.26041666,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to:","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse sidebar [","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Collapse sidebar [","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":11,"on_screen":true,"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas.kovalik@jiminny.com","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"For you","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"For you","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Recent","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Recent","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Starred","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Starred","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Apps","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Apps","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Apps","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Apps","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Spaces","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Spaces","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create space","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create space","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for spaces","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for spaces","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recent","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":17,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Jiminny (New)","depth":18,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXMenuButton","text":"Create board","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Create board","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Jiminny (New)","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Jiminny (New)","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Platform Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Platform Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Capture Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Capture Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Enterprise Stability Issues 🤕","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enterprise Stability Issues 🤕","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Processing Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Processing Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SE Kanban","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SE Kanban","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Service-Desk","depth":17,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Service-Desk","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Service-Desk","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Service-Desk","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More spaces","depth":17,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More spaces","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Filters","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Filters","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Filters","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Filters","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dashboards","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dashboards","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create dashboard","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create dashboard","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Dashboards","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Dashboards","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Operations","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Operations","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Operations","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Operations","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Confluence , (opens new window)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Confluence","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", (opens new window)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Teams , (opens new window)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Teams","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", (opens new window)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"open menu","depth":14,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"open menu","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Customise sidebar","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Customise sidebar","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Resize side navigation panel","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Spaces","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add people","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add people","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reports","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reports","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Testing Board","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Testing Board","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"List","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"List","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forms","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Forms","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Components","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Components","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Development","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Development","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"8 more tabs","depth":11,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"on_screen":true,"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Quick filters","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Quick filters","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8119741596714519461
|
5932770308657304584
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Close tab
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Pull requests · jiminny/app
Pull requests · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Collapse sidebar [
Collapse sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
[EMAIL]
For you
For you
Recent
Recent
Starred
Starred
Apps
Apps
More actions for Apps
More actions for Apps
Spaces
Spaces
Create space
Create space
More actions for spaces
More actions for spaces
Recent
Jiminny (New)
Jiminny (New)
Jiminny (New)
Create board
Create board
More actions for Jiminny (New)
More actions for Jiminny (New)
Platform Team
Platform Team
Board actions
Board actions
Capture Team
Capture Team
Board actions
Board actions
Enterprise Stability Issues 🤕
Enterprise Stability Issues 🤕
Board actions
Board actions
Processing Team
Processing Team
Board actions
Board actions
SE Kanban
SE Kanban
Board actions
Board actions
Service-Desk
Service-Desk
More actions for Service-Desk
More actions for Service-Desk
More spaces
More spaces
Filters
Filters
More actions for Filters
More actions for Filters
Dashboards
Dashboards
Create dashboard
Create dashboard
More actions for Dashboards
More actions for Dashboards
Operations
Operations
More actions for Operations
More actions for Operations
Confluence , (opens new window)
Confluence
, (opens new window)
Teams , (opens new window)
Teams
, (opens new window)
open menu
open menu
Customise sidebar
Customise sidebar
Resize side navigation panel
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Add people
Add people
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
Reports
Reports
Testing Board
Testing Board
List
List
Forms
Forms
Components
Components
Development
Development
Code
Code
8 more tabs
More
8
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Quick filters
Quick filters
Complete sprint...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
5220
|
185
|
20
|
2026-05-07T14:59:40.333688+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778165980333_m1.jpg...
|
Firefox
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Close tab
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Pull requests · jiminny/app
Pull requests · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Collapse sidebar [
Collapse sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
[EMAIL]
For you
For you
Recent
Recent
Starred
Starred
Apps
Apps
More actions for Apps
More actions for Apps
Spaces
Spaces
Create space
Create space
More actions for spaces
More actions for spaces
Recent
Jiminny (New)
Jiminny (New)
Jiminny (New)
Create board
Create board
More actions for Jiminny (New)
More actions for Jiminny (New)
Platform Team
Platform Team
Board actions
Board actions
Capture Team
Capture Team
Board actions
Board actions
Enterprise Stability Issues 🤕
Enterprise Stability Issues 🤕
Board actions
Board actions
Processing Team
Processing Team
Board actions
Board actions
SE Kanban
SE Kanban
Board actions
Board actions
Service-Desk
Service-Desk
More actions for Service-Desk
More actions for Service-Desk
More spaces
More spaces
Filters
Filters
More actions for Filters
More actions for Filters
Dashboards
Dashboards
Create dashboard
Create dashboard
More actions for Dashboards
More actions for Dashboards
Operations
Operations
More actions for Operations
More actions for Operations
Confluence , (opens new window)
Confluence
, (opens new window)
Teams , (opens new window)
Teams
, (opens new window)
open menu
open menu
Customise sidebar
Customise sidebar
Resize side navigation panel
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Add people
Add people
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
Reports
Reports
Testing Board
Testing Board
List
List
Forms
Forms
Components
Components
Development
Development
Code
Code
8 more tabs
More
8
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Quick filters
Quick filters
Complete sprint...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Illuminate\\Queue\\MaxAttemptsExceededException: Jiminny\\Jobs\\Activity\\DeleteTeamChurnData has been attempted too many times. — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Illuminate\\Queue\\MaxAttemptsExceededException: Jiminny\\Jobs\\Activity\\DeleteTeamChurnData has been attempted too many times. — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Problem loading page","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Search the CRM - HubSpot docs","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search the CRM - HubSpot docs","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"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.16770834,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.190625,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.21388888,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.23715279,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.26041666,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to:","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse sidebar [","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Collapse sidebar [","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":11,"on_screen":true,"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas.kovalik@jiminny.com","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"For you","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"For you","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Recent","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Recent","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Starred","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Starred","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Apps","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Apps","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Apps","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Apps","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Spaces","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Spaces","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create space","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create space","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for spaces","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for spaces","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recent","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":17,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Jiminny (New)","depth":18,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXMenuButton","text":"Create board","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Create board","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Jiminny (New)","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Jiminny (New)","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Platform Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Platform Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Capture Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Capture Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Enterprise Stability Issues 🤕","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enterprise Stability Issues 🤕","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Processing Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Processing Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SE Kanban","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SE Kanban","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Service-Desk","depth":17,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Service-Desk","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Service-Desk","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Service-Desk","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More spaces","depth":17,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More spaces","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Filters","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Filters","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Filters","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Filters","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dashboards","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dashboards","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create dashboard","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create dashboard","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Dashboards","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Dashboards","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Operations","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Operations","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Operations","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Operations","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Confluence , (opens new window)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Confluence","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", (opens new window)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Teams , (opens new window)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Teams","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", (opens new window)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"open menu","depth":14,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"open menu","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Customise sidebar","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Customise sidebar","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Resize side navigation panel","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Spaces","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add people","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add people","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reports","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reports","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Testing Board","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Testing Board","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"List","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"List","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forms","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Forms","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Components","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Components","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Development","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Development","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"8 more tabs","depth":11,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"on_screen":true,"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Quick filters","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Quick filters","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8119741596714519461
|
5932770308657304584
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Close tab
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Pull requests · jiminny/app
Pull requests · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Collapse sidebar [
Collapse sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
[EMAIL]
For you
For you
Recent
Recent
Starred
Starred
Apps
Apps
More actions for Apps
More actions for Apps
Spaces
Spaces
Create space
Create space
More actions for spaces
More actions for spaces
Recent
Jiminny (New)
Jiminny (New)
Jiminny (New)
Create board
Create board
More actions for Jiminny (New)
More actions for Jiminny (New)
Platform Team
Platform Team
Board actions
Board actions
Capture Team
Capture Team
Board actions
Board actions
Enterprise Stability Issues 🤕
Enterprise Stability Issues 🤕
Board actions
Board actions
Processing Team
Processing Team
Board actions
Board actions
SE Kanban
SE Kanban
Board actions
Board actions
Service-Desk
Service-Desk
More actions for Service-Desk
More actions for Service-Desk
More spaces
More spaces
Filters
Filters
More actions for Filters
More actions for Filters
Dashboards
Dashboards
Create dashboard
Create dashboard
More actions for Dashboards
More actions for Dashboards
Operations
Operations
More actions for Operations
More actions for Operations
Confluence , (opens new window)
Confluence
, (opens new window)
Teams , (opens new window)
Teams
, (opens new window)
open menu
open menu
Customise sidebar
Customise sidebar
Resize side navigation panel
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Add people
Add people
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
Reports
Reports
Testing Board
Testing Board
List
List
Forms
Forms
Components
Components
Development
Development
Code
Code
8 more tabs
More
8
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Quick filters
Quick filters
Complete sprint...
|
5219
|
NULL
|
NULL
|
NULL
|
|
5284
|
187
|
26
|
2026-05-07T15:06:29.458260+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-07/1778 /Users/lukas/.screenpipe/data/data/2026-05-07/1778166389458_m1.jpg...
|
Firefox
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira — Work...
|
True
|
jiminny.atlassian.net/jira/software/c/projects/JY/ jiminny.atlassian.net/jira/software/c/projects/JY/boards/37...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Close tab
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Pull requests · jiminny/app
Pull requests · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Collapse sidebar [
Collapse sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
[EMAIL]
For you
For you
Recent
Recent
Starred
Starred
Apps
Apps
More actions for Apps
More actions for Apps
Spaces
Spaces
Create space
Create space
More actions for spaces
More actions for spaces
Recent
Jiminny (New)
Jiminny (New)
Jiminny (New)
Create board
Create board
More actions for Jiminny (New)
More actions for Jiminny (New)
Platform Team
Platform Team
Board actions
Board actions
Capture Team
Capture Team
Board actions
Board actions
Enterprise Stability Issues 🤕
Enterprise Stability Issues 🤕
Board actions
Board actions
Processing Team
Processing Team
Board actions
Board actions
SE Kanban
SE Kanban
Board actions
Board actions
Service-Desk
Service-Desk
More actions for Service-Desk
More actions for Service-Desk
More spaces
More spaces
Filters
Filters
More actions for Filters
More actions for Filters
Dashboards
Dashboards
Create dashboard
Create dashboard
More actions for Dashboards
More actions for Dashboards
Operations
Operations
More actions for Operations
More actions for Operations
Confluence , (opens new window)
Confluence
, (opens new window)
Teams , (opens new window)
Teams
, (opens new window)
open menu
open menu
Customise sidebar
Customise sidebar
Resize side navigation panel
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Add people
Add people
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
Reports
Reports
Testing Board
Testing Board
List
List
Forms
Forms
Components
Components
Development
Development
Code
Code
8 more tabs
More
8
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Quick filters
Quick filters
Complete sprint...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SevenShores\\Hubspot\\Exceptions\\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {\"status\":\"error\",\"message\":\"You have reached your secondly limit.\",\"errorType\":\"RATE_LIMIT","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Service-Desk - Queues - Platform team - Service space - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Illuminate\\Queue\\MaxAttemptsExceededException: Jiminny\\Jobs\\Activity\\DeleteTeamChurnData has been attempted too many times. — jiminny — app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Illuminate\\Queue\\MaxAttemptsExceededException: Jiminny\\Jobs\\Activity\\DeleteTeamChurnData has been attempted too many times. — jiminny — app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Ask Jiminny Report Generated","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Ask Jiminny Report Generated","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Problem loading page","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Search the CRM - HubSpot docs","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search the CRM - HubSpot docs","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jiminny","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"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.16770834,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.190625,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.21388888,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.23715279,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"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.26041666,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to:","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Top Bar","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Top Bar","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sidebar","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Main Content","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Main Content","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Space navigation","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Space navigation","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse sidebar [","depth":9,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Collapse sidebar [","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Switch sites or apps","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Switch sites or apps","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Go to your Jira homepage","depth":9,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXComboBox","text":"Search, press enter to navigate to advanced search with your text query","depth":11,"on_screen":true,"help_text":"","placeholder":"Search","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Create","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Rovo Ask Rovo","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Rovo","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Notifications","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Notifications","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Settings","depth":12,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Settings","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lukas.kovalik@jiminny.com","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"For you","depth":12,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"For you","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Recent","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Recent","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Starred","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Starred","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Apps","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Apps","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Apps","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Apps","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Spaces","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Spaces","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create space","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create space","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for spaces","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for spaces","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recent","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":17,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Jiminny (New)","depth":18,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXMenuButton","text":"Create board","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Create board","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Jiminny (New)","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Jiminny (New)","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Platform Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Platform Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Capture Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Capture Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Enterprise Stability Issues 🤕","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enterprise Stability Issues 🤕","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Processing Team","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Processing Team","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SE Kanban","depth":19,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SE Kanban","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":20,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Service-Desk","depth":17,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Service-Desk","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Service-Desk","depth":18,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Service-Desk","depth":20,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More spaces","depth":17,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More spaces","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Filters","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Filters","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Filters","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Filters","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dashboards","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Dashboards","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create dashboard","depth":13,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create dashboard","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Dashboards","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Dashboards","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Operations","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Operations","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"More actions for Operations","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More actions for Operations","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Confluence , (opens new window)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Confluence","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", (opens new window)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Teams , (opens new window)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Teams","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", (opens new window)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"open menu","depth":14,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"open menu","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Customise sidebar","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Customise sidebar","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Resize side navigation panel","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Spaces","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spaces","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Jiminny (New)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny (New)","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Platform Team","depth":10,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Platform Team","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add people","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add people","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Board actions","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Board actions","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Share","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Automation","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Give feedback","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Give feedback","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Enter full screen","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter full screen","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Summary","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summary","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Timeline","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Timeline","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Backlog","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Backlog","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Active sprints","depth":13,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Active sprints","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Calendar","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Calendar","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Reports","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reports","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Testing Board","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Testing Board","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"List","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"List","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Forms","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Forms","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Components","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Components","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Development","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Development","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"8 more tabs","depth":11,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Add to navigation","depth":11,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"As you type to search or apply filters, the board updates with work items to match.","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search on current page","depth":11,"on_screen":true,"placeholder":"Search board","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Filter by assignee","depth":12,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Filter assignees by Lukas Kovalik","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Aneliya Angelova","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Ivanov","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Nikolay Nikolov","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Steliyan Georgiev","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Filter assignees by Unassigned","depth":11,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Epic","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Epic","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Type","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Type","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Quick filters","depth":13,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Quick filters","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Complete sprint","depth":10,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8119741596714519461
|
5932770308657304584
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 3 Q2 - Platform Team - Scrum Board Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 3 Q2 - Platform Team - Scrum Board - Jira
Close tab
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
SevenShores\Hubspot\Exceptions\BadRequest: Client error: `POST https://api.hubapi.com/crm/v3/objects/contact/search` resulted in a `429 Too Many Requests` response: {"status":"error","message":"You have reached your secondly limit.","errorType":"RATE_LIMIT
Service-Desk - Queues - Platform team - Service space - Jira
Service-Desk - Queues - Platform team - Service space - Jira
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Jy 20807 check various issues with stages by nikolaybiaivanov · Pull Request #12041 · jiminny/app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Illuminate\Queue\MaxAttemptsExceededException: Jiminny\Jobs\Activity\DeleteTeamChurnData has been attempted too many times. — jiminny — app
Pull requests · jiminny/app
Pull requests · jiminny/app
Userpilot | Ask Jiminny Report Generated
Userpilot | Ask Jiminny Report Generated
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
JY-20773 fix user pilot tracking ofr automated report generated by LakyLak · Pull Request #12024 · jiminny/app
Problem loading page
Problem loading page
Search the CRM - HubSpot docs
Search the CRM - HubSpot docs
Jiminny
Jiminny
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to:
Top Bar
Top Bar
Sidebar
Sidebar
Main Content
Main Content
Space navigation
Space navigation
Collapse sidebar [
Collapse sidebar [
Switch sites or apps
Switch sites or apps
Go to your Jira homepage
Search, press enter to navigate to advanced search with your text query
Create
Create
Rovo Ask Rovo
Ask Rovo
Notifications
Notifications
Help
Help
Settings
Settings
[EMAIL]
[EMAIL]
For you
For you
Recent
Recent
Starred
Starred
Apps
Apps
More actions for Apps
More actions for Apps
Spaces
Spaces
Create space
Create space
More actions for spaces
More actions for spaces
Recent
Jiminny (New)
Jiminny (New)
Jiminny (New)
Create board
Create board
More actions for Jiminny (New)
More actions for Jiminny (New)
Platform Team
Platform Team
Board actions
Board actions
Capture Team
Capture Team
Board actions
Board actions
Enterprise Stability Issues 🤕
Enterprise Stability Issues 🤕
Board actions
Board actions
Processing Team
Processing Team
Board actions
Board actions
SE Kanban
SE Kanban
Board actions
Board actions
Service-Desk
Service-Desk
More actions for Service-Desk
More actions for Service-Desk
More spaces
More spaces
Filters
Filters
More actions for Filters
More actions for Filters
Dashboards
Dashboards
Create dashboard
Create dashboard
More actions for Dashboards
More actions for Dashboards
Operations
Operations
More actions for Operations
More actions for Operations
Confluence , (opens new window)
Confluence
, (opens new window)
Teams , (opens new window)
Teams
, (opens new window)
open menu
open menu
Customise sidebar
Customise sidebar
Resize side navigation panel
Spaces
Spaces
/
Jiminny (New)
Jiminny (New)
Platform Team
Platform Team
Add people
Add people
Board actions
Board actions
Share
Automation
Give feedback
Give feedback
Enter full screen
Enter full screen
Summary
Summary
Timeline
Timeline
Backlog
Backlog
Active sprints
Active sprints
Calendar
Calendar
Reports
Reports
Testing Board
Testing Board
List
List
Forms
Forms
Components
Components
Development
Development
Code
Code
8 more tabs
More
8
Add to navigation
As you type to search or apply filters, the board updates with work items to match.
Search on current page
Filter by assignee
Filter assignees by Lukas Kovalik
Filter assignees by Aneliya Angelova
Filter assignees by Nikolay Ivanov
Filter assignees by Nikolay Nikolov
Filter assignees by Steliyan Georgiev
Filter assignees by Unassigned
Epic
Epic
Type
Type
Quick filters
Quick filters
Complete sprint...
|
NULL
|
NULL
|
NULL
|
NULL
|